From 56658e6f2daa477157a6e4f75649e4fc96617bed Mon Sep 17 00:00:00 2001 From: David Barroso Date: Fri, 28 Apr 2017 14:42:45 +0200 Subject: [PATCH 001/153] Fixed minor issue with the dummy generator --- generate_templates.py | 28 +- .../openconfig-if-aggregate/aggregation.yaml | 2 + .../openconfig-if-ethernet/ethernet.yaml | 2 + .../config/openconfig-if-ip-ext/autoconf.yaml | 2 + .../parsers/config/openconfig-if-ip/ipv4.yaml | 14 + .../parsers/config/openconfig-if-ip/ipv6.yaml | 14 + .../openconfig-interfaces/interfaces.yaml | 6 + .../network-instances.yaml | 480 ++++++++++++++++++ .../transceiver.yaml | 4 + .../openconfig-platform/components.yaml | 6 + .../config/openconfig-vlan/routed-vlan.yaml | 2 + .../config/openconfig-vlan/switched-vlan.yaml | 2 + .../parsers/config/openconfig-vlan/vlan.yaml | 2 + .../parsers/config/openconfig-vlan/vlans.yaml | 4 + .../network-instances.yaml | 2 + .../openconfig-if-aggregate/aggregation.yaml | 2 + .../openconfig-if-ethernet/ethernet.yaml | 2 + .../openconfig-if-ip-ext/autoconf.yaml | 2 + .../translators/openconfig-if-ip/ipv4.yaml | 14 + .../translators/openconfig-if-ip/ipv6.yaml | 14 + .../openconfig-interfaces/interfaces.yaml | 6 + .../network-instances.yaml | 480 ++++++++++++++++++ .../transceiver.yaml | 4 + .../openconfig-platform/components.yaml | 6 + .../openconfig-vlan/routed-vlan.yaml | 2 + .../openconfig-vlan/switched-vlan.yaml | 2 + .../translators/openconfig-vlan/vlan.yaml | 2 + .../translators/openconfig-vlan/vlans.yaml | 4 + 28 files changed, 1095 insertions(+), 15 deletions(-) diff --git a/generate_templates.py b/generate_templates.py index 0ea4b825..1b2567ff 100644 --- a/generate_templates.py +++ b/generate_templates.py @@ -33,22 +33,20 @@ def process(model, r_config, r_state): r_state[model._yang_name] = {"_process": "not_implemented"} return - for k, v in ctr: - if model._yang_name == "config": - rr_config = r_config[model._yang_name] - rr_config["_process"] = "not_implemented" - rr_state = r_state - elif v._is_config: - rr_config = r_config[model._yang_name] - rr_config["_process"] = "not_implemented" - rr_state = r_state[model._yang_name] - rr_state["_process"] = "not_implemented" - else: - rr_config = r_config - rr_state = r_state[model._yang_name] - rr_state["_process"] = "not_implemented" + if model._yang_name == "config": + r_config = r_config[ctr._yang_name] + r_config["_process"] = "not_implemented" + elif model._is_config: + r_config = r_config[ctr._yang_name] + r_config["_process"] = "not_implemented" + r_state = r_state[ctr._yang_name] + r_state["_process"] = "not_implemented" + else: + r_state = r_state[ctr._yang_name] + r_state["_process"] = "not_implemented" - process_module(v, model._defining_module, rr_config, rr_state) + for k, v in ctr: + process_module(v, model._defining_module, r_config, r_state) def process_module(model, module, r_config=None, r_state=None): diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-aggregate/aggregation.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-aggregate/aggregation.yaml index 04215d3a..78270f06 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-aggregate/aggregation.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-aggregate/aggregation.yaml @@ -10,3 +10,5 @@ aggregation: _process: not_implemented min-links: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ethernet/ethernet.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ethernet/ethernet.yaml index 19df1086..c1682bae 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ethernet/ethernet.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ethernet/ethernet.yaml @@ -16,3 +16,5 @@ ethernet: _process: not_implemented port-speed: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip-ext/autoconf.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip-ext/autoconf.yaml index 3031712e..9389d681 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip-ext/autoconf.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip-ext/autoconf.yaml @@ -14,3 +14,5 @@ autoconf: _process: not_implemented temporary-valid-lifetime: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv4.yaml index cfed01be..cd995614 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv4.yaml @@ -16,6 +16,8 @@ ipv4: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented vrrp: _process: not_implemented vrrp-group: @@ -44,6 +46,10 @@ ipv4: _process: not_implemented track-interface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-router-id: _process: not_implemented config: @@ -64,6 +70,10 @@ ipv4: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented unnumbered: _process: not_implemented config: @@ -78,3 +88,7 @@ ipv4: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv6.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv6.yaml index 80ccfe09..adbd06d4 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv6.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv6.yaml @@ -16,6 +16,8 @@ ipv6: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented vrrp: _process: not_implemented vrrp-group: @@ -46,6 +48,10 @@ ipv6: _process: not_implemented track-interface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-router-id: _process: not_implemented config: @@ -68,6 +74,10 @@ ipv6: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented unnumbered: _process: not_implemented config: @@ -82,3 +92,7 @@ ipv6: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-interfaces/interfaces.yaml index d5aa5eb1..f92d9638 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-interfaces/interfaces.yaml @@ -26,8 +26,12 @@ interfaces: _process: not_implemented up: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented subinterfaces: _process: not_implemented subinterface: @@ -44,3 +48,5 @@ interfaces: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-network-instance/network-instances.yaml index fb4853f4..c3f45206 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-network-instance/network-instances.yaml @@ -30,6 +30,10 @@ network-instances: _process: not_implemented interface-ref: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented next-hops: _process: not_implemented next-hop: @@ -48,6 +52,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented description: @@ -98,6 +110,8 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented remote: _process: not_implemented config: @@ -106,6 +120,12 @@ network-instances: _process: not_implemented virtual-circuit-identifier: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented encapsulation: _process: not_implemented config: @@ -116,6 +136,8 @@ network-instances: _process: not_implemented label-allocation-mode: _process: not_implemented + state: + _process: not_implemented fdb: _process: not_implemented config: @@ -148,8 +170,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented mac-address: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented inter-instance-policies: _process: not_implemented apply-policy: @@ -164,6 +192,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -180,6 +210,8 @@ network-instances: _process: not_implemented id: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented global: @@ -208,6 +240,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented reserved-label-blocks: _process: not_implemented reserved-label-block: @@ -222,6 +258,10 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented lsps: _process: not_implemented constrained-path: @@ -252,8 +292,12 @@ network-instances: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented tunnels: _process: not_implemented tunnel: @@ -284,6 +328,10 @@ network-instances: _process: not_implemented trigger-event-count: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented underflow: _process: not_implemented config: @@ -294,12 +342,16 @@ network-instances: _process: not_implemented underflow-threshold: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented set-bandwidth: _process: not_implemented specification-type: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented admin-status: @@ -354,6 +406,8 @@ network-instances: _process: not_implemented include-any-group: _process: not_implemented + state: + _process: not_implemented candidate-secondary-paths: _process: not_implemented candidate-secondary-path: @@ -366,6 +420,8 @@ network-instances: _process: not_implemented secondary-path: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented cspf-tiebreaker: @@ -390,6 +446,8 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented p2p-secondary-paths: _process: not_implemented p2p-secondary-path: @@ -404,6 +462,8 @@ network-instances: _process: not_implemented include-any-group: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented cspf-tiebreaker: @@ -428,6 +488,12 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented static-lsps: _process: not_implemented static-lsp: @@ -446,6 +512,8 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented ingress: _process: not_implemented config: @@ -456,8 +524,12 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented transit: _process: not_implemented config: @@ -468,8 +540,12 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented unconstrained-path: _process: not_implemented + path-setup-protocol: + _process: not_implemented signaling-protocols: _process: not_implemented rsvp-te: @@ -486,6 +562,8 @@ network-instances: _process: not_implemented restart-time: _process: not_implemented + state: + _process: not_implemented hellos: _process: not_implemented config: @@ -494,6 +572,8 @@ network-instances: _process: not_implemented refresh-reduction: _process: not_implemented + state: + _process: not_implemented soft-preemption: _process: not_implemented config: @@ -502,6 +582,10 @@ network-instances: _process: not_implemented soft-preemption-timeout: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented interface-attributes: _process: not_implemented interface: @@ -514,8 +598,12 @@ network-instances: _process: not_implemented enable: _process: not_implemented + state: + _process: not_implemented bandwidth-reservations: _process: not_implemented + bandwidth-reservation: + _process: not_implemented config: _process: not_implemented interface-id: @@ -528,6 +616,8 @@ network-instances: _process: not_implemented refresh-reduction: _process: not_implemented + state: + _process: not_implemented interface-id: _process: not_implemented interface-ref: @@ -538,6 +628,8 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented protection: _process: not_implemented config: @@ -546,20 +638,32 @@ network-instances: _process: not_implemented link-protection-style-requested: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented subscription: _process: not_implemented config: _process: not_implemented subscription: _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented + neighbor: + _process: not_implemented sessions: _process: not_implemented + session: + _process: not_implemented segment-routing: _process: not_implemented aggregate-sid-counters: _process: not_implemented + aggregate-sid-counter: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -578,8 +682,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented sid-counters: _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented te-global-attributes: _process: not_implemented mpls-admin-groups: @@ -594,6 +704,8 @@ network-instances: _process: not_implemented bit-position: _process: not_implemented + state: + _process: not_implemented srlgs: _process: not_implemented srlg: @@ -610,6 +722,8 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented static-srlg-members: _process: not_implemented members-list: @@ -622,6 +736,8 @@ network-instances: _process: not_implemented from-address: _process: not_implemented + state: + _process: not_implemented te-lsp-timers: _process: not_implemented config: @@ -632,6 +748,8 @@ network-instances: _process: not_implemented reoptimize-timer: _process: not_implemented + state: + _process: not_implemented te-interface-attributes: _process: not_implemented interface: @@ -662,6 +780,8 @@ network-instances: _process: not_implemented up-thresholds: _process: not_implemented + state: + _process: not_implemented interface-id: _process: not_implemented interface-ref: @@ -672,6 +792,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented policy-forwarding: @@ -696,6 +820,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented path-selection-groups: _process: not_implemented path-selection-group: @@ -708,6 +836,8 @@ network-instances: _process: not_implemented group-id: _process: not_implemented + state: + _process: not_implemented policies: _process: not_implemented policy: @@ -736,6 +866,8 @@ network-instances: _process: not_implemented path-selection-group: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented sequence-id: @@ -760,6 +892,8 @@ network-instances: _process: not_implemented source-ip-flow-label: _process: not_implemented + state: + _process: not_implemented l2: _process: not_implemented config: @@ -774,8 +908,12 @@ network-instances: _process: not_implemented source-mac-mask: _process: not_implemented + state: + _process: not_implemented sequence-id: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -786,6 +924,10 @@ network-instances: _process: not_implemented tcp-flags: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented protocols: _process: not_implemented protocol: @@ -812,6 +954,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -826,6 +970,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -844,6 +990,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -858,6 +1008,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -876,6 +1028,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -890,6 +1046,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -904,6 +1062,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -918,6 +1078,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -932,6 +1094,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -946,6 +1110,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -960,6 +1126,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -976,6 +1144,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -990,12 +1162,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented confederation: _process: not_implemented config: @@ -1006,6 +1184,8 @@ network-instances: _process: not_implemented member-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented as: @@ -1020,6 +1200,8 @@ network-instances: _process: not_implemented internal-route-distance: _process: not_implemented + state: + _process: not_implemented dynamic-neighbor-prefixes: _process: not_implemented dynamic-neighbor-prefix: @@ -1032,6 +1214,8 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1044,6 +1228,8 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -1060,6 +1246,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1074,12 +1264,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented neighbor: @@ -1094,6 +1290,8 @@ network-instances: _process: not_implemented send-max: _process: not_implemented + state: + _process: not_implemented afi-safis: _process: not_implemented afi-safi: @@ -1112,6 +1310,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented afi-safi-name: @@ -1124,6 +1324,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -1138,6 +1340,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -1156,6 +1360,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -1170,6 +1378,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -1188,6 +1398,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -1202,6 +1416,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -1216,6 +1432,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -1230,6 +1448,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -1244,6 +1464,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -1258,6 +1480,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -1272,6 +1496,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1284,6 +1512,10 @@ network-instances: _process: not_implemented allow-multiple-as: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented apply-policy: _process: not_implemented config: @@ -1296,6 +1528,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented as-path-options: _process: not_implemented config: @@ -1304,6 +1538,8 @@ network-instances: _process: not_implemented replace-peer-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented auth-password: @@ -1336,12 +1572,16 @@ network-instances: _process: not_implemented multihop-ttl: _process: not_implemented + state: + _process: not_implemented error-handling: _process: not_implemented config: _process: not_implemented treat-as-withdraw: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1354,12 +1594,16 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented logging-options: _process: not_implemented config: _process: not_implemented log-neighbor-state-changes: _process: not_implemented + state: + _process: not_implemented neighbor-address: _process: not_implemented route-reflector: @@ -1370,6 +1614,10 @@ network-instances: _process: not_implemented route-reflector-cluster-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1382,6 +1630,8 @@ network-instances: _process: not_implemented minimum-advertisement-interval: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -1394,6 +1644,8 @@ network-instances: _process: not_implemented tcp-mss: _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1406,6 +1658,10 @@ network-instances: _process: not_implemented allow-multiple-as: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented peer-groups: _process: not_implemented peer-group: @@ -1420,6 +1676,8 @@ network-instances: _process: not_implemented send-max: _process: not_implemented + state: + _process: not_implemented afi-safis: _process: not_implemented afi-safi: @@ -1438,6 +1696,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented afi-safi-name: @@ -1450,6 +1710,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -1464,6 +1726,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -1482,6 +1746,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -1496,6 +1764,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -1514,6 +1784,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -1528,6 +1802,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -1542,6 +1818,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -1556,6 +1834,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -1570,6 +1850,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -1584,6 +1866,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -1598,6 +1882,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -1614,6 +1900,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1628,12 +1918,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented apply-policy: _process: not_implemented config: @@ -1646,6 +1942,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented as-path-options: _process: not_implemented config: @@ -1654,6 +1952,8 @@ network-instances: _process: not_implemented replace-peer-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented auth-password: @@ -1682,12 +1982,16 @@ network-instances: _process: not_implemented multihop-ttl: _process: not_implemented + state: + _process: not_implemented error-handling: _process: not_implemented config: _process: not_implemented treat-as-withdraw: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1700,12 +2004,16 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented logging-options: _process: not_implemented config: _process: not_implemented log-neighbor-state-changes: _process: not_implemented + state: + _process: not_implemented peer-group-name: _process: not_implemented route-reflector: @@ -1716,6 +2024,10 @@ network-instances: _process: not_implemented route-reflector-cluster-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1728,6 +2040,8 @@ network-instances: _process: not_implemented minimum-advertisement-interval: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -1740,6 +2054,8 @@ network-instances: _process: not_implemented tcp-mss: _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1754,12 +2070,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented default-metric: @@ -1800,8 +2122,12 @@ network-instances: _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented authentication-check: @@ -1830,6 +2156,8 @@ network-instances: _process: not_implemented helper-only: _process: not_implemented + state: + _process: not_implemented igp-shortcuts: _process: not_implemented afi: @@ -1842,6 +2170,8 @@ network-instances: _process: not_implemented nh-type: _process: not_implemented + state: + _process: not_implemented inter-level-propagation-policies: _process: not_implemented level1-to-level2: @@ -1852,6 +2182,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented level2-to-level1: _process: not_implemented config: @@ -1860,6 +2192,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented lsp-bit: _process: not_implemented attached-bit: @@ -1870,6 +2204,8 @@ network-instances: _process: not_implemented suppress-bit: _process: not_implemented + state: + _process: not_implemented overload-bit: _process: not_implemented config: @@ -1892,6 +2228,10 @@ network-instances: _process: not_implemented reset-trigger: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented igp-ldp-sync: @@ -1902,18 +2242,24 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented nsr: _process: not_implemented config: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented reference-bandwidth: _process: not_implemented config: _process: not_implemented reference-bandwidth: _process: not_implemented + state: + _process: not_implemented segment-routing: _process: not_implemented config: @@ -1924,6 +2270,10 @@ network-instances: _process: not_implemented srlb: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1942,6 +2292,8 @@ network-instances: _process: not_implemented lsp-second-wait-interval: _process: not_implemented + state: + _process: not_implemented spf: _process: not_implemented config: @@ -1952,12 +2304,18 @@ network-instances: _process: not_implemented spf-second-interval: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: _process: not_implemented lsp-mtu-size: _process: not_implemented + state: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -1978,6 +2336,8 @@ network-instances: _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented authentication: _process: not_implemented config: @@ -1990,14 +2350,22 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented bfd: _process: not_implemented config: _process: not_implemented bfd-tlv: _process: not_implemented + state: + _process: not_implemented circuit-counters: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented circuit-type: @@ -2020,10 +2388,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented levels: _process: not_implemented level: _process: not_implemented + adjacencies: + _process: not_implemented afi-safi: _process: not_implemented af: @@ -2062,6 +2434,8 @@ network-instances: _process: not_implemented sid-id: _process: not_implemented + state: + _process: not_implemented prefix-sids: _process: not_implemented prefix-sid: @@ -2076,6 +2450,10 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented enabled: @@ -2098,24 +2476,44 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented level-number: _process: not_implemented packet-counters: _process: not_implemented cnsp: _process: not_implemented + state: + _process: not_implemented esh: _process: not_implemented + state: + _process: not_implemented iih: _process: not_implemented + state: + _process: not_implemented ish: _process: not_implemented + state: + _process: not_implemented lsp: _process: not_implemented + state: + _process: not_implemented psnp: _process: not_implemented + state: + _process: not_implemented unknown: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2124,6 +2522,10 @@ network-instances: _process: not_implemented hello-multiplier: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2132,6 +2534,8 @@ network-instances: _process: not_implemented lsp-pacing-interval: _process: not_implemented + state: + _process: not_implemented levels: _process: not_implemented level: @@ -2152,6 +2556,10 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented authentication-check: @@ -2164,6 +2572,8 @@ network-instances: _process: not_implemented level-number: _process: not_implemented + link-state-database: + _process: not_implemented route-preference: _process: not_implemented config: @@ -2172,8 +2582,14 @@ network-instances: _process: not_implemented internal-route-preference: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented system-level-counters: _process: not_implemented + state: + _process: not_implemented traffic-engineering: _process: not_implemented config: @@ -2184,6 +2600,8 @@ network-instances: _process: not_implemented ipv6-router-id: _process: not_implemented + state: + _process: not_implemented local-aggregates: _process: not_implemented aggregate: @@ -2198,6 +2616,8 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented ospfv2: @@ -2244,12 +2664,16 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented lsa-filter: _process: not_implemented config: _process: not_implemented all: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented config: @@ -2264,6 +2688,10 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented neighbor: @@ -2276,6 +2704,10 @@ network-instances: _process: not_implemented router-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2286,12 +2718,20 @@ network-instances: _process: not_implemented retransmission-interval: _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented mpls: _process: not_implemented config: _process: not_implemented traffic-engineering-enabled: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-links: _process: not_implemented virtual-link: @@ -2302,6 +2742,8 @@ network-instances: _process: not_implemented remote-router-id: _process: not_implemented + state: + _process: not_implemented global: _process: not_implemented config: @@ -2324,6 +2766,8 @@ network-instances: _process: not_implemented helper-only: _process: not_implemented + state: + _process: not_implemented inter-area-propagation-policies: _process: not_implemented inter-area-propagation-policy: @@ -2342,6 +2786,8 @@ network-instances: _process: not_implemented src-area: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented config: @@ -2356,6 +2802,12 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented lsa-generation: @@ -2366,6 +2818,8 @@ network-instances: _process: not_implemented maximum-delay: _process: not_implemented + state: + _process: not_implemented max-metric: _process: not_implemented config: @@ -2378,6 +2832,8 @@ network-instances: _process: not_implemented trigger: _process: not_implemented + state: + _process: not_implemented spf: _process: not_implemented config: @@ -2386,6 +2842,10 @@ network-instances: _process: not_implemented maximum-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented static-routes: _process: not_implemented static: @@ -2420,8 +2880,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented segment-routing: _process: not_implemented srgbs: @@ -2440,6 +2906,8 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented srlbs: _process: not_implemented srlb: @@ -2456,6 +2924,10 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented table-connections: _process: not_implemented table-connection: @@ -2478,6 +2950,8 @@ network-instances: _process: not_implemented src-protocol: _process: not_implemented + state: + _process: not_implemented tables: _process: not_implemented table: @@ -2492,6 +2966,8 @@ network-instances: _process: not_implemented protocol: _process: not_implemented + state: + _process: not_implemented vlans: _process: not_implemented vlan: @@ -2508,5 +2984,9 @@ network-instances: _process: not_implemented members: _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented vlan-id: _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-platform-transceiver/transceiver.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-platform-transceiver/transceiver.yaml index 81fba0b2..4be0c01d 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-platform-transceiver/transceiver.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-platform-transceiver/transceiver.yaml @@ -28,3 +28,7 @@ transceiver: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-platform/components.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-platform/components.yaml index c3822090..b4e8a703 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-platform/components.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-platform/components.yaml @@ -24,6 +24,10 @@ components: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented subcomponents: _process: not_implemented subcomponent: @@ -34,3 +38,5 @@ components: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/routed-vlan.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/routed-vlan.yaml index e7b63048..43f344bf 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/routed-vlan.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/routed-vlan.yaml @@ -8,3 +8,5 @@ routed-vlan: _process: not_implemented vlan: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/switched-vlan.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/switched-vlan.yaml index 1c013c45..cd9c9fea 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/switched-vlan.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/switched-vlan.yaml @@ -14,3 +14,5 @@ switched-vlan: _process: not_implemented trunk-vlans: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlan.yaml index 247d5272..35bdadb3 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlan.yaml @@ -8,3 +8,5 @@ vlan: _process: not_implemented vlan-id: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlans.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlans.yaml index 3c1c417c..8ace3077 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlans.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlans.yaml @@ -18,5 +18,9 @@ vlans: _process: not_implemented members: _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented vlan-id: _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/state/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/dummy/parsers/state/openconfig-network-instance/network-instances.yaml index b0e47566..54e273de 100644 --- a/napalm_yang/mappings/dummy/parsers/state/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/dummy/parsers/state/openconfig-network-instance/network-instances.yaml @@ -498,6 +498,8 @@ network-instances: _process: not_implemented unconstrained-path: _process: not_implemented + path-setup-protocol: + _process: not_implemented signaling-protocols: _process: not_implemented rsvp-te: diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-aggregate/aggregation.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-aggregate/aggregation.yaml index 04215d3a..78270f06 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-aggregate/aggregation.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-aggregate/aggregation.yaml @@ -10,3 +10,5 @@ aggregation: _process: not_implemented min-links: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-ethernet/ethernet.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-ethernet/ethernet.yaml index 19df1086..c1682bae 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-ethernet/ethernet.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-ethernet/ethernet.yaml @@ -16,3 +16,5 @@ ethernet: _process: not_implemented port-speed: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-ip-ext/autoconf.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-ip-ext/autoconf.yaml index 3031712e..9389d681 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-ip-ext/autoconf.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-ip-ext/autoconf.yaml @@ -14,3 +14,5 @@ autoconf: _process: not_implemented temporary-valid-lifetime: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv4.yaml index cfed01be..cd995614 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv4.yaml @@ -16,6 +16,8 @@ ipv4: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented vrrp: _process: not_implemented vrrp-group: @@ -44,6 +46,10 @@ ipv4: _process: not_implemented track-interface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-router-id: _process: not_implemented config: @@ -64,6 +70,10 @@ ipv4: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented unnumbered: _process: not_implemented config: @@ -78,3 +88,7 @@ ipv4: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv6.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv6.yaml index 80ccfe09..adbd06d4 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv6.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv6.yaml @@ -16,6 +16,8 @@ ipv6: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented vrrp: _process: not_implemented vrrp-group: @@ -46,6 +48,10 @@ ipv6: _process: not_implemented track-interface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-router-id: _process: not_implemented config: @@ -68,6 +74,10 @@ ipv6: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented unnumbered: _process: not_implemented config: @@ -82,3 +92,7 @@ ipv6: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/dummy/translators/openconfig-interfaces/interfaces.yaml index d5aa5eb1..f92d9638 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-interfaces/interfaces.yaml @@ -26,8 +26,12 @@ interfaces: _process: not_implemented up: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented subinterfaces: _process: not_implemented subinterface: @@ -44,3 +48,5 @@ interfaces: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/dummy/translators/openconfig-network-instance/network-instances.yaml index fb4853f4..c3f45206 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-network-instance/network-instances.yaml @@ -30,6 +30,10 @@ network-instances: _process: not_implemented interface-ref: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented next-hops: _process: not_implemented next-hop: @@ -48,6 +52,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented description: @@ -98,6 +110,8 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented remote: _process: not_implemented config: @@ -106,6 +120,12 @@ network-instances: _process: not_implemented virtual-circuit-identifier: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented encapsulation: _process: not_implemented config: @@ -116,6 +136,8 @@ network-instances: _process: not_implemented label-allocation-mode: _process: not_implemented + state: + _process: not_implemented fdb: _process: not_implemented config: @@ -148,8 +170,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented mac-address: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented inter-instance-policies: _process: not_implemented apply-policy: @@ -164,6 +192,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -180,6 +210,8 @@ network-instances: _process: not_implemented id: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented global: @@ -208,6 +240,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented reserved-label-blocks: _process: not_implemented reserved-label-block: @@ -222,6 +258,10 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented lsps: _process: not_implemented constrained-path: @@ -252,8 +292,12 @@ network-instances: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented tunnels: _process: not_implemented tunnel: @@ -284,6 +328,10 @@ network-instances: _process: not_implemented trigger-event-count: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented underflow: _process: not_implemented config: @@ -294,12 +342,16 @@ network-instances: _process: not_implemented underflow-threshold: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented set-bandwidth: _process: not_implemented specification-type: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented admin-status: @@ -354,6 +406,8 @@ network-instances: _process: not_implemented include-any-group: _process: not_implemented + state: + _process: not_implemented candidate-secondary-paths: _process: not_implemented candidate-secondary-path: @@ -366,6 +420,8 @@ network-instances: _process: not_implemented secondary-path: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented cspf-tiebreaker: @@ -390,6 +446,8 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented p2p-secondary-paths: _process: not_implemented p2p-secondary-path: @@ -404,6 +462,8 @@ network-instances: _process: not_implemented include-any-group: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented cspf-tiebreaker: @@ -428,6 +488,12 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented static-lsps: _process: not_implemented static-lsp: @@ -446,6 +512,8 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented ingress: _process: not_implemented config: @@ -456,8 +524,12 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented transit: _process: not_implemented config: @@ -468,8 +540,12 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented unconstrained-path: _process: not_implemented + path-setup-protocol: + _process: not_implemented signaling-protocols: _process: not_implemented rsvp-te: @@ -486,6 +562,8 @@ network-instances: _process: not_implemented restart-time: _process: not_implemented + state: + _process: not_implemented hellos: _process: not_implemented config: @@ -494,6 +572,8 @@ network-instances: _process: not_implemented refresh-reduction: _process: not_implemented + state: + _process: not_implemented soft-preemption: _process: not_implemented config: @@ -502,6 +582,10 @@ network-instances: _process: not_implemented soft-preemption-timeout: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented interface-attributes: _process: not_implemented interface: @@ -514,8 +598,12 @@ network-instances: _process: not_implemented enable: _process: not_implemented + state: + _process: not_implemented bandwidth-reservations: _process: not_implemented + bandwidth-reservation: + _process: not_implemented config: _process: not_implemented interface-id: @@ -528,6 +616,8 @@ network-instances: _process: not_implemented refresh-reduction: _process: not_implemented + state: + _process: not_implemented interface-id: _process: not_implemented interface-ref: @@ -538,6 +628,8 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented protection: _process: not_implemented config: @@ -546,20 +638,32 @@ network-instances: _process: not_implemented link-protection-style-requested: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented subscription: _process: not_implemented config: _process: not_implemented subscription: _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented + neighbor: + _process: not_implemented sessions: _process: not_implemented + session: + _process: not_implemented segment-routing: _process: not_implemented aggregate-sid-counters: _process: not_implemented + aggregate-sid-counter: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -578,8 +682,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented sid-counters: _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented te-global-attributes: _process: not_implemented mpls-admin-groups: @@ -594,6 +704,8 @@ network-instances: _process: not_implemented bit-position: _process: not_implemented + state: + _process: not_implemented srlgs: _process: not_implemented srlg: @@ -610,6 +722,8 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented static-srlg-members: _process: not_implemented members-list: @@ -622,6 +736,8 @@ network-instances: _process: not_implemented from-address: _process: not_implemented + state: + _process: not_implemented te-lsp-timers: _process: not_implemented config: @@ -632,6 +748,8 @@ network-instances: _process: not_implemented reoptimize-timer: _process: not_implemented + state: + _process: not_implemented te-interface-attributes: _process: not_implemented interface: @@ -662,6 +780,8 @@ network-instances: _process: not_implemented up-thresholds: _process: not_implemented + state: + _process: not_implemented interface-id: _process: not_implemented interface-ref: @@ -672,6 +792,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented policy-forwarding: @@ -696,6 +820,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented path-selection-groups: _process: not_implemented path-selection-group: @@ -708,6 +836,8 @@ network-instances: _process: not_implemented group-id: _process: not_implemented + state: + _process: not_implemented policies: _process: not_implemented policy: @@ -736,6 +866,8 @@ network-instances: _process: not_implemented path-selection-group: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented sequence-id: @@ -760,6 +892,8 @@ network-instances: _process: not_implemented source-ip-flow-label: _process: not_implemented + state: + _process: not_implemented l2: _process: not_implemented config: @@ -774,8 +908,12 @@ network-instances: _process: not_implemented source-mac-mask: _process: not_implemented + state: + _process: not_implemented sequence-id: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -786,6 +924,10 @@ network-instances: _process: not_implemented tcp-flags: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented protocols: _process: not_implemented protocol: @@ -812,6 +954,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -826,6 +970,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -844,6 +990,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -858,6 +1008,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -876,6 +1028,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -890,6 +1046,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -904,6 +1062,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -918,6 +1078,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -932,6 +1094,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -946,6 +1110,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -960,6 +1126,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -976,6 +1144,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -990,12 +1162,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented confederation: _process: not_implemented config: @@ -1006,6 +1184,8 @@ network-instances: _process: not_implemented member-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented as: @@ -1020,6 +1200,8 @@ network-instances: _process: not_implemented internal-route-distance: _process: not_implemented + state: + _process: not_implemented dynamic-neighbor-prefixes: _process: not_implemented dynamic-neighbor-prefix: @@ -1032,6 +1214,8 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1044,6 +1228,8 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -1060,6 +1246,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1074,12 +1264,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented neighbor: @@ -1094,6 +1290,8 @@ network-instances: _process: not_implemented send-max: _process: not_implemented + state: + _process: not_implemented afi-safis: _process: not_implemented afi-safi: @@ -1112,6 +1310,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented afi-safi-name: @@ -1124,6 +1324,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -1138,6 +1340,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -1156,6 +1360,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -1170,6 +1378,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -1188,6 +1398,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -1202,6 +1416,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -1216,6 +1432,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -1230,6 +1448,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -1244,6 +1464,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -1258,6 +1480,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -1272,6 +1496,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1284,6 +1512,10 @@ network-instances: _process: not_implemented allow-multiple-as: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented apply-policy: _process: not_implemented config: @@ -1296,6 +1528,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented as-path-options: _process: not_implemented config: @@ -1304,6 +1538,8 @@ network-instances: _process: not_implemented replace-peer-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented auth-password: @@ -1336,12 +1572,16 @@ network-instances: _process: not_implemented multihop-ttl: _process: not_implemented + state: + _process: not_implemented error-handling: _process: not_implemented config: _process: not_implemented treat-as-withdraw: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1354,12 +1594,16 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented logging-options: _process: not_implemented config: _process: not_implemented log-neighbor-state-changes: _process: not_implemented + state: + _process: not_implemented neighbor-address: _process: not_implemented route-reflector: @@ -1370,6 +1614,10 @@ network-instances: _process: not_implemented route-reflector-cluster-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1382,6 +1630,8 @@ network-instances: _process: not_implemented minimum-advertisement-interval: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -1394,6 +1644,8 @@ network-instances: _process: not_implemented tcp-mss: _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1406,6 +1658,10 @@ network-instances: _process: not_implemented allow-multiple-as: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented peer-groups: _process: not_implemented peer-group: @@ -1420,6 +1676,8 @@ network-instances: _process: not_implemented send-max: _process: not_implemented + state: + _process: not_implemented afi-safis: _process: not_implemented afi-safi: @@ -1438,6 +1696,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented afi-safi-name: @@ -1450,6 +1710,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -1464,6 +1726,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -1482,6 +1746,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -1496,6 +1764,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -1514,6 +1784,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -1528,6 +1802,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -1542,6 +1818,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -1556,6 +1834,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -1570,6 +1850,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -1584,6 +1866,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -1598,6 +1882,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -1614,6 +1900,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1628,12 +1918,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented apply-policy: _process: not_implemented config: @@ -1646,6 +1942,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented as-path-options: _process: not_implemented config: @@ -1654,6 +1952,8 @@ network-instances: _process: not_implemented replace-peer-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented auth-password: @@ -1682,12 +1982,16 @@ network-instances: _process: not_implemented multihop-ttl: _process: not_implemented + state: + _process: not_implemented error-handling: _process: not_implemented config: _process: not_implemented treat-as-withdraw: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1700,12 +2004,16 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented logging-options: _process: not_implemented config: _process: not_implemented log-neighbor-state-changes: _process: not_implemented + state: + _process: not_implemented peer-group-name: _process: not_implemented route-reflector: @@ -1716,6 +2024,10 @@ network-instances: _process: not_implemented route-reflector-cluster-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1728,6 +2040,8 @@ network-instances: _process: not_implemented minimum-advertisement-interval: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -1740,6 +2054,8 @@ network-instances: _process: not_implemented tcp-mss: _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1754,12 +2070,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented default-metric: @@ -1800,8 +2122,12 @@ network-instances: _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented authentication-check: @@ -1830,6 +2156,8 @@ network-instances: _process: not_implemented helper-only: _process: not_implemented + state: + _process: not_implemented igp-shortcuts: _process: not_implemented afi: @@ -1842,6 +2170,8 @@ network-instances: _process: not_implemented nh-type: _process: not_implemented + state: + _process: not_implemented inter-level-propagation-policies: _process: not_implemented level1-to-level2: @@ -1852,6 +2182,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented level2-to-level1: _process: not_implemented config: @@ -1860,6 +2192,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented lsp-bit: _process: not_implemented attached-bit: @@ -1870,6 +2204,8 @@ network-instances: _process: not_implemented suppress-bit: _process: not_implemented + state: + _process: not_implemented overload-bit: _process: not_implemented config: @@ -1892,6 +2228,10 @@ network-instances: _process: not_implemented reset-trigger: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented igp-ldp-sync: @@ -1902,18 +2242,24 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented nsr: _process: not_implemented config: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented reference-bandwidth: _process: not_implemented config: _process: not_implemented reference-bandwidth: _process: not_implemented + state: + _process: not_implemented segment-routing: _process: not_implemented config: @@ -1924,6 +2270,10 @@ network-instances: _process: not_implemented srlb: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1942,6 +2292,8 @@ network-instances: _process: not_implemented lsp-second-wait-interval: _process: not_implemented + state: + _process: not_implemented spf: _process: not_implemented config: @@ -1952,12 +2304,18 @@ network-instances: _process: not_implemented spf-second-interval: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: _process: not_implemented lsp-mtu-size: _process: not_implemented + state: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -1978,6 +2336,8 @@ network-instances: _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented authentication: _process: not_implemented config: @@ -1990,14 +2350,22 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented bfd: _process: not_implemented config: _process: not_implemented bfd-tlv: _process: not_implemented + state: + _process: not_implemented circuit-counters: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented circuit-type: @@ -2020,10 +2388,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented levels: _process: not_implemented level: _process: not_implemented + adjacencies: + _process: not_implemented afi-safi: _process: not_implemented af: @@ -2062,6 +2434,8 @@ network-instances: _process: not_implemented sid-id: _process: not_implemented + state: + _process: not_implemented prefix-sids: _process: not_implemented prefix-sid: @@ -2076,6 +2450,10 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented enabled: @@ -2098,24 +2476,44 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented level-number: _process: not_implemented packet-counters: _process: not_implemented cnsp: _process: not_implemented + state: + _process: not_implemented esh: _process: not_implemented + state: + _process: not_implemented iih: _process: not_implemented + state: + _process: not_implemented ish: _process: not_implemented + state: + _process: not_implemented lsp: _process: not_implemented + state: + _process: not_implemented psnp: _process: not_implemented + state: + _process: not_implemented unknown: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2124,6 +2522,10 @@ network-instances: _process: not_implemented hello-multiplier: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2132,6 +2534,8 @@ network-instances: _process: not_implemented lsp-pacing-interval: _process: not_implemented + state: + _process: not_implemented levels: _process: not_implemented level: @@ -2152,6 +2556,10 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented authentication-check: @@ -2164,6 +2572,8 @@ network-instances: _process: not_implemented level-number: _process: not_implemented + link-state-database: + _process: not_implemented route-preference: _process: not_implemented config: @@ -2172,8 +2582,14 @@ network-instances: _process: not_implemented internal-route-preference: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented system-level-counters: _process: not_implemented + state: + _process: not_implemented traffic-engineering: _process: not_implemented config: @@ -2184,6 +2600,8 @@ network-instances: _process: not_implemented ipv6-router-id: _process: not_implemented + state: + _process: not_implemented local-aggregates: _process: not_implemented aggregate: @@ -2198,6 +2616,8 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented ospfv2: @@ -2244,12 +2664,16 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented lsa-filter: _process: not_implemented config: _process: not_implemented all: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented config: @@ -2264,6 +2688,10 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented neighbor: @@ -2276,6 +2704,10 @@ network-instances: _process: not_implemented router-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2286,12 +2718,20 @@ network-instances: _process: not_implemented retransmission-interval: _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented mpls: _process: not_implemented config: _process: not_implemented traffic-engineering-enabled: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-links: _process: not_implemented virtual-link: @@ -2302,6 +2742,8 @@ network-instances: _process: not_implemented remote-router-id: _process: not_implemented + state: + _process: not_implemented global: _process: not_implemented config: @@ -2324,6 +2766,8 @@ network-instances: _process: not_implemented helper-only: _process: not_implemented + state: + _process: not_implemented inter-area-propagation-policies: _process: not_implemented inter-area-propagation-policy: @@ -2342,6 +2786,8 @@ network-instances: _process: not_implemented src-area: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented config: @@ -2356,6 +2802,12 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented lsa-generation: @@ -2366,6 +2818,8 @@ network-instances: _process: not_implemented maximum-delay: _process: not_implemented + state: + _process: not_implemented max-metric: _process: not_implemented config: @@ -2378,6 +2832,8 @@ network-instances: _process: not_implemented trigger: _process: not_implemented + state: + _process: not_implemented spf: _process: not_implemented config: @@ -2386,6 +2842,10 @@ network-instances: _process: not_implemented maximum-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented static-routes: _process: not_implemented static: @@ -2420,8 +2880,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented segment-routing: _process: not_implemented srgbs: @@ -2440,6 +2906,8 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented srlbs: _process: not_implemented srlb: @@ -2456,6 +2924,10 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented table-connections: _process: not_implemented table-connection: @@ -2478,6 +2950,8 @@ network-instances: _process: not_implemented src-protocol: _process: not_implemented + state: + _process: not_implemented tables: _process: not_implemented table: @@ -2492,6 +2966,8 @@ network-instances: _process: not_implemented protocol: _process: not_implemented + state: + _process: not_implemented vlans: _process: not_implemented vlan: @@ -2508,5 +2984,9 @@ network-instances: _process: not_implemented members: _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented vlan-id: _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-platform-transceiver/transceiver.yaml b/napalm_yang/mappings/dummy/translators/openconfig-platform-transceiver/transceiver.yaml index 81fba0b2..4be0c01d 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-platform-transceiver/transceiver.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-platform-transceiver/transceiver.yaml @@ -28,3 +28,7 @@ transceiver: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-platform/components.yaml b/napalm_yang/mappings/dummy/translators/openconfig-platform/components.yaml index c3822090..b4e8a703 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-platform/components.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-platform/components.yaml @@ -24,6 +24,10 @@ components: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented subcomponents: _process: not_implemented subcomponent: @@ -34,3 +38,5 @@ components: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-vlan/routed-vlan.yaml b/napalm_yang/mappings/dummy/translators/openconfig-vlan/routed-vlan.yaml index e7b63048..43f344bf 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-vlan/routed-vlan.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-vlan/routed-vlan.yaml @@ -8,3 +8,5 @@ routed-vlan: _process: not_implemented vlan: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-vlan/switched-vlan.yaml b/napalm_yang/mappings/dummy/translators/openconfig-vlan/switched-vlan.yaml index 1c013c45..cd9c9fea 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-vlan/switched-vlan.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-vlan/switched-vlan.yaml @@ -14,3 +14,5 @@ switched-vlan: _process: not_implemented trunk-vlans: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlan.yaml index 247d5272..35bdadb3 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlan.yaml @@ -8,3 +8,5 @@ vlan: _process: not_implemented vlan-id: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlans.yaml b/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlans.yaml index 3c1c417c..8ace3077 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlans.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlans.yaml @@ -18,5 +18,9 @@ vlans: _process: not_implemented members: _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented vlan-id: _process: not_implemented From 0ec98c9007a585088fc8f004b30082b61ed70d1d Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 14:24:07 +0200 Subject: [PATCH 002/153] Fixed an issue where recursivity didn't work as expected --- napalm_yang/helpers.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index c5ca4c18..930667f3 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -67,6 +67,17 @@ def read_yang_map(yang_prefix, attribute, profile, parser_path): return yaml.load(f.read()) +def _resolve_rule(rule, **kwargs): + if isinstance(rule, dict): + return {k: _resolve_rule(v, **kwargs) for k, v in rule.items()} + elif isinstance(rule, list): + return [_resolve_rule(e, **kwargs) for e in rule] + elif isinstance(rule, str): + return template(rule, **kwargs) + else: + return rule + + def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, parse_bookmarks=None): if isinstance(rule, list): @@ -85,13 +96,7 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, kwargs["extra_vars"] = extra_vars for k, v in rule.items(): - if isinstance(v, dict): - resolve_rule(v, attribute, keys, extra_vars, translation_model, parse_bookmarks) - elif isinstance(v, list): - for e in k: - resolve_rule(e, attribute, keys, extra_vars, translation_model, parse_bookmarks) - elif isinstance(v, str): - rule[k] = template(v, **kwargs) + rule[k] = _resolve_rule(v, **kwargs) if "when" in rule.keys(): w = rule["when"] From f5565e515c4eb7b30636ef35e84c1e6ab37708ff Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 14:26:57 +0200 Subject: [PATCH 003/153] The text parser supports creating elements manually --- napalm_yang/parsers/text.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 8be9fdcd..87a8cefe 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -1,5 +1,7 @@ from napalm_yang.parsers.base import BaseParser +import itertools + import re @@ -9,11 +11,16 @@ class TextParser(BaseParser): def _parse_list_block(cls, mapping): block_matches = re.finditer(mapping["regexp"], mapping["from"], re.MULTILINE + re.I) - for match in block_matches: - extra_vars = match.groupdict() - key = extra_vars.pop("key") - block = extra_vars.pop("block") - yield key, block, extra_vars + mandatory_elements = mapping.pop("mandatory", []) + + for match in itertools.chain(block_matches, mandatory_elements): + if isinstance(match, dict): + yield match["key"], match["block"] or "Aasd123asv", match["extra_vars"] + else: + extra_vars = match.groupdict() + key = extra_vars.pop("key") + block = extra_vars.pop("block") + yield key, block, extra_vars @classmethod def _parse_leaf_search(cls, mapping, check_default=True): From 5e42826cf5597784a0bca33c6051ac7ea314e2f0 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 17:59:48 +0200 Subject: [PATCH 004/153] TextParser now supports composite_key --- napalm_yang/parsers/text.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 87a8cefe..58f2a3ee 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -17,9 +17,15 @@ def _parse_list_block(cls, mapping): if isinstance(match, dict): yield match["key"], match["block"] or "Aasd123asv", match["extra_vars"] else: + composite_key = mapping.get("composite_key", None) + extra_vars = match.groupdict() - key = extra_vars.pop("key") block = extra_vars.pop("block") + + if composite_key: + key = " ".join([match.group(k) for k in composite_key]) + else: + key = extra_vars.pop("key") yield key, block, extra_vars @classmethod From 04ffebc49c983ff82210e8dc448998690cfd4846 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 19:35:53 +0200 Subject: [PATCH 005/153] Now we can also use lists when parsing blocks --- napalm_yang/helpers.py | 3 ++- napalm_yang/parsers/base.py | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 930667f3..40b4f192 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -81,7 +81,8 @@ def _resolve_rule(rule, **kwargs): def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, parse_bookmarks=None): if isinstance(rule, list): - raise Exception("Wrong rule for attr: {}. List can be used only on leafs".format(attribute)) + return [resolve_rule(r, attribute, keys, extra_vars, translation_model, parse_bookmarks) + for r in rule] elif isinstance(rule, str): if rule in ["unnecessary", "not_implemented"]: return {"mode": "skip", "reason": rule} diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 7a8349e5..caa94430 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -8,9 +8,12 @@ def init_config(cls, config): @classmethod def parse_list(cls, mapping): - method_name = "_parse_list_{}".format(mapping["mode"]) - for key, block, extra_vars in getattr(cls, method_name)(mapping): - yield key, block, extra_vars + mapping_rules = mapping if isinstance(mapping, list) else [mapping] + + for m in mapping_rules: + method_name = "_parse_list_{}".format(m["mode"]) + for key, block, extra_vars in getattr(cls, method_name)(m): + yield key, block, extra_vars @classmethod def parse_leaf(cls, mapping): From 5ce3652d66a2ebfb27ecae249f8abccc3a7dfd5e Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 19:36:25 +0200 Subject: [PATCH 006/153] Added forced_keys and duplicates --- napalm_yang/parser.py | 10 +++++++++- napalm_yang/parsers/text.py | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index dd956769..85497be4 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -117,7 +117,15 @@ def _parse_list(self, attribute, model, mapping): for key, block, extra_vars in self.parser.parse_list(mapping_copy["_process"]): logger.debug("Parsing element {}[{}]".format(attribute, key)) - obj = model.add(key) + + try: + obj = model.add(key) + except KeyError as e: + if "is already defined as a list entry" in e.message and \ + extra_vars.get("_allow_duplicates"): + obj = model[key] + else: + raise key_name = "{}_key".format(attribute) self.keys[key_name] = key diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 58f2a3ee..532a6982 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -18,14 +18,20 @@ def _parse_list_block(cls, mapping): yield match["key"], match["block"] or "Aasd123asv", match["extra_vars"] else: composite_key = mapping.get("composite_key", None) + forced_key = mapping.get("key", None) extra_vars = match.groupdict() block = extra_vars.pop("block") if composite_key: key = " ".join([match.group(k) for k in composite_key]) + elif forced_key: + key = forced_key else: key = extra_vars.pop("key") + + extra_vars["_allow_duplicates"] = mapping.get("duplicates", False) + yield key, block, extra_vars @classmethod From 235ee677bdd9b64325e98f2a2fbb9b91bbd56873 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 20:32:54 +0200 Subject: [PATCH 007/153] Added a way to include yaml files within yaml files --- napalm_yang/helpers.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 40b4f192..2be13d16 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -15,6 +15,17 @@ logger = logging.getLogger("napalm-yang") +def yaml_include(loader, node): + # Get the path out of the yaml file + file_name = os.path.join(os.path.dirname(loader.name), node.value) + + with file(file_name) as inputfile: + return yaml.load(inputfile) + + +yaml.add_constructor("!include", yaml_include) + + def get_parser(parser): parsers = { "TextParser": TextParser, @@ -64,7 +75,7 @@ def read_yang_map(yang_prefix, attribute, profile, parser_path): return with open(filepath, "r") as f: - return yaml.load(f.read()) + return yaml.load(f) def _resolve_rule(rule, **kwargs): From cf66f3d3f5d36fa479cfadb94f7e13ea783e4fea Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 30 Apr 2017 15:15:21 +0200 Subject: [PATCH 008/153] Added gate processor for all parsers --- napalm_yang/parser.py | 10 ++++++++++ napalm_yang/parsers/base.py | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index 85497be4..cc038da9 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -85,6 +85,16 @@ def _parse(self, attribute, model, mapping): def _parse_container(self, attribute, model, mapping): mapping["_process"] = helpers.resolve_rule(mapping["_process"], attribute, self.keys, self.extra_vars, None, self.bookmarks) + if model._yang_type is not None: + # None means it's an element of a list + block, extra_vars = self.parser.parse_container(mapping["_process"]) + + if block is None: + return + elif block != "" or extra_vars: + self.bookmarks[attribute] = block + self.extra_vars[attribute] = extra_vars + for k, v in model: logger.debug("Parsing attribute: {}".format(v._yang_path())) if self.is_config and (not v._is_config or k == "state"): diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index caa94430..d6c2050a 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -20,10 +20,19 @@ def parse_leaf(cls, mapping): method_name = "_parse_leaf_{}".format(mapping["mode"]) return getattr(cls, method_name)(mapping) + @classmethod + def parse_container(cls, mapping): + method_name = "_parse_container_{}".format(mapping["mode"]) + return getattr(cls, method_name)(mapping) + @classmethod def _parse_leaf_skip(cls, mapping): return + @classmethod + def _parse_container_skip(cls, mapping): + return "", {} + @classmethod def _parse_list_skip(cls, mapping): return {} @@ -32,6 +41,11 @@ def _parse_list_skip(cls, mapping): def _parse_leaf_value(cls, mapping): return mapping["value"] + @classmethod + def _parse_container_gate(cls, mapping): + """This basically stops parsing the tree by returning None""" + return None, {} + """ @classmethod def _parse_leaf_key(cls, mapping, texts, keys, extra_vars): From bf2dae0dfbae424903db803d2ec9937fd82fe34b Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 30 Apr 2017 15:23:57 +0200 Subject: [PATCH 009/153] not_implemented containers now stop the execution of the tree underneath --- napalm_yang/helpers.py | 4 +++- napalm_yang/parsers/base.py | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 2be13d16..beaa75d5 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -95,8 +95,10 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, return [resolve_rule(r, attribute, keys, extra_vars, translation_model, parse_bookmarks) for r in rule] elif isinstance(rule, str): - if rule in ["unnecessary", "not_implemented"]: + if rule in ["unnecessary"]: return {"mode": "skip", "reason": rule} + elif rule in ["not_implemented"]: + return {"mode": "gate", "reason": rule} else: raise Exception("Not sure what to do with rule {} on attribute {}".format(rule, attribute)) diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index d6c2050a..bb524e34 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -29,6 +29,8 @@ def parse_container(cls, mapping): def _parse_leaf_skip(cls, mapping): return + _parse_leaf_gate = _parse_leaf_skip + @classmethod def _parse_container_skip(cls, mapping): return "", {} @@ -37,6 +39,8 @@ def _parse_container_skip(cls, mapping): def _parse_list_skip(cls, mapping): return {} + _parse_list_gate = _parse_list_skip + @classmethod def _parse_leaf_value(cls, mapping): return mapping["value"] From 2f119d34ec4ce98b09abb7a8c2709eb32732e7a7 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 30 Apr 2017 17:54:07 +0200 Subject: [PATCH 010/153] Ignore profiling --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index fa7e34ca..c2058ce3 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,5 @@ test/unit/test_devices.py tags report.json + +prof/ From 53494ddfc328dc30ddf9dcc91ba1140f619382b7 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 30 Apr 2017 17:54:38 +0200 Subject: [PATCH 011/153] Adding parser rules for EOS/network-instances/bgp/static --- .../includes/afts.yaml | 54 + .../includes/bgp.yaml | 1179 +++++++++++ .../includes/isis.yaml | 508 +++++ .../includes/mpls.yaml | 584 ++++++ .../includes/ospfv2.yaml | 224 +++ .../includes/static_routes.yaml | 64 + .../network-instances.yaml | 471 +++++ .../default/config.txt | 1746 +++++++++++++++++ .../default/expected.json | 1 + test/integration/test_profiles.py | 7 +- 10 files changed, 4835 insertions(+), 3 deletions(-) create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/afts.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/isis.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/mpls.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml create mode 100755 test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/afts.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/afts.yaml new file mode 100644 index 00000000..bd462863 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/afts.yaml @@ -0,0 +1,54 @@ +_process: not_implemented +aft: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + match: + _process: not_implemented + interface-ref: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + next-hops: + _process: not_implemented + next-hop: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml new file mode 100644 index 00000000..b825caad --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -0,0 +1,1179 @@ +--- +_process: + mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" +global: + _process: unnecessary + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + confederation: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + member-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + as: + _process: + mode: search + regexp: "local-as (?P.*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + default: "{{ extra_vars.process_id|default(1) }}" + router-id: + _process: + mode: search + regexp: "router-id (?P.*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + default-route-distance: + _process: not_implemented + config: + _process: not_implemented + external-route-distance: + _process: not_implemented + internal-route-distance: + _process: not_implemented + state: + _process: not_implemented + dynamic-neighbor-prefixes: + _process: not_implemented + dynamic-neighbor-prefix: + _process: not_implemented + config: + _process: not_implemented + peer-group: + _process: not_implemented + prefix: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +neighbors: + _process: unnecessary + neighbor: + _process: + mode: block + regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + duplicates: true + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + auth-password: + _process: not_implemented + description: + _process: + mode: search + regexp: "neighbor {{ neighbor_key }} description (?P.*)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + enabled: + _process: + mode: is_absent + regexp: "neighbor {{ neighbor_key }} (?Pshutdown)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + local-as: + _process: + mode: search + regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + neighbor-address: + _process: + mode: value + value: "{{ neighbor_key }}" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + peer-as: + _process: + mode: search + regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + peer-group: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + neighbor-address: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +peer-groups: + _process: not_implemented + peer-group: + _process: not_implemented + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + description: + _process: not_implemented + local-as: + _process: not_implemented + peer-as: + _process: not_implemented + peer-group-name: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + peer-group-name: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/isis.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/isis.yaml new file mode 100644 index 00000000..463623fd --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/isis.yaml @@ -0,0 +1,508 @@ +--- +_process: not_implemented +global: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + multi-topology: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + fast-flooding: + _process: not_implemented + iid-tlv: + _process: not_implemented + instance: + _process: not_implemented + level-capability: + _process: not_implemented + max-ecmp-paths: + _process: not_implemented + maximum-area-addresses: + _process: not_implemented + net: + _process: not_implemented + poi-tlv: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + afi: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + nh-type: + _process: not_implemented + state: + _process: not_implemented + inter-level-propagation-policies: + _process: not_implemented + level1-to-level2: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + level2-to-level1: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + lsp-bit: + _process: not_implemented + attached-bit: + _process: not_implemented + config: + _process: not_implemented + ignore-bit: + _process: not_implemented + suppress-bit: + _process: not_implemented + state: + _process: not_implemented + overload-bit: + _process: not_implemented + config: + _process: not_implemented + advertise-high-metric: + _process: not_implemented + set-bit: + _process: not_implemented + set-bit-on-boot: + _process: not_implemented + reset-triggers: + _process: not_implemented + reset-trigger: + _process: not_implemented + config: + _process: not_implemented + delay: + _process: not_implemented + reset-trigger: + _process: not_implemented + reset-trigger: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + nsr: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + config: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + state: + _process: not_implemented + segment-routing: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + srgb: + _process: not_implemented + srlb: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + lsp-lifetime-interval: + _process: not_implemented + lsp-refresh-interval: + _process: not_implemented + lsp-generation: + _process: not_implemented + config: + _process: not_implemented + lsp-first-wait-interval: + _process: not_implemented + lsp-max-wait-interval: + _process: not_implemented + lsp-second-wait-interval: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + spf-first-interval: + _process: not_implemented + spf-hold-interval: + _process: not_implemented + spf-second-interval: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + lsp-mtu-size: + _process: not_implemented + state: + _process: not_implemented +interfaces: + _process: not_implemented + interface: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + bfd: + _process: not_implemented + config: + _process: not_implemented + bfd-tlv: + _process: not_implemented + state: + _process: not_implemented + circuit-counters: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + circuit-type: + _process: not_implemented + enabled: + _process: not_implemented + hello-padding: + _process: not_implemented + interface-id: + _process: not_implemented + passive: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + levels: + _process: not_implemented + level: + _process: not_implemented + adjacencies: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + segment-routing: + _process: not_implemented + adjacency-sids: + _process: not_implemented + adjacency-sid: + _process: not_implemented + config: + _process: not_implemented + group: + _process: not_implemented + neighbor: + _process: not_implemented + protection-eligible: + _process: not_implemented + sid-id: + _process: not_implemented + neighbor: + _process: not_implemented + sid-id: + _process: not_implemented + state: + _process: not_implemented + prefix-sids: + _process: not_implemented + prefix-sid: + _process: not_implemented + config: + _process: not_implemented + label-options: + _process: not_implemented + prefix: + _process: not_implemented + sid-id: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + hello-authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + level-number: + _process: not_implemented + packet-counters: + _process: not_implemented + cnsp: + _process: not_implemented + state: + _process: not_implemented + esh: + _process: not_implemented + state: + _process: not_implemented + iih: + _process: not_implemented + state: + _process: not_implemented + ish: + _process: not_implemented + state: + _process: not_implemented + lsp: + _process: not_implemented + state: + _process: not_implemented + psnp: + _process: not_implemented + state: + _process: not_implemented + unknown: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + hello-multiplier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + csnp-interval: + _process: not_implemented + lsp-pacing-interval: + _process: not_implemented + state: + _process: not_implemented +levels: + _process: not_implemented + level: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + csnp-authentication: + _process: not_implemented + lsp-authentication: + _process: not_implemented + psnp-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + metric-style: + _process: not_implemented + level-number: + _process: not_implemented + link-state-database: + _process: not_implemented + route-preference: + _process: not_implemented + config: + _process: not_implemented + external-route-preference: + _process: not_implemented + internal-route-preference: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + system-level-counters: + _process: not_implemented + state: + _process: not_implemented + traffic-engineering: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ipv4-router-id: + _process: not_implemented + ipv6-router-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/mpls.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/mpls.yaml new file mode 100644 index 00000000..ba853c58 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/mpls.yaml @@ -0,0 +1,584 @@ +--- +_process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + null-label: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + mpls-enabled: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + reserved-label-blocks: + _process: not_implemented + reserved-label-block: + _process: not_implemented + config: + _process: not_implemented + local-id: + _process: not_implemented + lower-bound: + _process: not_implemented + upper-bound: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +lsps: + _process: not_implemented + constrained-path: + _process: not_implemented + named-explicit-paths: + _process: not_implemented + named-explicit-path: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + sid-protection-required: + _process: not_implemented + sid-selection-mode: + _process: not_implemented + explicit-route-objects: + _process: not_implemented + explicit-route-object: + _process: not_implemented + config: + _process: not_implemented + address: + _process: not_implemented + hop-type: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + tunnels: + _process: not_implemented + tunnel: + _process: not_implemented + bandwidth: + _process: not_implemented + auto-bandwidth: + _process: not_implemented + config: + _process: not_implemented + adjust-interval: + _process: not_implemented + adjust-threshold: + _process: not_implemented + enabled: + _process: not_implemented + max-bw: + _process: not_implemented + min-bw: + _process: not_implemented + overflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + overflow-threshold: + _process: not_implemented + trigger-event-count: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + underflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + trigger-event-count: + _process: not_implemented + underflow-threshold: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + set-bandwidth: + _process: not_implemented + specification-type: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + admin-status: + _process: not_implemented + description: + _process: not_implemented + hold-priority: + _process: not_implemented + metric: + _process: not_implemented + metric-type: + _process: not_implemented + name: + _process: not_implemented + preference: + _process: not_implemented + protection-style-requested: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + shortcut-eligible: + _process: not_implemented + signaling-protocol: + _process: not_implemented + soft-preemption: + _process: not_implemented + source: + _process: not_implemented + type: + _process: not_implemented + name: + _process: not_implemented + p2p-tunnel-attributes: + _process: not_implemented + config: + _process: not_implemented + destination: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + candidate-secondary-paths: + _process: not_implemented + candidate-secondary-path: + _process: not_implemented + config: + _process: not_implemented + priority: + _process: not_implemented + secondary-path: + _process: not_implemented + secondary-path: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + p2p-secondary-paths: + _process: not_implemented + p2p-secondary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + static-lsps: + _process: not_implemented + static-lsp: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + egress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + ingress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + transit: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + unconstrained-path: + _process: not_implemented + path-setup-protocol: + _process: not_implemented +signaling-protocols: + _process: not_implemented + rsvp-te: + _process: not_implemented + global: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + recovery-time: + _process: not_implemented + restart-time: + _process: not_implemented + state: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + soft-preemption: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + soft-preemption-timeout: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + authentication-key: + _process: not_implemented + enable: + _process: not_implemented + state: + _process: not_implemented + bandwidth-reservations: + _process: not_implemented + bandwidth-reservation: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + protection: + _process: not_implemented + config: + _process: not_implemented + bypass-optimize-interval: + _process: not_implemented + link-protection-style-requested: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + subscription: + _process: not_implemented + config: + _process: not_implemented + subscription: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + sessions: + _process: not_implemented + session: + _process: not_implemented + segment-routing: + _process: not_implemented + aggregate-sid-counters: + _process: not_implemented + aggregate-sid-counter: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + sid-counters: + _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented +te-global-attributes: + _process: not_implemented + mpls-admin-groups: + _process: not_implemented + admin-group: + _process: not_implemented + admin-group-name: + _process: not_implemented + config: + _process: not_implemented + admin-group-name: + _process: not_implemented + bit-position: + _process: not_implemented + state: + _process: not_implemented + srlgs: + _process: not_implemented + srlg: + _process: not_implemented + config: + _process: not_implemented + cost: + _process: not_implemented + flooding-type: + _process: not_implemented + name: + _process: not_implemented + value: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + static-srlg-members: + _process: not_implemented + members-list: + _process: not_implemented + config: + _process: not_implemented + from-address: + _process: not_implemented + to-address: + _process: not_implemented + from-address: + _process: not_implemented + state: + _process: not_implemented + te-lsp-timers: + _process: not_implemented + config: + _process: not_implemented + cleanup-delay: + _process: not_implemented + install-delay: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + state: + _process: not_implemented +te-interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + admin-group: + _process: not_implemented + interface-id: + _process: not_implemented + srlg-membership: + _process: not_implemented + te-metric: + _process: not_implemented + igp-flooding-bandwidth: + _process: not_implemented + config: + _process: not_implemented + delta-percentage: + _process: not_implemented + down-thresholds: + _process: not_implemented + threshold-specification: + _process: not_implemented + threshold-type: + _process: not_implemented + up-down-thresholds: + _process: not_implemented + up-thresholds: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml new file mode 100644 index 00000000..adf0afef --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml @@ -0,0 +1,224 @@ +--- +_process: not_implemented +areas: + _process: not_implemented + area: + _process: not_implemented + config: + _process: not_implemented + identifier: + _process: not_implemented + identifier: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + authentication-type: + _process: not_implemented + hide-network: + _process: not_implemented + id: + _process: not_implemented + metric: + _process: not_implemented + multi-area-adjacency-primary: + _process: not_implemented + network-type: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + lsa-filter: + _process: not_implemented + config: + _process: not_implemented + all: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-metric: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + config: + _process: not_implemented + metric: + _process: not_implemented + router-id: + _process: not_implemented + router-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + dead-interval: + _process: not_implemented + hello-interval: + _process: not_implemented + retransmission-interval: + _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-enabled: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + virtual-links: + _process: not_implemented + virtual-link: + _process: not_implemented + config: + _process: not_implemented + remote-router-id: + _process: not_implemented + remote-router-id: + _process: not_implemented + state: + _process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + hide-transit-only-networks: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + log-adjacency-changes: + _process: not_implemented + router-id: + _process: not_implemented + summary-route-cost-mode: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + inter-area-propagation-policies: + _process: not_implemented + inter-area-propagation-policy: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-area: + _process: not_implemented + import-policy: + _process: not_implemented + src-area: + _process: not_implemented + dst-area: + _process: not_implemented + src-area: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-extensions: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + lsa-generation: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented + max-metric: + _process: not_implemented + config: + _process: not_implemented + include: + _process: not_implemented + set: + _process: not_implemented + timeout: + _process: not_implemented + trigger: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml new file mode 100644 index 00000000..8aeef966 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -0,0 +1,64 @@ +--- +_process: + mode: gate + when: "{{ protocol_key != 'static static' }}" +static: + _process: + - mode: block + regexp: "(?Pip route (?P\\d+.*\\/\\d+).*)" + from: "{{ bookmarks['network-instances'][0] }}" + when: "{{ network_instance_key == 'global' }}" + duplicates: true + - mode: block + regexp: "(?Pip route vrf {{ network_instance_key }} (?P\\d+.*\\/\\d+).*)" + from: "{{ bookmarks['network-instances'][0] }}" + when: "{{ network_instance_key != 'global' }}" + duplicates: true + config: + _process: not_implemented + prefix: + _process: + mode: value + value: "{{ static_key }}" + set-tag: + _process: not_implemented + next-hops: + _process: unnecessary + next-hop: + _process: + - mode: block + regexp: "(?Pip route (vrf {{ network_instance_key }} )*{{ static_key }} (?P\\d+.\\d+.\\d+.\\d+) (?P\\d+) tag (?P\\d+))" + from: "{{ bookmarks['static'][static_key] }}" + config: + _process: unnecessary + index: + _process: not_implemented + metric: + _process: + mode: value + value: "{{ extra_vars.metric }}" + next-hop: + _process: + mode: value + value: "{{ next_hop_key }}" + recurse: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml new file mode 100644 index 00000000..088b11d4 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -0,0 +1,471 @@ +--- +metadata: + processor: TextParser + execute: + - method: cli + args: + commands: ["show running-config all"] + +network-instances: + _process: unnecessary + network-instance: + _process: + mode: block + regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + mandatory: + - key: "global" + block: "" + extra_vars: {} + afts: !include includes/afts.yaml + config: + _process: unnecessary + description: + _process: + mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.parent }}" + enabled: + _process: + mode: value + value: true + enabled-address-families: + _process: not_implemented + mtu: + _process: not_implemented + name: + _process: unnecessary + route-distinguisher: + _process: + mode: search + regexp: "rd (?P.*)" + from: "{{ bookmarks.parent }}" + router-id: + _process: not_implemented + type: + _process: + mode: value + value: L3VRF + connection-points: + _process: not_implemented + connection-point: + _process: not_implemented + config: + _process: not_implemented + connection-point-id: + _process: not_implemented + connection-point-id: + _process: not_implemented + endpoints: + _process: not_implemented + endpoint: + _process: not_implemented + config: + _process: not_implemented + endpoint-id: + _process: not_implemented + precedence: + _process: not_implemented + type: + _process: not_implemented + endpoint-id: + _process: not_implemented + local: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + remote: + _process: not_implemented + config: + _process: not_implemented + remote-system: + _process: not_implemented + virtual-circuit-identifier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + encapsulation: + _process: not_implemented + config: + _process: not_implemented + control-word: + _process: not_implemented + encapsulation-type: + _process: not_implemented + label-allocation-mode: + _process: not_implemented + state: + _process: not_implemented + fdb: + _process: not_implemented + config: + _process: not_implemented + mac-aging-time: + _process: not_implemented + mac-learning: + _process: not_implemented + maximum-entries: + _process: not_implemented + mac-table: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + mac-address: + _process: not_implemented + vlan: + _process: not_implemented + interface: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + mac-address: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + inter-instance-policies: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + interfaces: + _process: unnecessary + interface: + _process: not_implemented + config: + _process: not_implemented + associated-address-families: + _process: not_implemented + id: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + id: + _process: not_implemented + state: + _process: not_implemented + mpls: !include includes/mpls.yaml + name: + _process: not_implemented + policy-forwarding: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + apply-forwarding-policy: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + path-selection-groups: + _process: not_implemented + path-selection-group: + _process: not_implemented + config: + _process: not_implemented + group-id: + _process: not_implemented + mpls-lsp: + _process: not_implemented + group-id: + _process: not_implemented + state: + _process: not_implemented + policies: + _process: not_implemented + policy: + _process: not_implemented + config: + _process: not_implemented + policy-id: + _process: not_implemented + policy-id: + _process: not_implemented + rules: + _process: not_implemented + rule: + _process: not_implemented + action: + _process: not_implemented + config: + _process: not_implemented + decapsulate-gre: + _process: not_implemented + discard: + _process: not_implemented + network-instance: + _process: not_implemented + next-hop: + _process: not_implemented + path-selection-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + sequence-id: + _process: not_implemented + ip: + _process: not_implemented + config: + _process: not_implemented + destination-ip-address: + _process: not_implemented + destination-ip-flow-label: + _process: not_implemented + dscp: + _process: not_implemented + hop-limit: + _process: not_implemented + ip-version: + _process: not_implemented + protocol: + _process: not_implemented + source-ip-address: + _process: not_implemented + source-ip-flow-label: + _process: not_implemented + state: + _process: not_implemented + l2: + _process: not_implemented + config: + _process: not_implemented + destination-mac: + _process: not_implemented + destination-mac-mask: + _process: not_implemented + ethertype: + _process: not_implemented + source-mac: + _process: not_implemented + source-mac-mask: + _process: not_implemented + state: + _process: not_implemented + sequence-id: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + destination-port: + _process: not_implemented + source-port: + _process: not_implemented + tcp-flags: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + protocols: + _process: unnecessary + protocol: + _process: + - mode: block + regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" + from: "{{ bookmarks['network-instances'][0] }}" + composite_key: [protocol_name, protocol_name] + when: "{{ network_instance_key == 'global' }}" + - mode: block + regexp: "router (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?^ (?Pvrf {{ network_instance_key }}\n(?:.|\n)*?)^(!| vrf.*)$" + from: "{{ bookmarks['network-instances'][0] }}" + composite_key: [protocol_name, protocol_name] + when: "{{ network_instance_key != 'global' }}" + - mode: block + regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + key: "static static" + bgp: !include includes/bgp.yaml + config: + _process: not_implemented + default-metric: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + name: + _process: not_implemented + identifier: + _process: unnecessary + isis: !include includes/isis.yaml + local-aggregates: + _process: not_implemented + aggregate: + _process: not_implemented + config: + _process: not_implemented + discard: + _process: not_implemented + prefix: + _process: not_implemented + set-tag: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + name: + _process: unnecessary + ospfv2: !include includes/ospfv2.yaml + state: + _process: not_implemented + static-routes: !include includes/static_routes.yaml + segment-routing: + _process: not_implemented + srgbs: + _process: not_implemented + srgb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefixes: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-blocks: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + srlbs: + _process: not_implemented + srlb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefix: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-block: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + table-connections: + _process: not_implemented + table-connection: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-protocol: + _process: not_implemented + import-policy: + _process: not_implemented + src-protocol: + _process: not_implemented + dst-protocol: + _process: not_implemented + src-protocol: + _process: not_implemented + state: + _process: not_implemented + tables: + _process: not_implemented + table: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + protocol: + _process: not_implemented + protocol: + _process: not_implemented + state: + _process: not_implemented + vlans: + _process: not_implemented + vlan: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + status: + _process: not_implemented + tpid: + _process: not_implemented + vlan-id: + _process: not_implemented + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt new file mode 100755 index 00000000..52cc0e1e --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt @@ -0,0 +1,1746 @@ +! Command: show running-config all +! device: localhost (vEOS, EOS-4.15.2.1F) +! +! boot system flash:/vEOS-lab.swi +! +hardware access-list ipv6 implicit-permit icmpv6 all +! +no deep-inspection payload l2 skip +no deep-inspection payload l4 skip +! +agent fatal-error action reload +! +bfd slow-timer 2000 +bfd interval 300 min_rx 300 multiplier 3 default +! +prompt %H%R%v%P +no service configuration session max completed +no service configuration session max pending +! +schedule config max-concurrent-jobs 1 +schedule tech-support interval 60 max-log-files 100 command show tech-support +! +no logging event storm-control discards global +no logging event storm-control discards interval +! +cvx + shutdown + port 9979 + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 + service hsc + vtep flood list type any + service openstack + shutdown + grace-period 60 + name-resolution interval 21600 + service vxlan + shutdown + vtep mac-learning control-plane + resync-period 300 +! +no dcbx application +! +no ip dhcp relay information option +no ip dhcp relay always-on +no ip dhcp smart-relay global +! +no ip dhcp snooping +no ip dhcp snooping information option +ip dhcp snooping information option circuit-id type 0 format %p:%v +! +default switch forwarding-mode +! +vlan internal allocation policy ascending +! +email + no from-user + no server + no auth username + no auth password + no tls +! +errdisable detect cause arp-inspection +errdisable detect cause link-flap +no errdisable recovery cause arp-inspection +no errdisable recovery cause bpduguard +no errdisable recovery cause hitless-reload-down +no errdisable recovery cause link-flap +no errdisable recovery cause loopprotectguard +no errdisable recovery cause no-internal-vlan +no errdisable recovery cause portchannelguard +no errdisable recovery cause portsec +no errdisable recovery cause tapagg +no errdisable recovery cause uplink-failure-detection +no errdisable recovery cause xcvr-unsupported +errdisable recovery interval 300 +! +event-handler dhclient + trigger on-boot + action bash sudo /mnt/flash/initialize_ma1.sh + delay 20 + no asynchronous + timeout 10 +! +ip igmp snooping +no ip igmp snooping report-flooding +ip igmp snooping robustness-variable 2 +no ip igmp snooping restart query-interval +ip igmp snooping immediate-leave +default ip igmp snooping vlan 1 +default ip igmp snooping vlan 1 querier +no ip igmp snooping vlan 1 querier address +no ip igmp snooping vlan 1 querier query-interval +no ip igmp snooping vlan 1 querier max-response-time +no ip igmp snooping vlan 1 querier last-member-query-interval +no ip igmp snooping vlan 1 querier last-member-query-count +no ip igmp snooping vlan 1 querier startup-query-interval +no ip igmp snooping vlan 1 querier startup-query-count +no ip igmp snooping vlan 1 querier version +no ip igmp snooping vlan 1 max-groups +default ip igmp snooping vlan 1 immediate-leave +no ip igmp snooping querier +no ip igmp snooping querier address +ip igmp snooping querier query-interval 125 +ip igmp snooping querier max-response-time 10 +ip igmp snooping querier last-member-query-interval 1 +no ip igmp snooping querier last-member-query-count +no ip igmp snooping querier startup-query-interval +no ip igmp snooping querier startup-query-count +no ip igmp snooping querier version +! +default logging event congestion-drops +! +no service interface inactive expose +! +no service interface unconnected expose +! +default load-interval default +! +transceiver qsfp default-mode 4x10G +! +ip pim log-neighbor-changes +no ip pim bfd +no ip pim ssm range +ip pim sparse-mode sg-expiry-timer 210 +ip pim spt-threshold 0 +! +ip msdp timer 30 +! +no ip pim rp-candidate +no ip pim bsr-holdtime +no ip pim bsr-sztimeout +no ip pim bsr-candidate +no ip pim bsr rp-candidate advertisement-filter +! +no ip pim register-source +! +lacp system-priority 32768 +! +no queue-monitor length +no queue-monitor length notifying +! +queue-monitor length global-buffer thresholds 512 256 +no queue-monitor length mirror +! +queue-monitor length global-buffer +! +errdisable flap-setting cause link-flap max-flaps 5 time 10 +! +lldp timer 30 +lldp holdtime 120 +lldp reinit 2 +lldp tlv-select link-aggregation +lldp tlv-select management-address +lldp tlv-select max-frame-size +lldp tlv-select port-description +lldp tlv-select port-vlan +lldp tlv-select system-capabilities +lldp tlv-select system-description +lldp tlv-select system-name +lldp run +no lldp management-address +! +logging on +logging buffered 32 debugging +logging trap informational +logging console errors +no logging synchronous +logging format timestamp traditional +no logging format hostname fqdn +logging facility local4 +no logging source-interface +! +logging level AAA debugging +logging level ACCOUNTING debugging +logging level ACL debugging +logging level AGENT debugging +logging level ALE debugging +logging level ARP debugging +logging level BFD debugging +logging level BGP debugging +logging level CAPACITY debugging +logging level CAPI debugging +logging level CLEAR debugging +logging level DATAPLANE debugging +logging level DOT1X debugging +logging level ENVMON debugging +logging level ETH debugging +logging level EVENTMON debugging +logging level EXTENSION debugging +logging level FHRP debugging +logging level FLOW debugging +logging level FORWARDING debugging +logging level FRU debugging +logging level FWK debugging +logging level GMP debugging +logging level HARDWARE debugging +logging level IGMP debugging +logging level IGMPSNOOPING debugging +logging level INTF debugging +logging level IP6ROUTING debugging +logging level IRA debugging +logging level ISIS debugging +logging level KERNELFIB debugging +logging level LACP debugging +logging level LAG debugging +logging level LAUNCHER debugging +logging level LINEPROTO debugging +logging level LLDP debugging +logging level LOGMGR debugging +logging level LOOPBACK debugging +logging level LOOPPROTECT debugging +logging level MAPREDUCEMONITOR debugging +logging level MDIO debugging +logging level MIRRORING debugging +logging level MLAG debugging +logging level MMODE debugging +logging level MROUTE debugging +logging level MRP debugging +logging level MSDP debugging +logging level MSRP debugging +logging level MVRP debugging +logging level NAT debugging +logging level OPENFLOW debugging +logging level OSPF debugging +logging level OSPF3 debugging +logging level PFC debugging +logging level PIM debugging +logging level PIMBSR debugging +logging level PORTSECURITY debugging +logging level PTP debugging +logging level PWRMGMT debugging +logging level QOS debugging +logging level QUEUEMONITOR debugging +logging level REACHABILITYMONITOR debugging +logging level REDUNDANCY debugging +logging level RIB debugging +logging level ROUTING debugging +logging level SECURITY debugging +logging level SERVERMONITOR debugging +logging level SPANTREE debugging +logging level STAGEMGR debugging +logging level SYS debugging +logging level SYSDB debugging +logging level TAPAGG debugging +logging level TCP debugging +logging level TRANSCEIVER debugging +logging level TUNNEL debugging +logging level VM debugging +logging level VMTRACERSESS debugging +logging level VMWAREVI debugging +logging level VMWAREVS debugging +logging level VRF debugging +logging level VRRP debugging +logging level VXLAN debugging +logging level XMPP debugging +logging level ZTP debugging +! +logging event link-status global +! +no ip virtual-router mac-address mlag-peer +! +no msrp streams load-file +! +no hostname +no ip domain lookup source-interface +no ip name-server +no ip domain-name +no ip host +no ipv6 host +! +no ntp trusted-key +no ntp authenticate +no ntp serve all +! +power poll-interval 5 +! +no radius-server key +radius-server timeout 5 +radius-server retransmit 3 +no radius-server deadtime +no radius-server attribute 32 include-in-access-req format +! +router msdp + vrf devel + ip msdp timer 30 + ! + vrf prod + ip msdp timer 30 +! +sflow sample 1048576 +sflow polling-interval 2 +no sflow source +no sflow source-interface +sflow sample output interface +sflow extension switch +sflow extension router +no sflow sample rewrite dscp +no sflow run +! +no sflow extension bgp +! +no snmp-server engineID local +no snmp-server chassis-id +no snmp-server contact +no snmp-server location +no snmp-server source-interface +default snmp-server enable traps +default snmp-server enable traps bgp +default snmp-server enable traps bgp arista-backward-transition +default snmp-server enable traps bgp arista-established +default snmp-server enable traps bgp backward-transition +default snmp-server enable traps bgp established +default snmp-server enable traps entity +default snmp-server enable traps entity arista-ent-sensor-alarm +default snmp-server enable traps entity ent-config-change +default snmp-server enable traps entity ent-state-oper-disabled +default snmp-server enable traps entity ent-state-oper-enabled +default snmp-server enable traps lldp +default snmp-server enable traps lldp rem-tables-change +default snmp-server enable traps msdp +default snmp-server enable traps msdp backward-transition +default snmp-server enable traps msdp established +default snmp-server enable traps ospf +default snmp-server enable traps ospf if-auth-failure +default snmp-server enable traps ospf if-config-error +default snmp-server enable traps ospf if-state-change +default snmp-server enable traps ospf nbr-state-change +default snmp-server enable traps pim +default snmp-server enable traps pim neighbor-loss +default snmp-server enable traps snmp +default snmp-server enable traps snmp authentication +default snmp-server enable traps snmp link-down +default snmp-server enable traps snmp link-up +default snmp-server enable traps snmpConfigManEvent +default snmp-server enable traps snmpConfigManEvent arista-config-man-event +default snmp-server enable traps switchover +default snmp-server enable traps switchover arista-redundancy-switch-over-notif +default snmp-server enable traps test +default snmp-server enable traps test arista-test-notification +default snmp-server enable traps vrrp +default snmp-server enable traps vrrp trap-new-master +snmp-server vrf default +! +spanning-tree mode mstp +spanning-tree hello-time 2000 +spanning-tree max-age 20 +spanning-tree forward-time 15 +spanning-tree transmit hold-count 6 +spanning-tree max-hops 20 +no spanning-tree mst pvst border +no spanning-tree portfast bpduguard default +no spanning-tree portfast bpdufilter default +spanning-tree bridge assurance +no spanning-tree loopguard default +no spanning-tree portchannel guard misconfig +spanning-tree bpduguard rate-limit default +logging event spanning-tree global +spanning-tree mst 0 priority 32768 +! +spanning-tree mst configuration + no name + revision 0 +! +no service sequence-numbers +no service running-config timestamp +! +no tacacs-server key +tacacs-server timeout 5 +! +aaa authentication login default local +no aaa authentication login console +aaa authentication enable default local +no aaa authentication policy on-success log +no aaa authentication policy on-failure log +no aaa authorization console +aaa authorization exec default local +no aaa authorization commands all default +aaa authorization config-commands +no aaa accounting exec console +no aaa accounting commands all console +no aaa accounting exec default +no aaa accounting system default +no aaa accounting dot1x default +no aaa accounting commands all default +! +no enable secret +aaa root secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP. +no aaa authentication policy local allow-nopassword-remote-login +no aaa authorization policy local default-role +! +username admin privilege 15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1 +username vagrant privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0 +! +role network-admin + 10 permit command .* +! +role network-operator + 10 deny mode exec command configure|bash|python-shell|\| + 20 permit mode exec command .* +! +tap aggregation + no mode + no service-policy type tapagg mac access-list match ip +! +environment overheat action shutdown +environment insufficient-fans action shutdown +environment fan-speed auto +! +clock timezone UTC +! +no virtual-cable +! +vlan 1 + name default + state active + no private-vlan + no mac-address-table sharing +! +vrf definition devel + rd 1:2 + no description +! +vrf definition prod + rd 1:1 + description Production VRF +! +interface Port-Channel1 + description blah + no shutdown + default load-interval + mtu 9000 + logging event link-status use-global + switchport dot1q ethertype 0x8100 + no switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no bfd per-link + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Port-Channel1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no port-channel min-links + no port-channel lacp fallback + port-channel lacp fallback timeout 90 + no l2 mtu + no ip multicast static + ip mfib fastdrop + no mlag + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Port-Channel1.1 + no description + no shutdown + default load-interval + logging event link-status use-global + no encapsulation dot1q vlan 0 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Port-Channel1.1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Ethernet1 + description This is a description + no shutdown + default load-interval + logging event link-status use-global + dcbx mode ieee + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport access vlan 1 + switchport trunk native vlan 1 + switchport trunk allowed vlan 1-4094 + no switchport asym vlan + switchport mode access + switchport dot1q ethertype 0x8100 + no switchport trunk private-vlan secondary + switchport mac address learning + no switchport private-vlan mapping + switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + channel-group 1 mode active + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no msrp + no mvrp + no switchport port-security + switchport port-security maximum 1 + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable + no spanning-tree portfast + spanning-tree portfast auto + no spanning-tree link-type + no spanning-tree bpduguard + no spanning-tree bpdufilter + no spanning-tree cost + spanning-tree port-priority 128 + no spanning-tree guard + no spanning-tree bpduguard rate-limit + logging event spanning-tree use-global + switchport tap native vlan 1 + no switchport tap identity + no switchport tap mpls pop all + switchport tap allowed vlan 1-4094 + switchport tool allowed vlan 1-4094 + no switchport tool identity + no switchport tap truncation + no switchport tool truncation + no switchport tap default group + no switchport tap default interface + no switchport tool group + no switchport tool dot1q remove outer +! +interface Ethernet2 + description so much oc + shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no dcbx mode + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport dot1q ethertype 0x8100 + no switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.0.1/24 + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no channel-group + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no ip multicast static + ip mfib fastdrop + no msrp + no mvrp + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Ethernet2.1 + description another subiface + no shutdown + default load-interval + logging event link-status use-global + encapsulation dot1q vlan 1 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + vrf forwarding prod + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.1.1/24 + ip address 172.20.0.1/24 secondary + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2.1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + sflow enable +! +interface Ethernet2.2 + description asdasdasd + no shutdown + default load-interval + logging event link-status use-global + encapsulation dot1q vlan 2 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + vrf forwarding devel + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.2.1/24 + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2.2 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + sflow enable +! +interface Loopback1 + description a loopback + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + default ntp serve +! +interface Management1 + no description + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 10.0.2.15/24 + no ip verify unicast + default arp timeout 300 + default ipv6 nd cache expire 300 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + ipv6 nd ra suppress all + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + lldp transmit + lldp receive + default ntp serve +! +mac address-table aging-time 300 +! +monitor hadoop + shutdown +! +no ip fhrp accept-mode +! +no ip virtual-router mac-address +ip virtual-router mac-address advertisement-interval 30 +! +no ipv6 hardware fib nexthop-index +! +ip route 10.0.0.0/24 192.168.0.2 1 tag 0 +ip route 10.0.0.0/24 192.168.0.3 1 tag 0 +ip route 10.0.1.0/24 192.168.0.2 1 tag 0 +ip route vrf prod 10.0.0.0/24 172.20.0.2 1 tag 0 +ip route vrf prod 10.0.1.0/24 172.20.0.2 1 tag 0 +ip route vrf devel 10.0.0.0/24 192.168.2.2 1 tag 0 +ip route vrf devel 10.0.1.0/24 192.168.2.2 1 tag 0 +! +ip routing +ip icmp redirect +no ip icmp source-interface +ip hardware fib route unprogrammed parent-drop +no ip hardware fib route delete delay +ip hardware fib next-hop update event bfd +no ip hardware fib maximum routes +no ip hardware forwarding mpls gre-key +no ip icmp rate-limit-unreachable 0 +no ip hardware fib next-hop sharing +no ip routing vrf prod +no ip icmp source-interface vrf prod +no ip routing vrf devel +no ip icmp source-interface vrf devel +ipv6 icmp redirect +no ip hardware fib maximum routes-v6 +! +no ip multicast-routing +ip multicast multipath deterministic +ip mfib max-fastdrops 1024 +no ip multicast count +ip mfib activity polling-interval 60 +! +ip mfib cache-entries unresolved max 4000 +ip mfib packet-buffers unresolved max 3 +! +ip as-path regex-mode asn +! +no ipv6 unicast-routing +no ipv6 unicast-routing vrf prod +no ipv6 unicast-routing vrf devel +! +control-plane + ip access-group default-control-plane-acl in + ip access-group default-control-plane-acl vrf prod in + ip access-group default-control-plane-acl vrf devel in + ipv6 access-group default-control-plane-acl in + ipv6 access-group default-control-plane-acl vrf prod in + ipv6 access-group default-control-plane-acl vrf devel in +! +mac address-table notification host-flap logging +mac address-table notification host-flap detection window 15 +! +mlag configuration + no domain-id + heartbeat-interval 4000 + no local-interface + no peer-address + no peer-link + reload-delay 0 + no reload-delay non-mlag + no reload-delay mode + no shutdown +! +monitor loop-protection + rate-limit 1000 + transmit-interval 5 + disabled-time 604800 +! +no mpls ip +! +no ip ftp client source-interface +no ip http client source-interface +no ip ssh client source-interface +no ip telnet client source-interface +no ip tftp client source-interface +! +no qos random-detect ecn global-buffer +qos map cos 0 1 2 3 4 5 6 7 to traffic-class 8 +qos map dscp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to cos 3 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to uc-tx-queue 4 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4 +! +policy-map type control-plane copp-system-policy + class copp-system-bpdu + shape pps 6000 + bandwidth pps 5000 + class copp-system-arp + shape pps 25000 + bandwidth pps 1000 + class copp-system-igmp + shape pps 5000 + bandwidth pps 4000 + class copp-system-default + no shape + no bandwidth +! +no ip radius source-interface +! +monitor reachability + shutdown + probe receiver max-streams 50000 + probe checkpoint-interval 60 + destination port 49152 + default ignore-checksum + default preserve-streams +! +router bgp 65001 + no shutdown + router-id 1.1.1.1 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp host-routes fib direct-install + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + no neighbor 192.168.0.200 peer-group + neighbor 192.168.0.200 remote-as 65100 + no neighbor 192.168.0.200 import-localpref + no neighbor 192.168.0.200 export-localpref + neighbor 192.168.0.200 description asdasd qweq asdasd + no neighbor 192.168.0.200 next-hop-self + no neighbor 192.168.0.200 next-hop-peer + no neighbor 192.168.0.200 allowas-in + neighbor 192.168.0.200 send-community + no neighbor 192.168.0.200 shutdown + neighbor 192.168.0.200 remove-private-as + no neighbor 192.168.0.200 out-delay + no neighbor 192.168.0.200 local-as + no neighbor 192.168.0.200 weight + no neighbor 192.168.0.200 transport connection-mode passive + no neighbor 192.168.0.200 update-source + no neighbor 192.168.0.200 dont-capability-negotiate + no neighbor 192.168.0.200 fall-over bfd + no neighbor 192.168.0.200 local-v6-addr + no neighbor 192.168.0.200 auto-local-addr + no neighbor 192.168.0.200 next-hop-v6-addr + neighbor 192.168.0.200 soft-reconfiguration inbound + no neighbor 192.168.0.200 ebgp-multihop + no neighbor 192.168.0.200 route-reflector-client + no neighbor 192.168.0.200 timers + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 graceful-restart + neighbor 192.168.0.200 graceful-restart-helper + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 prefix-list in + no neighbor 192.168.0.200 prefix-list out + no neighbor 192.168.0.200 password + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 enforce-first-as + no neighbor 192.168.0.200 metric-out + no neighbor 192.168.0.200 idle-restart-timer + neighbor 192.168.0.200 maximum-routes 12000 + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + default neighbor 192.168.0.200 activate + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 weight + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + default neighbor 192.168.0.200 activate + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 prefix-list in + no neighbor 192.168.0.200 prefix-list out + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 weight + vrf devel + local-as 65001 + no shutdown + router-id 3.3.3.3 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + ! + vrf prod + local-as 65001 + no shutdown + router-id 2.2.2.2 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + no neighbor 172.20.0.200 peer-group + neighbor 172.20.0.200 remote-as 65100 + no neighbor 172.20.0.200 import-localpref + no neighbor 172.20.0.200 export-localpref + no neighbor 172.20.0.200 description + no neighbor 172.20.0.200 next-hop-self + no neighbor 172.20.0.200 next-hop-peer + no neighbor 172.20.0.200 allowas-in + no neighbor 172.20.0.200 send-community + no neighbor 172.20.0.200 shutdown + no neighbor 172.20.0.200 remove-private-as + no neighbor 172.20.0.200 out-delay + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + no neighbor 172.20.0.200 weight + no neighbor 172.20.0.200 transport connection-mode passive + no neighbor 172.20.0.200 update-source + no neighbor 172.20.0.200 dont-capability-negotiate + no neighbor 172.20.0.200 fall-over bfd + no neighbor 172.20.0.200 local-v6-addr + no neighbor 172.20.0.200 auto-local-addr + no neighbor 172.20.0.200 next-hop-v6-addr + neighbor 172.20.0.200 soft-reconfiguration inbound + no neighbor 172.20.0.200 ebgp-multihop + no neighbor 172.20.0.200 route-reflector-client + no neighbor 172.20.0.200 timers + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 graceful-restart + neighbor 172.20.0.200 graceful-restart-helper + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 prefix-list in + no neighbor 172.20.0.200 prefix-list out + no neighbor 172.20.0.200 password + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 enforce-first-as + no neighbor 172.20.0.200 metric-out + no neighbor 172.20.0.200 idle-restart-timer + neighbor 172.20.0.200 maximum-routes 12000 + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + default neighbor 172.20.0.200 activate + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 weight + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + default neighbor 172.20.0.200 activate + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 prefix-list in + no neighbor 172.20.0.200 prefix-list out + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 weight +! +router multicast + vrf devel + no ip multicast-routing + ip multicast multipath deterministic + ip mfib max-fastdrops 1024 + ip mfib cache-entries unresolved max 4000 + ip mfib packet-buffers unresolved max 3 + ! + vrf prod + no ip multicast-routing + ip multicast multipath deterministic + ip mfib max-fastdrops 1024 + ip mfib cache-entries unresolved max 4000 + ip mfib packet-buffers unresolved max 3 +! +router pim sparse-mode + vrf devel + ip pim log-neighbor-changes + no ip pim ssm range + ip pim sparse-mode sg-expiry-timer 210 + ip pim spt-threshold 0 + no ip pim rp-candidate + no ip pim register-source + ! + vrf prod + ip pim log-neighbor-changes + no ip pim ssm range + ip pim sparse-mode sg-expiry-timer 210 + ip pim spt-threshold 0 + no ip pim rp-candidate + no ip pim register-source +! +router pim bidirectional + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate + vrf devel + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate + ! + vrf prod + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate +! +router pim bsr + vrf devel + no ip pim bsr-holdtime + no ip pim bsr-sztimeout + no ip pim bsr-candidate + no ip pim bsr rp-candidate advertisement-filter + ! + vrf prod + no ip pim bsr-holdtime + no ip pim bsr-sztimeout + no ip pim bsr-candidate + no ip pim bsr rp-candidate advertisement-filter +! +no ip tacacs source-interface +! +no vxlan vni notation dotted +! +no banner login +no banner motd +! +system coredump compressed +! +no dot1x system-auth-control +! +management api http-commands + protocol https port 443 + no protocol http port 80 + no protocol http localhost port 8080 + no protocol unix-socket + no protocol https certificate + no protocol https ssl profile + no cors allowed-origin + protocol https cipher aes256-cbc aes128-cbc + protocol https key-exchange rsa diffie-hellman-ephemeral-rsa + protocol https mac hmac-sha1 + qos dscp 0 + no shutdown + vrf default + no shutdown +! +management cim-provider + shutdown + http 7778 + https 7779 + idle-timeout 90 + default live-time + default trace + default ssl certificate + default ssl key +! +management console + idle-timeout 0 +! +management cvx + shutdown + no server host + no source-interface + no server port + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 +! +management defaults + secret hash md5 +! +management security + no entropy source hardware + no password minimum length +! +management ssh + idle-timeout 0 + authentication mode keyboard-interactive + server-port 22 + hostkey server rsa dsa + no fips restrictions + no hostkey client strict-checking + no shutdown + login timeout 120 + log-level info +! +management telnet + shutdown + idle-timeout 0 +! +management xmpp + shutdown + vrf default + session privilege 1 +! +! +end diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json @@ -0,0 +1 @@ +{} diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index c2432ff4..f2451646 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -33,7 +33,8 @@ def pretty_json(dictionary): test_config_profile_models = [ - ["ios", napalm_yang.models.openconfig_interfaces, "default"], + # ["ios", napalm_yang.models.openconfig_interfaces, "default"], + ["eos", napalm_yang.models.openconfig_network_instance, "default"], ] test_state_profile_models = [ @@ -67,9 +68,9 @@ def test_parse_config(self, profile, model, case): expected.add_model(model) expected.load_dict(expected_json) - # print(pretty_json(config.get(filter=True))) + print(pretty_json(config.get(filter=True))) - assert not napalm_yang.utils.diff(config, expected) + # assert not napalm_yang.utils.diff(config, expected) @pytest.mark.parametrize("profile, model, case", test_config_profile_models) def test_translate(self, profile, model, case): From d42f7d0f60807f718bab8adba263ec3534e8913b Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 12:48:40 +0200 Subject: [PATCH 012/153] duplicates renamed to flat --- .../config/openconfig-network-instance/includes/bgp.yaml | 2 +- .../openconfig-network-instance/includes/static_routes.yaml | 4 ++-- napalm_yang/parser.py | 2 +- napalm_yang/parsers/text.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml index b825caad..afb8c81b 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -358,7 +358,7 @@ neighbors: mode: block regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" from: "{{ bookmarks['protocol'][protocol_key] }}" - duplicates: true + flat: true add-paths: _process: not_implemented config: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 8aeef966..06d4492c 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -8,12 +8,12 @@ static: regexp: "(?Pip route (?P\\d+.*\\/\\d+).*)" from: "{{ bookmarks['network-instances'][0] }}" when: "{{ network_instance_key == 'global' }}" - duplicates: true + flat: true - mode: block regexp: "(?Pip route vrf {{ network_instance_key }} (?P\\d+.*\\/\\d+).*)" from: "{{ bookmarks['network-instances'][0] }}" when: "{{ network_instance_key != 'global' }}" - duplicates: true + flat: true config: _process: not_implemented prefix: diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index cc038da9..4b2566d1 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -132,7 +132,7 @@ def _parse_list(self, attribute, model, mapping): obj = model.add(key) except KeyError as e: if "is already defined as a list entry" in e.message and \ - extra_vars.get("_allow_duplicates"): + extra_vars.get("_get_duplicates"): obj = model[key] else: raise diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 532a6982..2d89cdd3 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -30,7 +30,7 @@ def _parse_list_block(cls, mapping): else: key = extra_vars.pop("key") - extra_vars["_allow_duplicates"] = mapping.get("duplicates", False) + extra_vars["_get_duplicates"] = mapping.get("flat", False) yield key, block, extra_vars From d3843c98457ebe67d623e997099c25a6f652984a Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 19:27:31 +0200 Subject: [PATCH 013/153] Processors are now lists --- .../config/napalm-if-ip/secondary.yaml | 4 +- .../parsers/config/openconfig-if-ip/ipv4.yaml | 20 +- .../openconfig-interfaces/interfaces.yaml | 64 +++--- .../parsers/config/openconfig-vlan/vlan.yaml | 6 +- .../translators/openconfig-if-ip/ipv4.yaml | 8 +- .../openconfig-interfaces/interfaces.yaml | 18 +- .../config/napalm-if-ip/secondary.yaml | 4 +- .../parsers/config/openconfig-if-ip/ipv4.yaml | 20 +- .../openconfig-interfaces/interfaces.yaml | 66 +++--- .../parsers/config/openconfig-vlan/vlan.yaml | 6 +- .../translators/openconfig-if-ip/ipv4.yaml | 8 +- .../openconfig-interfaces/interfaces.yaml | 18 +- .../parsers/config/openconfig-if-ip/ipv4.yaml | 30 +-- .../openconfig-interfaces/interfaces.yaml | 80 ++++---- .../parsers/config/openconfig-vlan/vlan.yaml | 6 +- .../openconfig-interfaces/interfaces.yaml | 190 +++++++++--------- .../translators/openconfig-if-ip/ipv4.yaml | 10 +- .../openconfig-interfaces/interfaces.yaml | 22 +- 18 files changed, 290 insertions(+), 290 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml b/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml index ee334fbb..058db2c4 100644 --- a/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml +++ b/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml @@ -5,5 +5,5 @@ metadata: secondary: _process: - mode: value - value: "{{ extra_vars.secondary != None }}" + - mode: value + value: "{{ extra_vars.secondary != None }}" diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml index 8868a1e8..200ca4cb 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -8,30 +8,30 @@ ipv4: _process: unnecessary enabled: _process: - mode: is_absent - regexp: "(?P^\\W*switchport$)" - from: "{{ bookmarks['parent'] }}" + - mode: is_absent + regexp: "(?P^\\W*switchport$)" + from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented addresses: _process: unnecessary address: _process: - mode: block - regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" - from: "{{ bookmarks['parent'] }}" + - mode: block + regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" + from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary config: _process: unnecessary ip: _process: - mode: value - value: "{{ extra_vars.ip }}" + - mode: value + value: "{{ extra_vars.ip }}" prefix-length: _process: - mode: value - value: "{{ extra_vars.prefix }}" + - mode: value + value: "{{ extra_vars.prefix }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml index 483ed670..44267380 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -9,9 +9,9 @@ interfaces: _process: unnecessary interface: _process: - mode: block - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + - mode: block + regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" + from: "{{ bookmarks.interfaces.0 }}" name: _process: unnecessary hold-time: @@ -28,37 +28,37 @@ interfaces: _process: unnecessary type: _process: - mode: map - regexp: "(?P(\\w|-)*)\\d+" - from: "{{ interface_key }}" - map: - Ethernet: ethernetCsmacd - Management: ethernetCsmacd - Loopback: softwareLoopback - Port-Channel: ieee8023adLag - Vlan: l3ipvlan + - mode: map + regexp: "(?P(\\w|-)*)\\d+" + from: "{{ interface_key }}" + map: + Ethernet: ethernetCsmacd + Management: ethernetCsmacd + Loopback: softwareLoopback + Port-Channel: ieee8023adLag + Vlan: l3ipvlan enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ bookmarks.interface[interface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.interface[interface_key] }}" mtu: _process: - mode: search - regexp: "mtu (?P[0-9]+)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: search + regexp: "mtu (?P[0-9]+)" + from: "{{ bookmarks.interface[interface_key] }}" subinterfaces: _process: unnecessary subinterface: _process: - mode: block - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + - mode: block + regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" + from: "{{ bookmarks.interfaces.0 }}" index: _process: unnecessary config: @@ -67,15 +67,15 @@ interfaces: _process: unnecessary name: _process: - mode: value - value: "{{ interface_key }}.{{ subinterface_key}}" + - mode: value + value: "{{ interface_key }}.{{ subinterface_key}}" enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ bookmarks.subinterface[subinterface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.subinterface[subinterface_key] }}" diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml index e8392b12..eef423e1 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml @@ -9,6 +9,6 @@ vlan: _process: unnecessary vlan-id: _process: - mode: search - regexp: "^\\W*encapsulation dot1q vlan (?P[0-9]+)" - from: "{{ bookmarks['parent'] }}" + - mode: search + regexp: "^\\W*encapsulation dot1q vlan (?P[0-9]+)" + from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml index 1512a25f..e75e5d6e 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml @@ -19,10 +19,10 @@ ipv4: _process: unnecessary address: _process: - mode: container - key_value: " ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" - negate: " default ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" - replace: false + - mode: container + key_value: " ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" + negate: " default ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" + replace: false ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml index 66fa4db8..836bf3d7 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml @@ -7,10 +7,10 @@ interfaces: _process: unnecessary interface: _process: - mode: container - key_value: "interface {{ interface_key }}\n" - negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" - end: " exit\n" + - mode: container + key_value: "interface {{ interface_key }}\n" + negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" + end: " exit\n" name: _process: unnecessary hold-time: @@ -46,11 +46,11 @@ interfaces: _process: unnecessary subinterface: _process: - mode: container - key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" - negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" - in: "interfaces" - end: " exit\n" + - mode: container + key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" + negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" + in: "interfaces" + end: " exit\n" index: _process: unnecessary config: diff --git a/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml b/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml index ee334fbb..058db2c4 100644 --- a/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml +++ b/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml @@ -5,5 +5,5 @@ metadata: secondary: _process: - mode: value - value: "{{ extra_vars.secondary != None }}" + - mode: value + value: "{{ extra_vars.secondary != None }}" diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml index 8811a11b..3b7b6772 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml @@ -8,30 +8,30 @@ ipv4: _process: unnecessary enabled: _process: # TODO look at this one, I think this is different depending on IOS version - mode: is_absent - regexp: "(?P^\\W*switchport$)" - from: "{{ bookmarks['parent'] }}" + - mode: is_absent + regexp: "(?P^\\W*switchport$)" + from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented addresses: _process: unnecessary address: _process: - mode: block - regexp: "(?Pip address (?P(?P.*)) (?P([0-255]|\\.)*)(?P secondary)*)$" - from: "{{ bookmarks['parent'] }}" + - mode: block + regexp: "(?Pip address (?P(?P.*)) (?P([0-255]|\\.)*)(?P secondary)*)$" + from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary config: _process: unnecessary ip: _process: - mode: value - value: "{{ extra_vars.ip }}" + - mode: value + value: "{{ extra_vars.ip }}" prefix-length: _process: - mode: value - value: "{{ extra_vars.prefix|netmask_to_cidr }}" + - mode: value + value: "{{ extra_vars.prefix|netmask_to_cidr }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index 0893886e..d0d5cb32 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -9,9 +9,9 @@ interfaces: _process: unnecessary interface: _process: - mode: block - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + - mode: block + regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" + from: "{{ bookmarks.interfaces.0 }}" name: _process: unnecessary hold-time: @@ -28,38 +28,38 @@ interfaces: _process: unnecessary type: _process: - mode: map - regexp: "(?P(\\w|-)*)\\d+" - from: "{{ interface_key }}" - map: - GigabitEthernet: ethernetCsmacd - Management: ethernetCsmacd - Loopback: softwareLoopback - Port-Channel: ieee8023adLag - Port-channel: ieee8023adLag - Vlan: l3ipvlan + - mode: map + regexp: "(?P(\\w|-)*)\\d+" + from: "{{ interface_key }}" + map: + GigabitEthernet: ethernetCsmacd + Management: ethernetCsmacd + Loopback: softwareLoopback + Port-Channel: ieee8023adLag + Port-channel: ieee8023adLag + Vlan: l3ipvlan enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ bookmarks.interface[interface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.interface[interface_key] }}" mtu: _process: - mode: search - regexp: "mtu (?P[0-9]+)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: search + regexp: "mtu (?P[0-9]+)" + from: "{{ bookmarks.interface[interface_key] }}" subinterfaces: _process: unnecessary subinterface: _process: - mode: block - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + - mode: block + regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" + from: "{{ bookmarks.interfaces.0 }}" index: _process: unnecessary config: @@ -68,15 +68,15 @@ interfaces: _process: unnecessary name: _process: - mode: value - value: "{{ interface_key }}.{{ subinterface_key}}" + - mode: value + value: "{{ interface_key }}.{{ subinterface_key}}" enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ bookmarks.subinterface[subinterface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.subinterface[subinterface_key] }}" diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml index 2f536f29..270e5a56 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml @@ -9,6 +9,6 @@ vlan: _process: unnecessary vlan-id: _process: - mode: search - regexp: "^\\W*encapsulation dot1q (?P[0-9]+)" - from: "{{ bookmarks['parent'] }}" + - mode: search + regexp: "^\\W*encapsulation dot1q (?P[0-9]+)" + from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml index 1fea4d8d..fa61f3af 100644 --- a/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml @@ -19,10 +19,10 @@ ipv4: _process: unnecessary address: _process: - mode: container - key_value: " ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" - negate: " default ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" - replace: false + - mode: container + key_value: " ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" + negate: " default ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" + replace: false ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml index bb5c2208..68db90eb 100644 --- a/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml @@ -7,10 +7,10 @@ interfaces: _process: unnecessary interface: _process: - mode: container - key_value: "interface {{ interface_key }}\n" - negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" - end: " exit\n" + - mode: container + key_value: "interface {{ interface_key }}\n" + negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" + end: " exit\n" name: _process: unnecessary hold-time: @@ -48,11 +48,11 @@ interfaces: _process: unnecessary subinterface: _process: - mode: container - key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" - negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" - in: "interfaces" - end: " exit\n" + - mode: container + key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" + negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" + in: "interfaces" + end: " exit\n" index: _process: unnecessary config: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml index fca0585a..a48ab1b5 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -8,35 +8,35 @@ ipv4: _process: unnecessary enabled: _process: - mode: is_present - xpath: "family/inet" - from: "{{ bookmarks['parent'] }}" + - mode: is_present + xpath: "family/inet" + from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented addresses: _process: unnecessary address: _process: - mode: xpath - xpath: "family/inet/address" - key: name - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "family/inet/address" + key: name + from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary config: _process: unnecessary ip: _process: - mode: xpath - xpath: "name" - regexp: "(?P.*)/\\d+" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "name" + regexp: "(?P.*)/\\d+" + from: "{{ bookmarks['parent'] }}" prefix-length: _process: - mode: xpath - xpath: "name" - regexp: ".*/(?P\\d+)" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "name" + regexp: ".*/(?P\\d+)" + from: "{{ bookmarks['parent'] }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index 7a6a7b31..3ad52d58 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -10,10 +10,10 @@ interfaces: _process: unnecessary interface: _process: - mode: xpath - xpath: "interfaces/interface" - key: name - from: "{{ bookmarks.interfaces.0 }}" + - mode: xpath + xpath: "interfaces/interface" + key: name + from: "{{ bookmarks.interfaces.0 }}" name: _process: unnecessary hold-time: @@ -28,61 +28,61 @@ interfaces: _process: unnecessary name: _process: - mode: value - value: "{{ interface_key }}" + - mode: value + value: "{{ interface_key }}" type: _process: - mode: map - xpath: name - regexp: "(?P[a-z]+).*" - # Next field could easily be - # from: "{{ bookmarks['parent'] }}" - # but this is more efficient - from: "{{ parent_key }}" - map: - ge: ethernetCsmacd - lo: softwareLoopback - ae: ieee8023adLag + - mode: map + xpath: name + regexp: "(?P[a-z]+).*" + # Next field could easily be + # from: "{{ bookmarks['parent'] }}" + # but this is more efficient + from: "{{ parent_key }}" + map: + ge: ethernetCsmacd + lo: softwareLoopback + ae: ieee8023adLag enabled: _process: - mode: is_absent - xpath: "disable" - from: "{{ bookmarks['parent'] }}" + - mode: is_absent + xpath: "disable" + from: "{{ bookmarks['parent'] }}" description: _process: - mode: xpath - xpath: description - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: description + from: "{{ bookmarks['parent'] }}" mtu: _process: - mode: xpath - xpath: mtu - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: mtu + from: "{{ bookmarks['parent'] }}" subinterfaces: - _process: not_implemented + _process: unnecessary subinterface: _process: - mode: xpath - xpath: "unit" - key: name - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "unit" + key: name + from: "{{ bookmarks['parent'] }}" index: _process: unnecessary config: - _process: not_implemented + _process: unnecessary index: _process: not_implemented name: _process: - mode: value - value: "{{ subinterface_key }}" + - mode: value + value: "{{ subinterface_key }}" enabled: _process: - mode: is_absent - xpath: "disable" - from: "{{ bookmarks['parent'] }}" + - mode: is_absent + xpath: "disable" + from: "{{ bookmarks['parent'] }}" description: _process: - mode: xpath - xpath: description - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: description + from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml index b0db1a24..ae5eff7a 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml @@ -8,6 +8,6 @@ vlan: _process: unnecessary vlan-id: _process: - mode: xpath - xpath: "vlan-id" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "vlan-id" + from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index ebd61ec4..1ba450bd 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -7,13 +7,13 @@ metadata: get: "" interfaces: - _process: not_implemented + _process: unnecessary interface: _process: - mode: xpath - xpath: "physical-interface" - key: name - from: "{{ bookmarks.interfaces.0 }}" + - mode: xpath + xpath: "physical-interface" + key: name + from: "{{ bookmarks.interfaces.0 }}" config: _process: unnecessary hold-time: @@ -27,166 +27,166 @@ interfaces: up: _process: not_implemented state: - _process: not_implemented + _process: unnecessary admin-status: _process: - mode: map - xpath: "admin-status" - from: "{{ bookmarks['parent'] }}" - map: - up: UP - down: DOWN + - mode: map + xpath: "admin-status" + from: "{{ bookmarks['parent'] }}" + map: + up: UP + down: DOWN description: _process: - mode: xpath - xpath: "description" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "description" + from: "{{ bookmarks['parent'] }}" enabled: _process: - mode: map - xpath: "admin-status" - from: "{{ bookmarks['parent'] }}" - map: - up: true - down: false + - mode: map + xpath: "admin-status" + from: "{{ bookmarks['parent'] }}" + map: + up: true + down: false ifindex: _process: - mode: xpath - xpath: "snmp-index" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "snmp-index" + from: "{{ bookmarks['parent'] }}" last-change: _process: - mode: xpath - xpath: "interface-flapped" - attribute: "seconds" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "interface-flapped" + attribute: "seconds" + from: "{{ bookmarks['parent'] }}" mtu: _process: - mode: xpath - xpath: "mtu" - regexp: "(?P\\d+)" # Someone thought mixing strings and ints was a good idea - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "mtu" + regexp: "(?P\\d+)" # Someone thought mixing strings and ints was a good idea + from: "{{ bookmarks['parent'] }}" name: _process: unnecessary oper-status: _process: - mode: map - xpath: "oper-status" - from: "{{ bookmarks['parent'] }}" - map: - up: UP - down: DOWN + - mode: map + xpath: "oper-status" + from: "{{ bookmarks['parent'] }}" + map: + up: UP + down: DOWN type: _process: - mode: map - xpath: "if-type" - from: "{{ bookmarks['parent'] }}" - map: - GRE: tunnel - IPIP: tunnel - Logical-tunnel: tunnel - Multicast-GRE: tunnel - Secure-Tunnel: tunnel - Ethernet: ethernetCsmacd - Loopback: softwareLoopback - VLAN: l2vlan - Adaptive-Services: null - Software-Pseudo: null - PIMD: null - PIME: null - PPPoE: null + - mode: map + xpath: "if-type" + from: "{{ bookmarks['parent'] }}" + map: + GRE: tunnel + IPIP: tunnel + Logical-tunnel: tunnel + Multicast-GRE: tunnel + Secure-Tunnel: tunnel + Ethernet: ethernetCsmacd + Loopback: softwareLoopback + VLAN: l2vlan + Adaptive-Services: null + Software-Pseudo: null + PIMD: null + PIME: null + PPPoE: null counters: - _process: not_implemented + _process: unnecessary in-broadcast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/input-broadcasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/input-broadcasts" + from: "{{ bookmarks['parent'] }}" in-discards: _process: - mode: xpath - xpath: "input-error-list/input-discards" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "input-error-list/input-discards" + from: "{{ bookmarks['parent'] }}" in-errors: _process: - mode: xpath - xpath: "input-error-list/input-errors" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "input-error-list/input-errors" + from: "{{ bookmarks['parent'] }}" in-multicast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/input-multicasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/input-multicasts" + from: "{{ bookmarks['parent'] }}" in-octets: _process: not_implemented in-unicast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/input-unicasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/input-unicasts" + from: "{{ bookmarks['parent'] }}" in-unknown-protos: _process: not_implemented last-clear: _process: not_implemented out-broadcast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/output-broadcasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/output-broadcasts" + from: "{{ bookmarks['parent'] }}" out-discards: _process: not_implemented out-errors: _process: - mode: xpath - xpath: "output-error-list/output-errors" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "output-error-list/output-errors" + from: "{{ bookmarks['parent'] }}" out-multicast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/output-multicasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/output-multicasts" + from: "{{ bookmarks['parent'] }}" out-octets: _process: not_implemented out-unicast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/output-unicasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/output-unicasts" + from: "{{ bookmarks['parent'] }}" subinterfaces: _process: unnecessary subinterface: _process: - mode: xpath - xpath: "logical-interface" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "logical-interface" + from: "{{ bookmarks['parent'] }}" index: _process: unnecessary config: _process: unnecessary state: - _process: not_implemented + _process: unnecessary index: _process: not_implemented description: _process: - mode: xpath - xpath: "description" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "description" + from: "{{ bookmarks['parent'] }}" enabled: _process: not_implemented admin-status: _process: not_implemented ifindex: _process: - mode: xpath - xpath: "snmp-index" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "snmp-index" + from: "{{ bookmarks['parent'] }}" last-change: _process: not_implemented name: _process: - mode: value - value: "{{ subinterface_key }}" + - mode: value + value: "{{ subinterface_key }}" oper-status: _process: not_implemented counters: diff --git a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml index 386fb5ae..1ade2475 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml @@ -4,9 +4,9 @@ metadata: ipv4: _process: - mode: container - container: family.inet - when: "{{ model.config.enabled or model.addresses.address|length }}" + - mode: container + container: family.inet + when: "{{ model.config.enabled or model.addresses.address|length }}" config: _process: unnecessary enabled: @@ -17,8 +17,8 @@ ipv4: _process: unnecessary address: _process: - mode: container - container: address + - mode: container + container: address ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml index 492d5892..6987a56a 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml @@ -5,15 +5,15 @@ metadata: interfaces: _process: - mode: container - container: interfaces - replace: true + - mode: container + container: interfaces + replace: true interface: _process: - mode: container - container: interface - key_element: name - key_value: "{{ interface_key }}" + - mode: container + container: interface + key_element: name + key_value: "{{ interface_key }}" name: _process: unnecessary hold-time: @@ -48,10 +48,10 @@ interfaces: _process: unnecessary subinterface: _process: - mode: container - container: unit - key_element: name - key_value: "{{ subinterface_key }}" + - mode: container + container: unit + key_element: name + key_value: "{{ subinterface_key }}" index: _process: unnecessary config: From 7acecc65cb4bb06e4a24c84fdce3c19b04aacd48 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 19:38:10 +0200 Subject: [PATCH 014/153] Everything is a list now --- napalm_yang/helpers.py | 4 +-- napalm_yang/parsers/base.py | 19 ++++++++----- napalm_yang/translator.py | 43 ++++++++++++++++------------- napalm_yang/translators/base.py | 48 +++++++++++++++++++++++---------- napalm_yang/translators/text.py | 8 +++--- napalm_yang/translators/xml.py | 4 +-- 6 files changed, 78 insertions(+), 48 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index beaa75d5..26ce83ce 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -96,9 +96,9 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, for r in rule] elif isinstance(rule, str): if rule in ["unnecessary"]: - return {"mode": "skip", "reason": rule} + return [{"mode": "skip", "reason": rule}] elif rule in ["not_implemented"]: - return {"mode": "gate", "reason": rule} + return [{"mode": "gate", "reason": rule}] else: raise Exception("Not sure what to do with rule {} on attribute {}".format(rule, attribute)) diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index bb524e34..46c50813 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -8,22 +8,27 @@ def init_config(cls, config): @classmethod def parse_list(cls, mapping): - mapping_rules = mapping if isinstance(mapping, list) else [mapping] - - for m in mapping_rules: + for m in mapping: method_name = "_parse_list_{}".format(m["mode"]) for key, block, extra_vars in getattr(cls, method_name)(m): yield key, block, extra_vars @classmethod def parse_leaf(cls, mapping): - method_name = "_parse_leaf_{}".format(mapping["mode"]) - return getattr(cls, method_name)(mapping) + for m in mapping: + method_name = "_parse_leaf_{}".format(m["mode"]) + result = getattr(cls, method_name)(m) + if result is not None: + return result @classmethod def parse_container(cls, mapping): - method_name = "_parse_container_{}".format(mapping["mode"]) - return getattr(cls, method_name)(mapping) + for m in mapping: + method_name = "_parse_container_{}".format(m["mode"]) + result, extra_vars = getattr(cls, method_name)(m) + if result or extra_vars: + break + return result, extra_vars @classmethod def _parse_leaf_skip(cls, mapping): diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index a124ccf7..d17f010d 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -5,15 +5,17 @@ logger = logging.getLogger("napalm-yang") -def _find_translation_point(rule, bookmarks, translation): - if "in" in rule.keys(): - t = bookmarks - for p in rule["in"].split("."): - try: - t = t[p] - except TypeError: - t = t[int(p)] - translation = t +def _find_translation_point(rules, bookmarks, translation): + for r in rules: + if "in" in r.keys(): + t = bookmarks + for p in r["in"].split("."): + try: + t = t[p] + except TypeError: + t = t[int(p)] + translation = t + break return translation @@ -71,11 +73,14 @@ def _translate_container(self, attribute, model, mapping, translation, other): None, model, self.bookmarks) translation_point = _find_translation_point(rule, self.bookmarks, translation) - et = self.translator.parse_container(attribute, model, other, rule, translation_point) + et = self.translator.translate_container(attribute, model, other, rule, + translation_point) + + if et is None: + return self.bookmarks[attribute] = et else: - translation_point = _find_translation_point(mapping, self.bookmarks, translation) et = translation for k, v in model: @@ -87,7 +92,7 @@ def _translate_container(self, attribute, model, mapping, translation, other): if v._defining_module != self._defining_module and v._defining_module is not None: logger.debug("Skipping attribute: {}:{}".format(v._defining_module, attribute)) - translator = Translator(v, self.profile, translation_point, self.keys, + translator = Translator(v, self.profile, et, self.keys, self.bookmarks, self.merge, self.replace, other_attr) translator.translate() else: @@ -117,6 +122,7 @@ def _translate_list(self, attribute, model, mapping, translation, other): translation_rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, element, self.bookmarks) + translation_point = _find_translation_point(translation_rule, self.bookmarks, translation) @@ -155,10 +161,9 @@ def _translate_list(self, attribute, model, mapping, translation, other): self.translator.default_element(translation_rule, translation_point) def _translate_leaf(self, attribute, model, mapping, translation, other): - rules = [mapping["_process"]] if isinstance(mapping["_process"], str) \ - else mapping["_process"] - for rule in rules: - rule = helpers.resolve_rule(rule, attribute, self.keys, None, model, self.bookmarks) - translation_point = _find_translation_point(rule, self.bookmarks, - translation) - self.translator.parse_leaf(attribute, model, other, rule, translation_point) + rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, + self.bookmarks) + translation_point = _find_translation_point(rule, self.bookmarks, + translation) + + self.translator.translate_leaf(attribute, model, other, rule, translation_point) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 035af341..ecc682ff 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -5,25 +5,45 @@ def __init__(self, merge, replace): self.replace = replace def init_element(self, attribute, model, other, mapping, translation): - method_name = "_init_element_{}".format(mapping["mode"]) - return getattr(self, method_name)(attribute, model, other, mapping, translation) + for m in mapping: + method_name = "_init_element_{}".format(m["mode"]) + t = getattr(self, method_name)(attribute, model, other, m, translation) + if t is False: + # if it's False we want to return None to signal we want to abort + return None + elif t is not None: + return t def default_element(self, mapping, translation, replacing=False): - method_name = "_default_element_{}".format(mapping["mode"]) - return getattr(self, method_name)(mapping, translation, replacing) + for m in mapping: + method_name = "_default_element_{}".format(m["mode"]) + getattr(self, method_name)(m, translation, replacing) - def parse_leaf(self, attribute, model, other, mapping, translation): - method_name = "_parse_leaf_{}".format(mapping["mode"]) - return getattr(self, method_name)(attribute, model, other, mapping, translation) + def translate_leaf(self, attribute, model, other, mapping, translation): + for m in mapping: + method_name = "_translate_leaf_{}".format(m["mode"]) + getattr(self, method_name)(attribute, model, other, m, translation) - def parse_container(self, attribute, model, other, mapping, translation): - method_name = "_parse_container_{}".format(mapping["mode"]) - return getattr(self, method_name)(attribute, model, other, mapping, translation) + def translate_container(self, attribute, model, other, mapping, translation): + for m in mapping: + method_name = "_translate_container_{}".format(m["mode"]) + t = getattr(self, method_name)(attribute, model, other, m, translation) + if t is False: + # if it's False we want to return None to signal we want to abort + return None + elif t is not None: + return t - def _parse_leaf_skip(self, attribute, model, other, mapping, translation): + def _translate_leaf_skip(self, attribute, model, other, mapping, translation): return translation - _init_element_skip = _parse_leaf_skip - _parse_container_skip = _parse_leaf_skip + + _init_element_skip = _translate_leaf_skip + _translate_leaf_gate = _translate_leaf_skip + + def _translate_container_gate(self, attribute, model, other, mapping, translation): + return None + + _translate_container_skip = _translate_leaf_skip def _default_element_skip(self, mapping, translation, replacing): - return + return None diff --git a/napalm_yang/translators/text.py b/napalm_yang/translators/text.py index 6dbec162..aab742cb 100644 --- a/napalm_yang/translators/text.py +++ b/napalm_yang/translators/text.py @@ -17,7 +17,7 @@ def init_translation(self, metadata, translation): def post_processing(self, translator): return self._xml_to_text(translator.translation) - def _parse_leaf_element(self, attribute, model, other, mapping, translation): + def _translate_leaf_element(self, attribute, model, other, mapping, translation): force = False if model == other and not self.replace: @@ -30,14 +30,14 @@ def _parse_leaf_element(self, attribute, model, other, mapping, translation): return mapping["element"] = "command" - super()._parse_leaf_element(attribute, model, other, mapping, translation, force) + super()._translate_leaf_element(attribute, model, other, mapping, translation, force) def _init_element_container(self, attribute, model, other, mapping, translation): if other is not None: if not napalm_yang.utils.diff(model, other) and not self.replace: # If objects are equal we return None as that aborts translating # the rest of the object - return + return False if not model._changed() and other is not None and not self.replace: mapping["key_value"] = mapping["negate"] @@ -56,7 +56,7 @@ def _init_element_container(self, attribute, model, other, mapping, translation) return t - # def _parse_container_container(self, attribute, model, other, mapping, translation): + # def _translate_container_container(self, attribute, model, other, mapping, translation): # mapping["key_element"] = "container" # mapping["container"] = model._yang_name # return super()._init_element_container(attribute, model, other, mapping, translation) diff --git a/napalm_yang/translators/xml.py b/napalm_yang/translators/xml.py index aa00dde7..653b61b1 100644 --- a/napalm_yang/translators/xml.py +++ b/napalm_yang/translators/xml.py @@ -34,7 +34,7 @@ def _init_element_container(self, attribute, model, other, mapping, translation) return t - _parse_container_container = _init_element_container + _translate_container_container = _init_element_container def _default_element_container(self, mapping, translation, replacing): if not self.merge: @@ -57,7 +57,7 @@ def _default_element_container(self, mapping, translation, replacing): return t - def _parse_leaf_element(self, attribute, model, other, mapping, translation, force=False): + def _translate_leaf_element(self, attribute, model, other, mapping, translation, force=False): delete = False if not model._changed() and other and self.merge: delete = True From 72dd0b9fe9a10e65124a0adeac7f6d99aea46a8b Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 19:50:24 +0200 Subject: [PATCH 015/153] Find translation point per rule as before --- napalm_yang/translator.py | 34 +++++-------------------- napalm_yang/translators/base.py | 44 ++++++++++++++++++++++----------- 2 files changed, 36 insertions(+), 42 deletions(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index d17f010d..284fa970 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -5,20 +5,6 @@ logger = logging.getLogger("napalm-yang") -def _find_translation_point(rules, bookmarks, translation): - for r in rules: - if "in" in r.keys(): - t = bookmarks - for p in r["in"].split("."): - try: - t = t[p] - except TypeError: - t = t[int(p)] - translation = t - break - return translation - - class Translator(object): def __init__(self, model, profile, @@ -72,9 +58,8 @@ def _translate_container(self, attribute, model, mapping, translation, other): rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, self.bookmarks) - translation_point = _find_translation_point(rule, self.bookmarks, translation) et = self.translator.translate_container(attribute, model, other, rule, - translation_point) + translation, self.bookmarks) if et is None: return @@ -123,12 +108,10 @@ def _translate_list(self, attribute, model, mapping, translation, other): translation_rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, element, self.bookmarks) - translation_point = _find_translation_point(translation_rule, self.bookmarks, - translation) - - self.translator.default_element(translation_rule, translation_point, replacing=True) + self.translator.default_element(translation_rule, translation, self.bookmarks, + replacing=True) et = self.translator.init_element(attribute, element, other_element, translation_rule, - translation_point) + translation, self.bookmarks) if et is None: logger.info("Skipping {} as not implemented or objects are equal".format(attribute)) @@ -155,15 +138,10 @@ def _translate_list(self, attribute, model, mapping, translation, other): translation_rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, element, self.bookmarks) - translation_point = _find_translation_point(translation_rule, self.bookmarks, - translation) - self.translator.default_element(translation_rule, translation_point) + self.translator.default_element(translation_rule, translation, self.bookmarks) def _translate_leaf(self, attribute, model, mapping, translation, other): rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, self.bookmarks) - translation_point = _find_translation_point(rule, self.bookmarks, - translation) - - self.translator.translate_leaf(attribute, model, other, rule, translation_point) + self.translator.translate_leaf(attribute, model, other, rule, translation, self.bookmarks) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index ecc682ff..37f445f4 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -1,38 +1,54 @@ +def _find_translation_point(rule, bookmarks, translation): + if "in" in rule.keys(): + t = bookmarks + for p in rule["in"].split("."): + try: + t = t[p] + except TypeError: + t = t[int(p)] + translation = t + return translation + + class BaseTranslator(object): def __init__(self, merge, replace): self.merge = merge self.replace = replace - def init_element(self, attribute, model, other, mapping, translation): + def init_element(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + t = _find_translation_point(m, bookmarks, translation) method_name = "_init_element_{}".format(m["mode"]) - t = getattr(self, method_name)(attribute, model, other, m, translation) - if t is False: + et = getattr(self, method_name)(attribute, model, other, m, t) + if et is False: # if it's False we want to return None to signal we want to abort return None - elif t is not None: - return t + elif et is not None: + return et - def default_element(self, mapping, translation, replacing=False): + def default_element(self, mapping, translation, bookmarks, replacing=False): for m in mapping: + t = _find_translation_point(m, bookmarks, translation) method_name = "_default_element_{}".format(m["mode"]) - getattr(self, method_name)(m, translation, replacing) + getattr(self, method_name)(m, t, replacing) - def translate_leaf(self, attribute, model, other, mapping, translation): + def translate_leaf(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + t = _find_translation_point(m, bookmarks, translation) method_name = "_translate_leaf_{}".format(m["mode"]) - getattr(self, method_name)(attribute, model, other, m, translation) + getattr(self, method_name)(attribute, model, other, m, t) - def translate_container(self, attribute, model, other, mapping, translation): + def translate_container(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + t = _find_translation_point(m, bookmarks, translation) method_name = "_translate_container_{}".format(m["mode"]) - t = getattr(self, method_name)(attribute, model, other, m, translation) - if t is False: + et = getattr(self, method_name)(attribute, model, other, m, t) + if et is False: # if it's False we want to return None to signal we want to abort return None - elif t is not None: - return t + elif et is not None: + return et def _translate_leaf_skip(self, attribute, model, other, mapping, translation): return translation From 6446f9919ee22d63cf00634d8c0a9c99a889df77 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 19:58:59 +0200 Subject: [PATCH 016/153] Adapted network instances model to lists --- .../includes/bgp.yaml | 56 +++++++++---------- .../includes/static_routes.yaml | 16 +++--- .../network-instances.yaml | 34 +++++------ test/integration/test_profiles.py | 4 +- 4 files changed, 55 insertions(+), 55 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml index afb8c81b..dd0a74b9 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -1,6 +1,6 @@ --- _process: - mode: gate + - mode: gate when: "{{ protocol_key != 'bgp bgp' }}" global: _process: unnecessary @@ -255,18 +255,18 @@ global: state: _process: not_implemented config: - _process: not_implemented + _process: unnecessary as: _process: - mode: search - regexp: "local-as (?P.*)" - from: "{{ bookmarks['protocol'][protocol_key] }}" - default: "{{ extra_vars.process_id|default(1) }}" + - mode: search + regexp: "local-as (?P.*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + default: "{{ extra_vars.process_id|default(1) }}" router-id: _process: - mode: search - regexp: "router-id (?P.*)" - from: "{{ bookmarks['protocol'][protocol_key] }}" + - mode: search + regexp: "router-id (?P.*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" default-route-distance: _process: not_implemented config: @@ -355,10 +355,10 @@ neighbors: _process: unnecessary neighbor: _process: - mode: block - regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" - from: "{{ bookmarks['protocol'][protocol_key] }}" - flat: true + - mode: block + regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + flat: true add-paths: _process: not_implemented config: @@ -625,29 +625,29 @@ neighbors: _process: not_implemented description: _process: - mode: search - regexp: "neighbor {{ neighbor_key }} description (?P.*)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: search + regexp: "neighbor {{ neighbor_key }} description (?P.*)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" enabled: _process: - mode: is_absent - regexp: "neighbor {{ neighbor_key }} (?Pshutdown)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: is_absent + regexp: "neighbor {{ neighbor_key }} (?Pshutdown)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" local-as: _process: - mode: search - regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: search + regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" neighbor-address: _process: - mode: value - value: "{{ neighbor_key }}" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: value + value: "{{ neighbor_key }}" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" peer-as: _process: - mode: search - regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: search + regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" peer-group: _process: not_implemented peer-type: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 06d4492c..6145522c 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -1,7 +1,7 @@ --- _process: - mode: gate - when: "{{ protocol_key != 'static static' }}" + - mode: gate + when: "{{ protocol_key != 'static static' }}" static: _process: - mode: block @@ -18,8 +18,8 @@ static: _process: not_implemented prefix: _process: - mode: value - value: "{{ static_key }}" + - mode: value + value: "{{ static_key }}" set-tag: _process: not_implemented next-hops: @@ -35,12 +35,12 @@ static: _process: not_implemented metric: _process: - mode: value - value: "{{ extra_vars.metric }}" + - mode: value + value: "{{ extra_vars.metric }}" next-hop: _process: - mode: value - value: "{{ next_hop_key }}" + - mode: value + value: "{{ next_hop_key }}" recurse: _process: not_implemented index: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 088b11d4..93d852a4 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -10,25 +10,25 @@ network-instances: _process: unnecessary network-instance: _process: - mode: block - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" - from: "{{ bookmarks['network-instances'][0] }}" - mandatory: - - key: "global" - block: "" - extra_vars: {} + - mode: block + regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + mandatory: + - key: "global" + block: "" + extra_vars: {} afts: !include includes/afts.yaml config: _process: unnecessary description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.parent }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.parent }}" enabled: _process: - mode: value - value: true + - mode: value + value: true enabled-address-families: _process: not_implemented mtu: @@ -37,15 +37,15 @@ network-instances: _process: unnecessary route-distinguisher: _process: - mode: search - regexp: "rd (?P.*)" - from: "{{ bookmarks.parent }}" + - mode: search + regexp: "rd (?P.*)" + from: "{{ bookmarks.parent }}" router-id: _process: not_implemented type: _process: - mode: value - value: L3VRF + - mode: value + value: L3VRF connection-points: _process: not_implemented connection-point: diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index f2451646..03a2df51 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -33,7 +33,7 @@ def pretty_json(dictionary): test_config_profile_models = [ - # ["ios", napalm_yang.models.openconfig_interfaces, "default"], + ["ios", napalm_yang.models.openconfig_interfaces, "default"], ["eos", napalm_yang.models.openconfig_network_instance, "default"], ] @@ -70,7 +70,7 @@ def test_parse_config(self, profile, model, case): print(pretty_json(config.get(filter=True))) - # assert not napalm_yang.utils.diff(config, expected) + assert not napalm_yang.utils.diff(config, expected) @pytest.mark.parametrize("profile, model, case", test_config_profile_models) def test_translate(self, profile, model, case): From d7befa07c8fb4f9479bcc11e4dfaa867c8d915d7 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Fri, 5 May 2017 11:22:07 +0200 Subject: [PATCH 017/153] Propagate attribute name rather than yang_name --- napalm_yang/translator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 284fa970..ab534b2f 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -81,7 +81,7 @@ def _translate_container(self, attribute, model, mapping, translation, other): self.bookmarks, self.merge, self.replace, other_attr) translator.translate() else: - self._translate(v._yang_name, v, mapping[v._yang_name], et, other_attr) + self._translate(k, v, mapping[v._yang_name], et, other_attr) def _translate_list(self, attribute, model, mapping, translation, other): # Saving state to restore them later From c02ec45bfbfe68c3b101b45bf69ca1d3ad7367b2 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Fri, 5 May 2017 13:54:52 +0200 Subject: [PATCH 018/153] Minor fixes to the logic of the lists --- napalm_yang/translators/base.py | 34 ++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 37f445f4..a1434f0a 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -18,6 +18,11 @@ def __init__(self, merge, replace): def init_element(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + if m["mode"] == "skip": + continue + elif m["mode"] == "gate": + return + t = _find_translation_point(m, bookmarks, translation) method_name = "_init_element_{}".format(m["mode"]) et = getattr(self, method_name)(attribute, model, other, m, t) @@ -26,21 +31,37 @@ def init_element(self, attribute, model, other, mapping, translation, bookmarks) return None elif et is not None: return et + return translation def default_element(self, mapping, translation, bookmarks, replacing=False): for m in mapping: + if m["mode"] == "skip": + continue + elif m["mode"] == "gate": + return + t = _find_translation_point(m, bookmarks, translation) method_name = "_default_element_{}".format(m["mode"]) getattr(self, method_name)(m, t, replacing) def translate_leaf(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + if m["mode"] == "skip": + continue + elif m["mode"] == "gate": + return + t = _find_translation_point(m, bookmarks, translation) method_name = "_translate_leaf_{}".format(m["mode"]) getattr(self, method_name)(attribute, model, other, m, t) def translate_container(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + if m["mode"] == "skip": + continue + elif m["mode"] == "gate": + return + t = _find_translation_point(m, bookmarks, translation) method_name = "_translate_container_{}".format(m["mode"]) et = getattr(self, method_name)(attribute, model, other, m, t) @@ -49,17 +70,4 @@ def translate_container(self, attribute, model, other, mapping, translation, boo return None elif et is not None: return et - - def _translate_leaf_skip(self, attribute, model, other, mapping, translation): return translation - - _init_element_skip = _translate_leaf_skip - _translate_leaf_gate = _translate_leaf_skip - - def _translate_container_gate(self, attribute, model, other, mapping, translation): - return None - - _translate_container_skip = _translate_leaf_skip - - def _default_element_skip(self, mapping, translation, replacing): - return None From 97222d7b2b24917a62aaded8069a6ef38b957e92 Mon Sep 17 00:00:00 2001 From: Mircea Ulinic Date: Fri, 5 May 2017 15:30:30 +0100 Subject: [PATCH 019/153] Adding napalm-yang doc refs for Salt modules --- interactive_demo/tutorial.ipynb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/interactive_demo/tutorial.ipynb b/interactive_demo/tutorial.ipynb index 4295b36a..a4c16484 100644 --- a/interactive_demo/tutorial.ipynb +++ b/interactive_demo/tutorial.ipynb @@ -3544,6 +3544,21 @@ }, "outputs": [], "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Salt\n", + "\n", + "## napalm-yang is also inetgrated in the official SaltStack releases, beginning with Nitrogen.\n", + "\n", + "For complete documentation and usages examples, please check:\n\n", + "- [napalm-yang execution module](https://docs.saltstack.com/en/develop/ref/modules/all/salt.modules.napalm_yang_mod.html)\n", + "- [netyang state](https://docs.saltstack.com/en/develop/ref/states/all/salt.states.netyang.html)\n\n", + "They can be used like any other Salt native module, as long as the credentials have been declared in the pillar (either file or external service).\n", + "See the [proxy documentation](https://docs.saltstack.com/en/develop/ref/proxy/all/salt.proxy.napalm.html) for more details.\n" + ] } ], "metadata": { From fcbc77262c357d956c16e15914fe11261ee7e98d Mon Sep 17 00:00:00 2001 From: Mircea Ulinic Date: Fri, 5 May 2017 15:31:49 +0100 Subject: [PATCH 020/153] Typo --- interactive_demo/tutorial.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interactive_demo/tutorial.ipynb b/interactive_demo/tutorial.ipynb index a4c16484..f9b12f97 100644 --- a/interactive_demo/tutorial.ipynb +++ b/interactive_demo/tutorial.ipynb @@ -3551,7 +3551,7 @@ "source": [ "# Salt\n", "\n", - "## napalm-yang is also inetgrated in the official SaltStack releases, beginning with Nitrogen.\n", + "## napalm-yang is also integrated in the official SaltStack releases, beginning with Nitrogen.\n", "\n", "For complete documentation and usages examples, please check:\n\n", "- [napalm-yang execution module](https://docs.saltstack.com/en/develop/ref/modules/all/salt.modules.napalm_yang_mod.html)\n", From 1f9e9a6dbbcfc37314df23064a677fe2276e381f Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 12:49:56 +0200 Subject: [PATCH 021/153] We can now remove elements recursively in cases where the nesting of YANG model doesnt reflect the nesting in native configuration --- napalm_yang/translator.py | 59 +++++++++++++++++++++++---------- napalm_yang/translators/base.py | 4 ++- 2 files changed, 45 insertions(+), 18 deletions(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index ab534b2f..2cff8a9f 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -51,6 +51,11 @@ def _translate(self, attribute, model, mapping, translation, other): else: self._translate_leaf(attribute, model, mapping, translation, other) + def _translate_leaf(self, attribute, model, mapping, translation, other): + rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, + self.bookmarks) + self.translator.translate_leaf(attribute, model, other, rule, translation, self.bookmarks) + def _translate_container(self, attribute, model, mapping, translation, other): if model._yang_type: self.bookmarks["parent"] = translation @@ -128,20 +133,40 @@ def _translate_list(self, attribute, model, mapping, translation, other): if other: # Let's default elements not present in the model - for key in other: - element = other[key] - if key not in model.keys(): - key_name = "{}_key".format(attribute) - self.keys[key_name] = key - self.keys["parent_key"] = key - - translation_rule = helpers.resolve_rule(mapping["_process"], attribute, - self.keys, None, element, - self.bookmarks) - - self.translator.default_element(translation_rule, translation, self.bookmarks) - - def _translate_leaf(self, attribute, model, mapping, translation, other): - rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, - self.bookmarks) - self.translator.translate_leaf(attribute, model, other, rule, translation, self.bookmarks) + self._default_element_list(attribute, other, mapping, translation, model) + + def _default_element_list(self, attribute, running, mapping, translation, candidate): + for key in running: + logger.info("Defaulting {}: {}".format(attribute, key)) + element = running[key] + + candidate = candidate or {} + + if key not in candidate.keys(): + key_name = "{}_key".format(attribute) + self.keys[key_name] = key + self.keys["parent_key"] = key + + translation_rule = helpers.resolve_rule(mapping["_process"], attribute, + self.keys, None, element, + self.bookmarks) + + self.translator.default_element(translation_rule, translation, self.bookmarks, + recursive=candidate is {}) + + if any([t.get("continue_negating", False) for t in translation_rule]): + self._default_child(attribute, element, mapping, translation) + + def _default_child(self, attribute, running, mapping, translation): + logger.debug("Defaulting child attribute: {}".format(running._yang_path())) + + if running._is_container in ("container", ): + for k, v in running: + if not v._is_config or k == "state": + continue + elif v._defining_module != self._defining_module and v._defining_module is not None: + continue + else: + self._default_child(k, v, mapping[v._yang_name], translation) + elif running._yang_type in ("list", ): + self._default_element_list(attribute, running, mapping, translation, None) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index a1434f0a..531488e3 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -33,13 +33,15 @@ def init_element(self, attribute, model, other, mapping, translation, bookmarks) return et return translation - def default_element(self, mapping, translation, bookmarks, replacing=False): + def default_element(self, mapping, translation, bookmarks, replacing=False, recursive=False): for m in mapping: if m["mode"] == "skip": continue elif m["mode"] == "gate": return + if recursive and not m.get("negate_recursively", False): + continue t = _find_translation_point(m, bookmarks, translation) method_name = "_default_element_{}".format(m["mode"]) getattr(self, method_name)(m, t, replacing) From 491a17caab908079b70dd77e27fe55bf1b1509a6 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 12:50:18 +0200 Subject: [PATCH 022/153] Added network-instance parser/translator for EOS --- .../includes/afts.yaml | 55 + .../includes/bgp.yaml | 1169 +++++++++++++++++ .../includes/connection_points.yaml | 48 + .../includes/isis.yaml | 508 +++++++ .../includes/mpls.yaml | 585 +++++++++ .../includes/ospfv2.yaml | 224 ++++ .../includes/segment_routing.yaml | 38 + .../includes/static_routes.yaml | 63 + .../network-instances.yaml | 380 ++++++ 9 files changed, 3070 insertions(+) create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/afts.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/connection_points.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/isis.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/mpls.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/ospfv2.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/segment_routing.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/afts.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/afts.yaml new file mode 100644 index 00000000..86a8b9f7 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/afts.yaml @@ -0,0 +1,55 @@ +--- +_process: not_implemented +aft: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + match: + _process: not_implemented + interface-ref: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + next-hops: + _process: not_implemented + next-hop: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml new file mode 100644 index 00000000..8ddd1bf0 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml @@ -0,0 +1,1169 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" +global: + _process: unnecessary + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + confederation: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + member-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + as: + _process: unnecessary + router-id: + _process: + - mode: element + value: " router-id {{ model }}\n" + negate: " default router-id\n" + default-route-distance: + _process: not_implemented + config: + _process: not_implemented + external-route-distance: + _process: not_implemented + internal-route-distance: + _process: not_implemented + state: + _process: not_implemented + dynamic-neighbor-prefixes: + _process: not_implemented + dynamic-neighbor-prefix: + _process: not_implemented + config: + _process: not_implemented + peer-group: + _process: not_implemented + prefix: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +neighbors: + _process: unnecessary + neighbor: + _process: + - mode: container + key_value: " neighbor {{ neighbor_key }} remote-as {{ model.config.peer_as }}\n" + negate: " no neighbor {{ neighbor_key }}\n" + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + auth-password: + _process: not_implemented + description: + _process: + - mode: element + value: " neighbor {{ neighbor_key }} description {{ model }}\n" + negate: " default neighbor {{ neighbor_key }} description\n" + enabled: + _process: + - mode: element + value: " neighbor {{ neighbor_key }} shutdown\n" + negate: " default neighbor {{ neighbor_key }}\n" + when: "{{ not model }}" + local-as: + _process: + - mode: element + value: " neighbor {{ neighbor_key }} local-as {{ model }} no-prepend replace-as\n" + negate: " default neighbor {{ neighbor_key }} local-as\n" + neighbor-address: + _process: unnecessary + peer-as: + _process: unnecessary + peer-group: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + neighbor-address: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +peer-groups: + _process: not_implemented + peer-group: + _process: not_implemented + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + description: + _process: not_implemented + local-as: + _process: not_implemented + peer-as: + _process: not_implemented + peer-group-name: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + peer-group-name: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/connection_points.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/connection_points.yaml new file mode 100644 index 00000000..e4034df4 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/connection_points.yaml @@ -0,0 +1,48 @@ +--- +_process: not_implemented +connection-point: + _process: not_implemented + config: + _process: not_implemented + connection-point-id: + _process: not_implemented + connection-point-id: + _process: not_implemented + endpoints: + _process: not_implemented + endpoint: + _process: not_implemented + config: + _process: not_implemented + endpoint-id: + _process: not_implemented + precedence: + _process: not_implemented + type: + _process: not_implemented + endpoint-id: + _process: not_implemented + local: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + remote: + _process: not_implemented + config: + _process: not_implemented + remote-system: + _process: not_implemented + virtual-circuit-identifier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/isis.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/isis.yaml new file mode 100644 index 00000000..463623fd --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/isis.yaml @@ -0,0 +1,508 @@ +--- +_process: not_implemented +global: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + multi-topology: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + fast-flooding: + _process: not_implemented + iid-tlv: + _process: not_implemented + instance: + _process: not_implemented + level-capability: + _process: not_implemented + max-ecmp-paths: + _process: not_implemented + maximum-area-addresses: + _process: not_implemented + net: + _process: not_implemented + poi-tlv: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + afi: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + nh-type: + _process: not_implemented + state: + _process: not_implemented + inter-level-propagation-policies: + _process: not_implemented + level1-to-level2: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + level2-to-level1: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + lsp-bit: + _process: not_implemented + attached-bit: + _process: not_implemented + config: + _process: not_implemented + ignore-bit: + _process: not_implemented + suppress-bit: + _process: not_implemented + state: + _process: not_implemented + overload-bit: + _process: not_implemented + config: + _process: not_implemented + advertise-high-metric: + _process: not_implemented + set-bit: + _process: not_implemented + set-bit-on-boot: + _process: not_implemented + reset-triggers: + _process: not_implemented + reset-trigger: + _process: not_implemented + config: + _process: not_implemented + delay: + _process: not_implemented + reset-trigger: + _process: not_implemented + reset-trigger: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + nsr: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + config: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + state: + _process: not_implemented + segment-routing: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + srgb: + _process: not_implemented + srlb: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + lsp-lifetime-interval: + _process: not_implemented + lsp-refresh-interval: + _process: not_implemented + lsp-generation: + _process: not_implemented + config: + _process: not_implemented + lsp-first-wait-interval: + _process: not_implemented + lsp-max-wait-interval: + _process: not_implemented + lsp-second-wait-interval: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + spf-first-interval: + _process: not_implemented + spf-hold-interval: + _process: not_implemented + spf-second-interval: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + lsp-mtu-size: + _process: not_implemented + state: + _process: not_implemented +interfaces: + _process: not_implemented + interface: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + bfd: + _process: not_implemented + config: + _process: not_implemented + bfd-tlv: + _process: not_implemented + state: + _process: not_implemented + circuit-counters: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + circuit-type: + _process: not_implemented + enabled: + _process: not_implemented + hello-padding: + _process: not_implemented + interface-id: + _process: not_implemented + passive: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + levels: + _process: not_implemented + level: + _process: not_implemented + adjacencies: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + segment-routing: + _process: not_implemented + adjacency-sids: + _process: not_implemented + adjacency-sid: + _process: not_implemented + config: + _process: not_implemented + group: + _process: not_implemented + neighbor: + _process: not_implemented + protection-eligible: + _process: not_implemented + sid-id: + _process: not_implemented + neighbor: + _process: not_implemented + sid-id: + _process: not_implemented + state: + _process: not_implemented + prefix-sids: + _process: not_implemented + prefix-sid: + _process: not_implemented + config: + _process: not_implemented + label-options: + _process: not_implemented + prefix: + _process: not_implemented + sid-id: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + hello-authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + level-number: + _process: not_implemented + packet-counters: + _process: not_implemented + cnsp: + _process: not_implemented + state: + _process: not_implemented + esh: + _process: not_implemented + state: + _process: not_implemented + iih: + _process: not_implemented + state: + _process: not_implemented + ish: + _process: not_implemented + state: + _process: not_implemented + lsp: + _process: not_implemented + state: + _process: not_implemented + psnp: + _process: not_implemented + state: + _process: not_implemented + unknown: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + hello-multiplier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + csnp-interval: + _process: not_implemented + lsp-pacing-interval: + _process: not_implemented + state: + _process: not_implemented +levels: + _process: not_implemented + level: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + csnp-authentication: + _process: not_implemented + lsp-authentication: + _process: not_implemented + psnp-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + metric-style: + _process: not_implemented + level-number: + _process: not_implemented + link-state-database: + _process: not_implemented + route-preference: + _process: not_implemented + config: + _process: not_implemented + external-route-preference: + _process: not_implemented + internal-route-preference: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + system-level-counters: + _process: not_implemented + state: + _process: not_implemented + traffic-engineering: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ipv4-router-id: + _process: not_implemented + ipv6-router-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/mpls.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/mpls.yaml new file mode 100644 index 00000000..2922a092 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/mpls.yaml @@ -0,0 +1,585 @@ +--- +_process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + null-label: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + mpls-enabled: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + reserved-label-blocks: + _process: not_implemented + reserved-label-block: + _process: not_implemented + config: + _process: not_implemented + local-id: + _process: not_implemented + lower-bound: + _process: not_implemented + upper-bound: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +lsps: + _process: not_implemented + constrained-path: + _process: not_implemented + named-explicit-paths: + _process: not_implemented + named-explicit-path: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + sid-protection-required: + _process: not_implemented + sid-selection-mode: + _process: not_implemented + explicit-route-objects: + _process: not_implemented + explicit-route-object: + _process: not_implemented + config: + _process: not_implemented + address: + _process: not_implemented + hop-type: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + tunnels: + _process: not_implemented + tunnel: + _process: not_implemented + bandwidth: + _process: not_implemented + auto-bandwidth: + _process: not_implemented + config: + _process: not_implemented + adjust-interval: + _process: not_implemented + adjust-threshold: + _process: not_implemented + enabled: + _process: not_implemented + max-bw: + _process: not_implemented + min-bw: + _process: not_implemented + overflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + overflow-threshold: + _process: not_implemented + trigger-event-count: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + underflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + trigger-event-count: + _process: not_implemented + underflow-threshold: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + set-bandwidth: + _process: not_implemented + specification-type: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + admin-status: + _process: not_implemented + description: + _process: not_implemented + hold-priority: + _process: not_implemented + metric: + _process: not_implemented + metric-type: + _process: not_implemented + name: + _process: not_implemented + preference: + _process: not_implemented + protection-style-requested: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + shortcut-eligible: + _process: not_implemented + signaling-protocol: + _process: not_implemented + soft-preemption: + _process: not_implemented + source: + _process: not_implemented + type: + _process: not_implemented + name: + _process: not_implemented + p2p-tunnel-attributes: + _process: not_implemented + config: + _process: not_implemented + destination: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + candidate-secondary-paths: + _process: not_implemented + candidate-secondary-path: + _process: not_implemented + config: + _process: not_implemented + priority: + _process: not_implemented + secondary-path: + _process: not_implemented + secondary-path: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + p2p-secondary-paths: + _process: not_implemented + p2p-secondary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + static-lsps: + _process: not_implemented + static-lsp: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + egress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + ingress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + transit: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + unconstrained-path: + _process: not_implemented + path-setup-protocol: + _process: not_implemented +signaling-protocols: + _process: not_implemented + rsvp-te: + _process: not_implemented + global: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + recovery-time: + _process: not_implemented + restart-time: + _process: not_implemented + state: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + soft-preemption: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + soft-preemption-timeout: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + authentication-key: + _process: not_implemented + enable: + _process: not_implemented + state: + _process: not_implemented + bandwidth-reservations: + _process: not_implemented + bandwidth-reservation: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + protection: + _process: not_implemented + config: + _process: not_implemented + bypass-optimize-interval: + _process: not_implemented + link-protection-style-requested: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + subscription: + _process: not_implemented + config: + _process: not_implemented + subscription: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + sessions: + _process: not_implemented + session: + _process: not_implemented + segment-routing: + _process: not_implemented + aggregate-sid-counters: + _process: not_implemented + aggregate-sid-counter: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + sid-counters: + _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented +te-global-attributes: + _process: not_implemented + mpls-admin-groups: + _process: not_implemented + admin-group: + _process: not_implemented + admin-group-name: + _process: not_implemented + config: + _process: not_implemented + admin-group-name: + _process: not_implemented + bit-position: + _process: not_implemented + state: + _process: not_implemented + srlgs: + _process: not_implemented + srlg: + _process: not_implemented + config: + _process: not_implemented + cost: + _process: not_implemented + flooding-type: + _process: not_implemented + name: + _process: not_implemented + value: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + static-srlg-members: + _process: not_implemented + members-list: + _process: not_implemented + config: + _process: not_implemented + from-address: + _process: not_implemented + to-address: + _process: not_implemented + from-address: + _process: not_implemented + state: + _process: not_implemented + te-lsp-timers: + _process: not_implemented + config: + _process: not_implemented + cleanup-delay: + _process: not_implemented + install-delay: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + state: + _process: not_implemented +te-interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + admin-group: + _process: not_implemented + interface-id: + _process: not_implemented + srlg-membership: + _process: not_implemented + te-metric: + _process: not_implemented + igp-flooding-bandwidth: + _process: not_implemented + config: + _process: not_implemented + delta-percentage: + _process: not_implemented + down-thresholds: + _process: not_implemented + threshold-specification: + _process: not_implemented + threshold-type: + _process: not_implemented + up-down-thresholds: + _process: not_implemented + up-thresholds: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/ospfv2.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/ospfv2.yaml new file mode 100644 index 00000000..adf0afef --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/ospfv2.yaml @@ -0,0 +1,224 @@ +--- +_process: not_implemented +areas: + _process: not_implemented + area: + _process: not_implemented + config: + _process: not_implemented + identifier: + _process: not_implemented + identifier: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + authentication-type: + _process: not_implemented + hide-network: + _process: not_implemented + id: + _process: not_implemented + metric: + _process: not_implemented + multi-area-adjacency-primary: + _process: not_implemented + network-type: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + lsa-filter: + _process: not_implemented + config: + _process: not_implemented + all: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-metric: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + config: + _process: not_implemented + metric: + _process: not_implemented + router-id: + _process: not_implemented + router-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + dead-interval: + _process: not_implemented + hello-interval: + _process: not_implemented + retransmission-interval: + _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-enabled: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + virtual-links: + _process: not_implemented + virtual-link: + _process: not_implemented + config: + _process: not_implemented + remote-router-id: + _process: not_implemented + remote-router-id: + _process: not_implemented + state: + _process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + hide-transit-only-networks: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + log-adjacency-changes: + _process: not_implemented + router-id: + _process: not_implemented + summary-route-cost-mode: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + inter-area-propagation-policies: + _process: not_implemented + inter-area-propagation-policy: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-area: + _process: not_implemented + import-policy: + _process: not_implemented + src-area: + _process: not_implemented + dst-area: + _process: not_implemented + src-area: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-extensions: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + lsa-generation: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented + max-metric: + _process: not_implemented + config: + _process: not_implemented + include: + _process: not_implemented + set: + _process: not_implemented + timeout: + _process: not_implemented + trigger: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/segment_routing.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/segment_routing.yaml new file mode 100644 index 00000000..58593331 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/segment_routing.yaml @@ -0,0 +1,38 @@ +--- +_process: not_implemented +srgbs: + _process: not_implemented + srgb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefixes: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-blocks: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented +srlbs: + _process: not_implemented + srlb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefix: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-block: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml new file mode 100644 index 00000000..c92de95a --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml @@ -0,0 +1,63 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'static static' }}" +static: + _process: unnecessary + config: + _process: unnecessary + prefix: + _process: unnecessary + set-tag: + _process: not_implemented + next-hops: + _process: unnecessary + next-hop: + _process: + - mode: container + key_value: "ip route {{ static_key }} {{ next_hop_key }}\n" + negate: "no ip route {{ static_key }} {{ next_hop_key }}\n" + when: "{{ network_instance_key == 'global' }}" + in: "network-instances" + - mode: container + key_value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }}\n" + negate: "no ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }}\n" + when: "{{ network_instance_key != 'global' }}" + in: "network-instances" + config: + _process: unnecessary + index: + _process: not_implemented + metric: + _process: + - mode: element + value: "ip route {{ static_key }} {{ next_hop_key }} {{ model }}\n" + negate: "ip route {{ static_key }} {{ next_hop_key }} 1\n" + when: "{{ network_instance_key == 'global' }}" + - mode: element + value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }} {{ model }}\n" + negate: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }} 1\n" + when: "{{ network_instance_key != 'global' }}" + next-hop: + _process: unnecessary + recurse: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml new file mode 100644 index 00000000..5f9f8564 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml @@ -0,0 +1,380 @@ +--- +metadata: + processor: TextTranslator + root: true + +network-instances: + _process: unnecessary + network-instance: + _process: + - mode: container + key_value: "vrf definition {{ network_instance_key }}\n" + negate: "no vrf definition {{ network_instance_key }}\n" + continue_negating: true + end: " exit\n" + when: "{{ network_instance_key != 'global' }}" + afts: !include includes/afts.yaml + config: + _process: unnecessary + description: + _process: + - mode: element + value: " description {{ model }}\n" + negate: " default description\n" + enabled: + _process: unnecessary + enabled-address-families: + _process: not_implemented + mtu: + _process: not_implemented + name: + _process: unnecessary + route-distinguisher: + _process: + - mode: element + value: " rd {{ model }}\n" + negate: " default rd\n" + router-id: + _process: not_implemented + type: + _process: unnecessary + connection-points: !include includes/connection_points.yaml + encapsulation: + _process: not_implemented + config: + _process: not_implemented + control-word: + _process: not_implemented + encapsulation-type: + _process: not_implemented + label-allocation-mode: + _process: not_implemented + state: + _process: not_implemented + fdb: + _process: not_implemented + config: + _process: not_implemented + mac-aging-time: + _process: not_implemented + mac-learning: + _process: not_implemented + maximum-entries: + _process: not_implemented + mac-table: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + mac-address: + _process: not_implemented + vlan: + _process: not_implemented + interface: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + mac-address: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + inter-instance-policies: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + associated-address-families: + _process: not_implemented + id: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + id: + _process: not_implemented + state: + _process: not_implemented + mpls: !include includes/mpls.yaml + name: + _process: unnecessary + policy-forwarding: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + apply-forwarding-policy: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + path-selection-groups: + _process: not_implemented + path-selection-group: + _process: not_implemented + config: + _process: not_implemented + group-id: + _process: not_implemented + mpls-lsp: + _process: not_implemented + group-id: + _process: not_implemented + state: + _process: not_implemented + policies: + _process: not_implemented + policy: + _process: not_implemented + config: + _process: not_implemented + policy-id: + _process: not_implemented + policy-id: + _process: not_implemented + rules: + _process: not_implemented + rule: + _process: not_implemented + action: + _process: not_implemented + config: + _process: not_implemented + decapsulate-gre: + _process: not_implemented + discard: + _process: not_implemented + network-instance: + _process: not_implemented + next-hop: + _process: not_implemented + path-selection-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + sequence-id: + _process: not_implemented + ip: + _process: not_implemented + config: + _process: not_implemented + destination-ip-address: + _process: not_implemented + destination-ip-flow-label: + _process: not_implemented + dscp: + _process: not_implemented + hop-limit: + _process: not_implemented + ip-version: + _process: not_implemented + protocol: + _process: not_implemented + source-ip-address: + _process: not_implemented + source-ip-flow-label: + _process: not_implemented + state: + _process: not_implemented + l2: + _process: not_implemented + config: + _process: not_implemented + destination-mac: + _process: not_implemented + destination-mac-mask: + _process: not_implemented + ethertype: + _process: not_implemented + source-mac: + _process: not_implemented + source-mac-mask: + _process: not_implemented + state: + _process: not_implemented + sequence-id: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + destination-port: + _process: not_implemented + source-port: + _process: not_implemented + tcp-flags: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + protocols: + _process: unnecessary + protocol: + _process: + - mode: container + key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n" + negate: "no router bgp {{ model.bgp.global_.config.as_ }}\n" + negate_recursively: true + end: " exit\n" + when: "{{ protocol_key == 'bgp bgp' and network_instance_key == 'global' }}" + in: "network-instances" + - mode: container + key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n vrf {{ network_instance_key}}\n" + negate: "router bgp {{ model.bgp.global_.config.as_ }}\n no vrf {{ network_instance_key}}\n" + negate_recursively: true + end: " exit\n" + when: "{{ protocol_key == 'bgp bgp' and network_instance_key != 'global' }}" + replace: false + in: "network-instances" + bgp: !include includes/bgp.yaml + config: + _process: not_implemented + default-metric: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + name: + _process: not_implemented + identifier: + _process: unnecessary + isis: !include includes/isis.yaml + local-aggregates: + _process: not_implemented + aggregate: + _process: not_implemented + config: + _process: not_implemented + discard: + _process: not_implemented + prefix: + _process: not_implemented + set-tag: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + name: + _process: unnecessary + ospfv2: !include includes/ospfv2.yaml + state: + _process: not_implemented + static-routes: !include includes/static_routes.yaml + segment-routing: !include includes/segment_routing.yaml + state: + _process: not_implemented + table-connections: + _process: not_implemented + table-connection: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-protocol: + _process: not_implemented + import-policy: + _process: not_implemented + src-protocol: + _process: not_implemented + dst-protocol: + _process: not_implemented + src-protocol: + _process: not_implemented + state: + _process: not_implemented + tables: + _process: not_implemented + table: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + protocol: + _process: not_implemented + protocol: + _process: not_implemented + state: + _process: not_implemented + vlans: + _process: not_implemented + vlan: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + status: + _process: not_implemented + tpid: + _process: not_implemented + vlan-id: + _process: not_implemented + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented From 78bb9ac85ee2b9a5c17c0a9eb998631a2f220eab Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 13:22:40 +0200 Subject: [PATCH 023/153] Added tests for network-instance/eos --- .../default/candidate.json | 208 +++++++++++++++++ .../default/config.txt | 2 +- .../default/expected.json | 220 +++++++++++++++++- .../default/merge.txt | 23 ++ .../default/replace.txt | 45 ++++ .../default/translation.txt | 36 +++ test/integration/test_profiles.py | 2 +- 7 files changed, 533 insertions(+), 3 deletions(-) create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json b/test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json new file mode 100644 index 00000000..736f3e89 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json @@ -0,0 +1,208 @@ +{ + "network_instances": { + "network-instance": { + "devel": { + "config": { + "enabled": true, + "route-distinguisher": "1:2", + "type": "L3VRF" + }, + "name": "devel", + "protocols": { + "protocol": { + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "global": { + "config": { + "enabled": true, + "type": "L3VRF" + }, + "name": "global", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "1.1.1.1" + } + }, + "neighbors": { + "neighbor": { + "192.168.0.200": { + "config": { + "description": "asdasd qweq asdasd", + "enabled": true, + "neighbor-address": "192.168.0.200", + "peer-as": 65100 + }, + "neighbor-address": "192.168.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + }, + "192.168.0.3": { + "config": { + "metric": 1, + "next-hop": "192.168.0.3" + }, + "index": "192.168.0.3" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "frontend": { + "config": { + "description": "Production VRF", + "enabled": true, + "route-distinguisher": "1:1", + "type": "L3VRF" + }, + "name": "frontend", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "2.2.2.2" + } + }, + "neighbors": { + "neighbor": { + "172.20.0.200": { + "config": { + "enabled": true, + "local-as": 100, + "neighbor-address": "172.20.0.200", + "peer-as": 65100 + }, + "neighbor-address": "172.20.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + } + } + } +} + diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt index 52cc0e1e..d1d09b83 100755 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt @@ -1206,7 +1206,7 @@ ip virtual-router mac-address advertisement-interval 30 ! no ipv6 hardware fib nexthop-index ! -ip route 10.0.0.0/24 192.168.0.2 1 tag 0 +ip route 10.0.0.0/24 192.168.0.2 10 tag 0 ip route 10.0.0.0/24 192.168.0.3 1 tag 0 ip route 10.0.1.0/24 192.168.0.2 1 tag 0 ip route vrf prod 10.0.0.0/24 172.20.0.2 1 tag 0 diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json index 0967ef42..40d42873 100644 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json @@ -1 +1,219 @@ -{} +{ + "network_instances": { + "network-instance": { + "devel": { + "config": { + "enabled": true, + "route-distinguisher": "1:2", + "type": "L3VRF" + }, + "name": "devel", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "3.3.3.3" + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "global": { + "config": { + "enabled": true, + "type": "L3VRF" + }, + "name": "global", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "1.1.1.1" + } + }, + "neighbors": { + "neighbor": { + "192.168.0.200": { + "config": { + "description": "asdasd qweq asdasd", + "enabled": true, + "neighbor-address": "192.168.0.200", + "peer-as": 65100 + }, + "neighbor-address": "192.168.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 10, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + }, + "192.168.0.3": { + "config": { + "metric": 1, + "next-hop": "192.168.0.3" + }, + "index": "192.168.0.3" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "prod": { + "config": { + "description": "Production VRF", + "enabled": true, + "route-distinguisher": "1:1", + "type": "L3VRF" + }, + "name": "prod", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "2.2.2.2" + } + }, + "neighbors": { + "neighbor": { + "172.20.0.200": { + "config": { + "enabled": true, + "local-as": 100, + "neighbor-address": "172.20.0.200", + "peer-as": 65100 + }, + "neighbor-address": "172.20.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + } + } + } +} diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt new file mode 100644 index 00000000..a92907a2 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt @@ -0,0 +1,23 @@ +ip route 10.0.0.0/24 192.168.0.2 +ip route 10.0.0.0/24 192.168.0.2 1 +vrf definition frontend + rd 1:1 + description Production VRF + exit +router bgp 65001 + vrf frontend + neighbor 172.20.0.200 remote-as 65100 + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + router-id 2.2.2.2 + exit +ip route vrf frontend 10.0.0.0/24 172.20.0.2 +ip route vrf frontend 10.0.0.0/24 172.20.0.2 1 +ip route vrf frontend 10.0.1.0/24 172.20.0.2 +ip route vrf frontend 10.0.1.0/24 172.20.0.2 1 +vrf definition devel + exit +router bgp 65001 + no vrf devel +no vrf definition prod +router bgp 65001 + no vrf prod diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt new file mode 100644 index 00000000..5583cdfa --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt @@ -0,0 +1,45 @@ +no router bgp 65001 +router bgp 65001 + no neighbor 192.168.0.200 + neighbor 192.168.0.200 remote-as 65100 + neighbor 192.168.0.200 description asdasd qweq asdasd + router-id 1.1.1.1 + exit +no ip route 10.0.0.0/24 192.168.0.2 +ip route 10.0.0.0/24 192.168.0.2 +ip route 10.0.0.0/24 192.168.0.2 1 +no ip route 10.0.0.0/24 192.168.0.3 +ip route 10.0.0.0/24 192.168.0.3 +ip route 10.0.0.0/24 192.168.0.3 1 +no ip route 10.0.1.0/24 192.168.0.2 +ip route 10.0.1.0/24 192.168.0.2 +ip route 10.0.1.0/24 192.168.0.2 1 +no vrf definition frontend +vrf definition frontend + rd 1:1 + description Production VRF + exit +router bgp 65001 + vrf frontend + no neighbor 172.20.0.200 + neighbor 172.20.0.200 remote-as 65100 + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + router-id 2.2.2.2 + exit +no ip route vrf frontend 10.0.0.0/24 172.20.0.2 +ip route vrf frontend 10.0.0.0/24 172.20.0.2 +ip route vrf frontend 10.0.0.0/24 172.20.0.2 1 +no ip route vrf frontend 10.0.1.0/24 172.20.0.2 +ip route vrf frontend 10.0.1.0/24 172.20.0.2 +ip route vrf frontend 10.0.1.0/24 172.20.0.2 1 +no vrf definition devel +vrf definition devel + rd 1:2 + exit +no ip route vrf devel 10.0.0.0/24 192.168.2.2 +ip route vrf devel 10.0.0.0/24 192.168.2.2 +ip route vrf devel 10.0.0.0/24 192.168.2.2 1 +no ip route vrf devel 10.0.1.0/24 192.168.2.2 +ip route vrf devel 10.0.1.0/24 192.168.2.2 +ip route vrf devel 10.0.1.0/24 192.168.2.2 1 +no vrf definition prod diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt new file mode 100644 index 00000000..1b0bac91 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt @@ -0,0 +1,36 @@ +router bgp 65001 + neighbor 192.168.0.200 remote-as 65100 + neighbor 192.168.0.200 description asdasd qweq asdasd + router-id 1.1.1.1 + exit +ip route 10.0.0.0/24 192.168.0.2 +ip route 10.0.0.0/24 192.168.0.2 10 +ip route 10.0.0.0/24 192.168.0.3 +ip route 10.0.0.0/24 192.168.0.3 1 +ip route 10.0.1.0/24 192.168.0.2 +ip route 10.0.1.0/24 192.168.0.2 1 +vrf definition prod + rd 1:1 + description Production VRF + exit +router bgp 65001 + vrf prod + neighbor 172.20.0.200 remote-as 65100 + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + router-id 2.2.2.2 + exit +ip route vrf prod 10.0.0.0/24 172.20.0.2 +ip route vrf prod 10.0.0.0/24 172.20.0.2 1 +ip route vrf prod 10.0.1.0/24 172.20.0.2 +ip route vrf prod 10.0.1.0/24 172.20.0.2 1 +vrf definition devel + rd 1:2 + exit +router bgp 65001 + vrf devel + router-id 3.3.3.3 + exit +ip route vrf devel 10.0.0.0/24 192.168.2.2 +ip route vrf devel 10.0.0.0/24 192.168.2.2 1 +ip route vrf devel 10.0.1.0/24 192.168.2.2 +ip route vrf devel 10.0.1.0/24 192.168.2.2 1 diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 03a2df51..57321fcc 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -68,7 +68,7 @@ def test_parse_config(self, profile, model, case): expected.add_model(model) expected.load_dict(expected_json) - print(pretty_json(config.get(filter=True))) + # print(pretty_json(config.get(filter=True))) assert not napalm_yang.utils.diff(config, expected) From f91e4b5ed4251884b2a07c2263924ca29981ff81 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 18:48:20 +0200 Subject: [PATCH 024/153] Minor fix to network-instance/eos --- .../includes/static_routes.yaml | 2 +- .../network-instances.yaml | 38 ++++++++++--------- .../default/expected.json | 20 +++++++++- 3 files changed, 41 insertions(+), 19 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 6145522c..68dd311d 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -15,7 +15,7 @@ static: when: "{{ network_instance_key != 'global' }}" flat: true config: - _process: not_implemented + _process: unnecessary prefix: _process: - mode: value diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 93d852a4..e5e7afce 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -10,25 +10,25 @@ network-instances: _process: unnecessary network-instance: _process: - - mode: block - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" - from: "{{ bookmarks['network-instances'][0] }}" - mandatory: - - key: "global" - block: "" - extra_vars: {} + - mode: block + regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + mandatory: + - key: "global" + block: "" + extra_vars: {} afts: !include includes/afts.yaml config: _process: unnecessary description: _process: - - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.parent }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.parent }}" enabled: _process: - - mode: value - value: true + - mode: value + value: true enabled-address-families: _process: not_implemented mtu: @@ -37,15 +37,19 @@ network-instances: _process: unnecessary route-distinguisher: _process: - - mode: search - regexp: "rd (?P.*)" - from: "{{ bookmarks.parent }}" + - mode: search + regexp: "rd (?P.*)" + from: "{{ bookmarks.parent }}" router-id: _process: not_implemented type: _process: - - mode: value - value: L3VRF + - mode: value + value: DEFAULT_INSTANCE + when: "{{ network_instance_key == 'global' }}" + - mode: value + value: L3VRF + when: "{{ network_instance_key != 'global' }}" connection-points: _process: not_implemented connection-point: diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json index 40d42873..b6d7e08e 100644 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json @@ -28,6 +28,9 @@ "static-routes": { "static": { "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, "next-hops": { "next-hop": { "192.168.2.2": { @@ -42,6 +45,9 @@ "prefix": "10.0.0.0/24" }, "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, "next-hops": { "next-hop": { "192.168.2.2": { @@ -64,7 +70,7 @@ "global": { "config": { "enabled": true, - "type": "L3VRF" + "type": "DEFAULT_INSTANCE" }, "name": "global", "protocols": { @@ -100,6 +106,9 @@ "static-routes": { "static": { "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, "next-hops": { "next-hop": { "192.168.0.2": { @@ -121,6 +130,9 @@ "prefix": "10.0.0.0/24" }, "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, "next-hops": { "next-hop": { "192.168.0.2": { @@ -181,6 +193,9 @@ "static-routes": { "static": { "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, "next-hops": { "next-hop": { "172.20.0.2": { @@ -195,6 +210,9 @@ "prefix": "10.0.0.0/24" }, "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, "next-hops": { "next-hop": { "172.20.0.2": { From 07a21e4c29c7da51148f72c780057eccc2444b44 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 20:42:49 +0200 Subject: [PATCH 025/153] Various improvement to xml parser --- napalm_yang/parsers/xml.py | 116 ++++++++++++++++++++++++++++++++++++- 1 file changed, 113 insertions(+), 3 deletions(-) diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index 2784fd46..aa04f6d2 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -1,4 +1,7 @@ from lxml import etree + +import itertools + import re from napalm_yang.parsers.base import BaseParser @@ -10,9 +13,116 @@ class XMLParser(BaseParser): def _parse_list_xpath(cls, mapping): xml = etree.fromstring(mapping["from"]) - for element in xml.xpath(mapping["xpath"]): - key = element.xpath("name")[0].text.strip() - yield key, etree.tostring(element), {} + mandatory_elements = mapping.pop("mandatory", []) + + for element in itertools.chain(xml.xpath(mapping["xpath"]), mandatory_elements): + if isinstance(element, dict): + yield element["key"], element["block"], element["extra_vars"] + else: + key = element.xpath(mapping["key"])[0].text.strip() + yield key, etree.tostring(element), {} + + @classmethod + def _parse_list_nested(cls, mapping): + xml = etree.fromstring(mapping["from"]) + path = mapping["xpath"].split("/") + iterators = [] + list_vars = [] + cls._parse_list_nested_recursive(xml, path, iterators, list_vars) + return cls._parse_list_container_helper(mapping, iterators, xml, list_vars) + + @classmethod + def _parse_list_nested_recursive(cls, xml, path, iterators, list_vars, cur_vars=None): + """ + This helps parsing shit like: + + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + 192.168.100.3 + 65100 + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + + + """ + cur_vars = dict(cur_vars) if cur_vars else {} + if path: + p = path[0] + path = path[1:] + else: + for _ in xml: + list_vars.append(cur_vars) + iterators.append(xml) + return xml + + if p.startswith("?"): + for x in xml: + key, var_path = p.split(".") + cur_vars.update({key.lstrip("?"): x.xpath(var_path)[0].text}) + cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) + else: + x = xml.xpath(p) + cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) + + @classmethod + def _parse_list_container_helper(cls, mapping, iterators, root, list_vars=None): + mandatory_elements = mapping.pop("mandatory", []) + + iterators = itertools.chain.from_iterable(iterators) + + for element in itertools.chain(iterators, mandatory_elements): + if isinstance(element, dict): + yield element["key"], element["block"], element["extra_vars"] + else: + key_name = "{}_name".format(root.tag if mapping.get("nested", False) + else root[0].tag) + extra_vars = { + key_name: element.tag + } + + if list_vars: + extra_vars.update(list_vars.pop(0)) + + composite_key = mapping.get("composite_key", None) + forced_key = mapping.get("key", None) + key_attribute = mapping.get("key_attribute", None) + + if composite_key: + key = " ".join([extra_vars[k] for k in composite_key]) + elif forced_key: + key = forced_key + elif key_attribute: + key = element.xpath(key_attribute)[0].text.strip() + else: + key = element.tag + + yield key, etree.tostring(element), extra_vars + + @classmethod + def _parse_list_container(cls, mapping): + xml = etree.fromstring(mapping["from"]) + xml = xml.xpath(mapping["xpath"]) + + nested = mapping.get("nested", False) + root = xml[0] if nested and len(xml) else xml + + return cls._parse_list_container_helper(mapping, [root], root) @classmethod def _parse_leaf_xpath(cls, mapping, check_default=True, check_presence=False): From a38b46d472ddbd0ab1d4e80cf2855ae893a810cc Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 20:43:08 +0200 Subject: [PATCH 026/153] Added missing key --- .../junos/parsers/state/openconfig-interfaces/interfaces.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index 1ba450bd..af6f78c0 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -158,6 +158,7 @@ interfaces: _process: - mode: xpath xpath: "logical-interface" + key: name from: "{{ bookmarks['parent'] }}" index: _process: unnecessary From 285e70dd8eca9aff3fb84aeb2a52cbbe6240236a Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 20:53:28 +0200 Subject: [PATCH 027/153] Added config parser for network-instances/junos --- .../includes/afts.yaml | 54 + .../includes/bgp.yaml | 1176 +++++++++++++++++ .../includes/isis.yaml | 508 +++++++ .../includes/mpls.yaml | 584 ++++++++ .../includes/ospfv2.yaml | 224 ++++ .../includes/static_routes.yaml | 60 + .../network-instances.yaml | 472 +++++++ .../default/candidate.json | 208 +++ .../default/config.txt | 285 ++++ .../default/expected.json | 250 ++++ .../default/merge.txt | 1 + .../default/replace.txt | 1 + .../default/translation.txt | 1 + test/integration/test_profiles.py | 1 + 14 files changed, 3825 insertions(+) create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/afts.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/isis.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/mpls.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json create mode 100755 test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/afts.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/afts.yaml new file mode 100644 index 00000000..bd462863 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/afts.yaml @@ -0,0 +1,54 @@ +_process: not_implemented +aft: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + match: + _process: not_implemented + interface-ref: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + next-hops: + _process: not_implemented + next-hop: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml new file mode 100644 index 00000000..37d65f08 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -0,0 +1,1176 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" +global: + _process: unnecessary + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + confederation: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + member-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + as: + _process: + - mode: xpath + xpath: "routing-options/autonomous-system/as-number" + from: "{{ bookmarks['network_instance'][network_instance_key] }}" + router-id: + _process: + - mode: xpath + xpath: "routing-options/router-id" + from: "{{ bookmarks['network_instance'][network_instance_key] }}" + default-route-distance: + _process: not_implemented + config: + _process: not_implemented + external-route-distance: + _process: not_implemented + internal-route-distance: + _process: not_implemented + state: + _process: not_implemented + dynamic-neighbor-prefixes: + _process: not_implemented + dynamic-neighbor-prefix: + _process: not_implemented + config: + _process: not_implemented + peer-group: + _process: not_implemented + prefix: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +neighbors: + _process: unnecessary + neighbor: + _process: + - mode: nested + xpath: "group/?peer_group.name/neighbor" + key_attribute: name + from: "{{ bookmarks.parent }}" + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + auth-password: + _process: not_implemented + description: + _process: + - mode: xpath + xpath: "description" + from: "{{ bookmarks.parent }}" + enabled: + _process: not_implemented + local-as: + _process: + - mode: xpath + xpath: "local-as.as-number" + from: "{{ bookmarks.parent }}" + neighbor-address: + _process: + - mode: value + value: "{{ neighbor_key }}" + peer-as: + _process: + - mode: xpath + xpath: "peer-as" + from: "{{ bookmarks.parent }}" + peer-group: + _process: + - mode: value + value: "{{ extra_vars.peer_group }}" + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + neighbor-address: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +peer-groups: + _process: not_implemented + peer-group: + _process: not_implemented + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + description: + _process: not_implemented + local-as: + _process: not_implemented + peer-as: + _process: not_implemented + peer-group-name: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + peer-group-name: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/isis.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/isis.yaml new file mode 100644 index 00000000..463623fd --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/isis.yaml @@ -0,0 +1,508 @@ +--- +_process: not_implemented +global: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + multi-topology: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + fast-flooding: + _process: not_implemented + iid-tlv: + _process: not_implemented + instance: + _process: not_implemented + level-capability: + _process: not_implemented + max-ecmp-paths: + _process: not_implemented + maximum-area-addresses: + _process: not_implemented + net: + _process: not_implemented + poi-tlv: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + afi: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + nh-type: + _process: not_implemented + state: + _process: not_implemented + inter-level-propagation-policies: + _process: not_implemented + level1-to-level2: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + level2-to-level1: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + lsp-bit: + _process: not_implemented + attached-bit: + _process: not_implemented + config: + _process: not_implemented + ignore-bit: + _process: not_implemented + suppress-bit: + _process: not_implemented + state: + _process: not_implemented + overload-bit: + _process: not_implemented + config: + _process: not_implemented + advertise-high-metric: + _process: not_implemented + set-bit: + _process: not_implemented + set-bit-on-boot: + _process: not_implemented + reset-triggers: + _process: not_implemented + reset-trigger: + _process: not_implemented + config: + _process: not_implemented + delay: + _process: not_implemented + reset-trigger: + _process: not_implemented + reset-trigger: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + nsr: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + config: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + state: + _process: not_implemented + segment-routing: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + srgb: + _process: not_implemented + srlb: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + lsp-lifetime-interval: + _process: not_implemented + lsp-refresh-interval: + _process: not_implemented + lsp-generation: + _process: not_implemented + config: + _process: not_implemented + lsp-first-wait-interval: + _process: not_implemented + lsp-max-wait-interval: + _process: not_implemented + lsp-second-wait-interval: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + spf-first-interval: + _process: not_implemented + spf-hold-interval: + _process: not_implemented + spf-second-interval: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + lsp-mtu-size: + _process: not_implemented + state: + _process: not_implemented +interfaces: + _process: not_implemented + interface: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + bfd: + _process: not_implemented + config: + _process: not_implemented + bfd-tlv: + _process: not_implemented + state: + _process: not_implemented + circuit-counters: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + circuit-type: + _process: not_implemented + enabled: + _process: not_implemented + hello-padding: + _process: not_implemented + interface-id: + _process: not_implemented + passive: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + levels: + _process: not_implemented + level: + _process: not_implemented + adjacencies: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + segment-routing: + _process: not_implemented + adjacency-sids: + _process: not_implemented + adjacency-sid: + _process: not_implemented + config: + _process: not_implemented + group: + _process: not_implemented + neighbor: + _process: not_implemented + protection-eligible: + _process: not_implemented + sid-id: + _process: not_implemented + neighbor: + _process: not_implemented + sid-id: + _process: not_implemented + state: + _process: not_implemented + prefix-sids: + _process: not_implemented + prefix-sid: + _process: not_implemented + config: + _process: not_implemented + label-options: + _process: not_implemented + prefix: + _process: not_implemented + sid-id: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + hello-authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + level-number: + _process: not_implemented + packet-counters: + _process: not_implemented + cnsp: + _process: not_implemented + state: + _process: not_implemented + esh: + _process: not_implemented + state: + _process: not_implemented + iih: + _process: not_implemented + state: + _process: not_implemented + ish: + _process: not_implemented + state: + _process: not_implemented + lsp: + _process: not_implemented + state: + _process: not_implemented + psnp: + _process: not_implemented + state: + _process: not_implemented + unknown: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + hello-multiplier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + csnp-interval: + _process: not_implemented + lsp-pacing-interval: + _process: not_implemented + state: + _process: not_implemented +levels: + _process: not_implemented + level: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + csnp-authentication: + _process: not_implemented + lsp-authentication: + _process: not_implemented + psnp-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + metric-style: + _process: not_implemented + level-number: + _process: not_implemented + link-state-database: + _process: not_implemented + route-preference: + _process: not_implemented + config: + _process: not_implemented + external-route-preference: + _process: not_implemented + internal-route-preference: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + system-level-counters: + _process: not_implemented + state: + _process: not_implemented + traffic-engineering: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ipv4-router-id: + _process: not_implemented + ipv6-router-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/mpls.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/mpls.yaml new file mode 100644 index 00000000..ba853c58 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/mpls.yaml @@ -0,0 +1,584 @@ +--- +_process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + null-label: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + mpls-enabled: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + reserved-label-blocks: + _process: not_implemented + reserved-label-block: + _process: not_implemented + config: + _process: not_implemented + local-id: + _process: not_implemented + lower-bound: + _process: not_implemented + upper-bound: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +lsps: + _process: not_implemented + constrained-path: + _process: not_implemented + named-explicit-paths: + _process: not_implemented + named-explicit-path: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + sid-protection-required: + _process: not_implemented + sid-selection-mode: + _process: not_implemented + explicit-route-objects: + _process: not_implemented + explicit-route-object: + _process: not_implemented + config: + _process: not_implemented + address: + _process: not_implemented + hop-type: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + tunnels: + _process: not_implemented + tunnel: + _process: not_implemented + bandwidth: + _process: not_implemented + auto-bandwidth: + _process: not_implemented + config: + _process: not_implemented + adjust-interval: + _process: not_implemented + adjust-threshold: + _process: not_implemented + enabled: + _process: not_implemented + max-bw: + _process: not_implemented + min-bw: + _process: not_implemented + overflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + overflow-threshold: + _process: not_implemented + trigger-event-count: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + underflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + trigger-event-count: + _process: not_implemented + underflow-threshold: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + set-bandwidth: + _process: not_implemented + specification-type: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + admin-status: + _process: not_implemented + description: + _process: not_implemented + hold-priority: + _process: not_implemented + metric: + _process: not_implemented + metric-type: + _process: not_implemented + name: + _process: not_implemented + preference: + _process: not_implemented + protection-style-requested: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + shortcut-eligible: + _process: not_implemented + signaling-protocol: + _process: not_implemented + soft-preemption: + _process: not_implemented + source: + _process: not_implemented + type: + _process: not_implemented + name: + _process: not_implemented + p2p-tunnel-attributes: + _process: not_implemented + config: + _process: not_implemented + destination: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + candidate-secondary-paths: + _process: not_implemented + candidate-secondary-path: + _process: not_implemented + config: + _process: not_implemented + priority: + _process: not_implemented + secondary-path: + _process: not_implemented + secondary-path: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + p2p-secondary-paths: + _process: not_implemented + p2p-secondary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + static-lsps: + _process: not_implemented + static-lsp: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + egress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + ingress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + transit: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + unconstrained-path: + _process: not_implemented + path-setup-protocol: + _process: not_implemented +signaling-protocols: + _process: not_implemented + rsvp-te: + _process: not_implemented + global: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + recovery-time: + _process: not_implemented + restart-time: + _process: not_implemented + state: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + soft-preemption: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + soft-preemption-timeout: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + authentication-key: + _process: not_implemented + enable: + _process: not_implemented + state: + _process: not_implemented + bandwidth-reservations: + _process: not_implemented + bandwidth-reservation: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + protection: + _process: not_implemented + config: + _process: not_implemented + bypass-optimize-interval: + _process: not_implemented + link-protection-style-requested: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + subscription: + _process: not_implemented + config: + _process: not_implemented + subscription: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + sessions: + _process: not_implemented + session: + _process: not_implemented + segment-routing: + _process: not_implemented + aggregate-sid-counters: + _process: not_implemented + aggregate-sid-counter: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + sid-counters: + _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented +te-global-attributes: + _process: not_implemented + mpls-admin-groups: + _process: not_implemented + admin-group: + _process: not_implemented + admin-group-name: + _process: not_implemented + config: + _process: not_implemented + admin-group-name: + _process: not_implemented + bit-position: + _process: not_implemented + state: + _process: not_implemented + srlgs: + _process: not_implemented + srlg: + _process: not_implemented + config: + _process: not_implemented + cost: + _process: not_implemented + flooding-type: + _process: not_implemented + name: + _process: not_implemented + value: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + static-srlg-members: + _process: not_implemented + members-list: + _process: not_implemented + config: + _process: not_implemented + from-address: + _process: not_implemented + to-address: + _process: not_implemented + from-address: + _process: not_implemented + state: + _process: not_implemented + te-lsp-timers: + _process: not_implemented + config: + _process: not_implemented + cleanup-delay: + _process: not_implemented + install-delay: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + state: + _process: not_implemented +te-interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + admin-group: + _process: not_implemented + interface-id: + _process: not_implemented + srlg-membership: + _process: not_implemented + te-metric: + _process: not_implemented + igp-flooding-bandwidth: + _process: not_implemented + config: + _process: not_implemented + delta-percentage: + _process: not_implemented + down-thresholds: + _process: not_implemented + threshold-specification: + _process: not_implemented + threshold-type: + _process: not_implemented + up-down-thresholds: + _process: not_implemented + up-thresholds: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml new file mode 100644 index 00000000..adf0afef --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml @@ -0,0 +1,224 @@ +--- +_process: not_implemented +areas: + _process: not_implemented + area: + _process: not_implemented + config: + _process: not_implemented + identifier: + _process: not_implemented + identifier: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + authentication-type: + _process: not_implemented + hide-network: + _process: not_implemented + id: + _process: not_implemented + metric: + _process: not_implemented + multi-area-adjacency-primary: + _process: not_implemented + network-type: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + lsa-filter: + _process: not_implemented + config: + _process: not_implemented + all: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-metric: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + config: + _process: not_implemented + metric: + _process: not_implemented + router-id: + _process: not_implemented + router-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + dead-interval: + _process: not_implemented + hello-interval: + _process: not_implemented + retransmission-interval: + _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-enabled: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + virtual-links: + _process: not_implemented + virtual-link: + _process: not_implemented + config: + _process: not_implemented + remote-router-id: + _process: not_implemented + remote-router-id: + _process: not_implemented + state: + _process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + hide-transit-only-networks: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + log-adjacency-changes: + _process: not_implemented + router-id: + _process: not_implemented + summary-route-cost-mode: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + inter-area-propagation-policies: + _process: not_implemented + inter-area-propagation-policy: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-area: + _process: not_implemented + import-policy: + _process: not_implemented + src-area: + _process: not_implemented + dst-area: + _process: not_implemented + src-area: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-extensions: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + lsa-generation: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented + max-metric: + _process: not_implemented + config: + _process: not_implemented + include: + _process: not_implemented + set: + _process: not_implemented + timeout: + _process: not_implemented + trigger: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml new file mode 100644 index 00000000..dbaaa7f3 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -0,0 +1,60 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'static static' }}" +static: + _process: + - mode: container + xpath: "route" + key_attribute: name + from: "{{ bookmarks.parent }}" + config: + _process: unnecessary + prefix: + _process: + - mode: value + value: "{{ static_key }}" + set-tag: + _process: not_implemented + next-hops: + _process: unnecessary + next-hop: + _process: + - mode: container + xpath: "qualified-next-hop" + key_attribute: name + from: "{{ bookmarks.parent }}" + config: + _process: unnecessary + index: + _process: not_implemented + metric: + _process: + - mode: xpath + xpath: "metric" + from: "{{ bookmarks.parent }}" + next-hop: + _process: + - mode: value + value: "{{ next_hop_key }}" + recurse: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml new file mode 100644 index 00000000..d9a11746 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -0,0 +1,472 @@ +--- +metadata: + processor: XMLParser + execute: + - method: _rpc + args: + get: "" + +network-instances: + _process: unnecessary + network-instance: + _process: + - mode: container + xpath: "routing-instances/instance" + key_attribute: name + from: "{{ bookmarks['network-instances'].0 }}" + mandatory: + - key: "global" + block: "{{ bookmarks['network-instances'].0 }}" + extra_vars: {} + afts: !include includes/afts.yaml + config: + _process: unnecessary + description: + _process: + - mode: xpath + xpath: description + from: "{{ bookmarks.parent }}" + enabled: + _process: + - mode: value + value: true + enabled-address-families: + _process: not_implemented + mtu: + _process: not_implemented + name: + _process: unnecessary + route-distinguisher: + _process: not_implemented + router-id: + _process: not_implemented + type: + _process: + - mode: value + value: DEFAULT_INSTANCE + when: "{{ network_instance_key == 'global' }}" + - mode: map + xpath: instance-type + from: "{{ bookmarks.parent }}" + map: + vrf: L3VRF + virtual-router: L2L3 + when: "{{ network_instance_key != 'global' }}" + connection-points: + _process: not_implemented + connection-point: + _process: not_implemented + config: + _process: not_implemented + connection-point-id: + _process: not_implemented + connection-point-id: + _process: not_implemented + endpoints: + _process: not_implemented + endpoint: + _process: not_implemented + config: + _process: not_implemented + endpoint-id: + _process: not_implemented + precedence: + _process: not_implemented + type: + _process: not_implemented + endpoint-id: + _process: not_implemented + local: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + remote: + _process: not_implemented + config: + _process: not_implemented + remote-system: + _process: not_implemented + virtual-circuit-identifier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + encapsulation: + _process: not_implemented + config: + _process: not_implemented + control-word: + _process: not_implemented + encapsulation-type: + _process: not_implemented + label-allocation-mode: + _process: not_implemented + state: + _process: not_implemented + fdb: + _process: not_implemented + config: + _process: not_implemented + mac-aging-time: + _process: not_implemented + mac-learning: + _process: not_implemented + maximum-entries: + _process: not_implemented + mac-table: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + mac-address: + _process: not_implemented + vlan: + _process: not_implemented + interface: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + mac-address: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + inter-instance-policies: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + interfaces: + _process: unnecessary + interface: + _process: not_implemented + config: + _process: not_implemented + associated-address-families: + _process: not_implemented + id: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + id: + _process: not_implemented + state: + _process: not_implemented + mpls: !include includes/mpls.yaml + name: + _process: not_implemented + policy-forwarding: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + apply-forwarding-policy: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + path-selection-groups: + _process: not_implemented + path-selection-group: + _process: not_implemented + config: + _process: not_implemented + group-id: + _process: not_implemented + mpls-lsp: + _process: not_implemented + group-id: + _process: not_implemented + state: + _process: not_implemented + policies: + _process: not_implemented + policy: + _process: not_implemented + config: + _process: not_implemented + policy-id: + _process: not_implemented + policy-id: + _process: not_implemented + rules: + _process: not_implemented + rule: + _process: not_implemented + action: + _process: not_implemented + config: + _process: not_implemented + decapsulate-gre: + _process: not_implemented + discard: + _process: not_implemented + network-instance: + _process: not_implemented + next-hop: + _process: not_implemented + path-selection-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + sequence-id: + _process: not_implemented + ip: + _process: not_implemented + config: + _process: not_implemented + destination-ip-address: + _process: not_implemented + destination-ip-flow-label: + _process: not_implemented + dscp: + _process: not_implemented + hop-limit: + _process: not_implemented + ip-version: + _process: not_implemented + protocol: + _process: not_implemented + source-ip-address: + _process: not_implemented + source-ip-flow-label: + _process: not_implemented + state: + _process: not_implemented + l2: + _process: not_implemented + config: + _process: not_implemented + destination-mac: + _process: not_implemented + destination-mac-mask: + _process: not_implemented + ethertype: + _process: not_implemented + source-mac: + _process: not_implemented + source-mac-mask: + _process: not_implemented + state: + _process: not_implemented + sequence-id: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + destination-port: + _process: not_implemented + source-port: + _process: not_implemented + tcp-flags: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + protocols: + _process: unnecessary + protocol: + _process: + - mode: container + xpath: "protocols" + from: "{{ bookmarks.parent }}" + nested: true + composite_key: [protocols_name, protocols_name] + - mode: container + xpath: "routing-options/static" + from: "{{ bookmarks.parent }}" + key: "static static" + bgp: !include includes/bgp.yaml + config: + _process: not_implemented + default-metric: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + name: + _process: not_implemented + identifier: + _process: unnecessary + isis: !include includes/isis.yaml + local-aggregates: + _process: not_implemented + aggregate: + _process: not_implemented + config: + _process: not_implemented + discard: + _process: not_implemented + prefix: + _process: not_implemented + set-tag: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + name: + _process: unnecessary + ospfv2: !include includes/ospfv2.yaml + state: + _process: not_implemented + static-routes: !include includes/static_routes.yaml + segment-routing: + _process: not_implemented + srgbs: + _process: not_implemented + srgb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefixes: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-blocks: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + srlbs: + _process: not_implemented + srlb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefix: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-block: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + table-connections: + _process: not_implemented + table-connection: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-protocol: + _process: not_implemented + import-policy: + _process: not_implemented + src-protocol: + _process: not_implemented + dst-protocol: + _process: not_implemented + src-protocol: + _process: not_implemented + state: + _process: not_implemented + tables: + _process: not_implemented + table: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + protocol: + _process: not_implemented + protocol: + _process: not_implemented + state: + _process: not_implemented + vlans: + _process: not_implemented + vlan: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + status: + _process: not_implemented + tpid: + _process: not_implemented + vlan-id: + _process: not_implemented + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json b/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json new file mode 100644 index 00000000..736f3e89 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json @@ -0,0 +1,208 @@ +{ + "network_instances": { + "network-instance": { + "devel": { + "config": { + "enabled": true, + "route-distinguisher": "1:2", + "type": "L3VRF" + }, + "name": "devel", + "protocols": { + "protocol": { + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "global": { + "config": { + "enabled": true, + "type": "L3VRF" + }, + "name": "global", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "1.1.1.1" + } + }, + "neighbors": { + "neighbor": { + "192.168.0.200": { + "config": { + "description": "asdasd qweq asdasd", + "enabled": true, + "neighbor-address": "192.168.0.200", + "peer-as": 65100 + }, + "neighbor-address": "192.168.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + }, + "192.168.0.3": { + "config": { + "metric": 1, + "next-hop": "192.168.0.3" + }, + "index": "192.168.0.3" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "frontend": { + "config": { + "description": "Production VRF", + "enabled": true, + "route-distinguisher": "1:1", + "type": "L3VRF" + }, + "name": "frontend", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "2.2.2.2" + } + }, + "neighbors": { + "neighbor": { + "172.20.0.200": { + "config": { + "enabled": true, + "local-as": 100, + "neighbor-address": "172.20.0.200", + "peer-as": 65100 + }, + "neighbor-address": "172.20.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + } + } + } +} + diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt new file mode 100755 index 00000000..0d5e362c --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt @@ -0,0 +1,285 @@ + + 12.1X47-D20.7 + + vsrx + + $1$5MhDFyrI$NBBMndW1POqbN.0QEA4z0. + + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyacKJHfFzAPflQADs7NSgeFwbX59e+k71zy85hT7WTRA5XQ9KW2WapjlFzRiBT2lHUa4brPcXbn6vnBWSaPNq2Ltt1QIu+WPShVz4+WBbc4ommEyaLQVerxTfgPAwWh92A3/PnUFB78auZFg+kj7GiEJuzsMGS7bpppq1lhQt370RD6HdymIutsmA3SFOj0o0BFpaCS3C6XWlMgkBDrcXBoAqGIYU/lKL3XN0IwbF0NCHg4Gr4RyzK0Sw4+0cTrkTQnX3S2B8sHN/6yycMceInt7DkAHSBjBYKct0+hx+qdZWONu8iwQj40841UZGugOpIE/vxQTvDY4L+/e7PUG/ vagrant + + + + + vagrant + 2000 + super-user + + + ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key + + + + + + + allow + + + + + + + + ge-0/0/0.0 + + + + + + * + + any + + + + + messages + + any + + + + authorization + + + + + interactive-commands + + interactive-commands + + + + + + + + https://ae1.juniper.net/junos/key_retrieval + + + + + + + + 16 + + + + + + ge-0/0/0 + management interface + 1400 + + 0 + ge-0/0/0.0 + + + + + + + + + + ge-0/0/1 + ge-0/0/1 + + 1514 + + + ae0 + ae0 + + 1514 + + 0 + ASDASDASD + 100 + + +
+ 192.168.100.1/24 +
+
+ 172.20.100.1/24 +
+
+
+
+ + 1 + ae0.1 + 1 + + +
+ 192.168.101.1/24 +
+
+
+
+ + 2 + ae0.2 + 2 + + +
+ 192.168.102.1/24 +
+
+
+
+
+ + lo0 + lo0 + + 0 + lo0.0 + + +
+ + + + 10.0.0.0/24 + + 192.168.100.100 + 100 + + + 192.168.100.101 + 200 + + + + 10.100.0.0/24 + + 192.168.100.200 + + + + 1.1.1.1 + + 65000 + + + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + 192.168.100.3 + 65100 + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + + + + + + packet-based + + + packet-based + + + + + + + devel + virtual-router + + + + 10.0.2.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.2.0/24 + + 192.168.100.200 + + + + + + + prod + production vrf + virtual-router + + + + 10.0.1.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.1.0/24 + + 192.168.100.200 + + + + + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + 192.168.100.3 + 65100 + + 123 + + + + + + + +
diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json b/test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json new file mode 100644 index 00000000..72864ba0 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json @@ -0,0 +1,250 @@ +{ + "network_instances": { + "network-instance": { + "devel": { + "config": { + "enabled": true, + "type": "L2L3" + }, + "name": "devel", + "protocols": { + "protocol": { + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.2.0/24": { + "config": { + "prefix": "10.0.2.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.100": { + "config": { + "next-hop": "192.168.100.100" + }, + "index": "192.168.100.100" + }, + "192.168.100.101": { + "config": { + "metric": 200, + "next-hop": "192.168.100.101" + }, + "index": "192.168.100.101" + } + } + }, + "prefix": "10.0.2.0/24" + }, + "10.100.2.0/24": { + "config": { + "prefix": "10.100.2.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.200": { + "config": { + "next-hop": "192.168.100.200" + }, + "index": "192.168.100.200" + } + } + }, + "prefix": "10.100.2.0/24" + } + } + } + } + } + } + }, + "global": { + "config": { + "enabled": true, + "type": "DEFAULT_INSTANCE" + }, + "name": "global", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65000, + "router-id": "1.1.1.1" + } + }, + "neighbors": { + "neighbor": { + "172.20.0.1": { + "config": { + "neighbor-address": "172.20.0.1", + "peer-as": 65200, + "peer-group": "my_other_peers" + }, + "neighbor-address": "172.20.0.1" + }, + "192.168.100.2": { + "config": { + "description": "adsasd", + "neighbor-address": "192.168.100.2", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.2" + }, + "192.168.100.3": { + "config": { + "neighbor-address": "192.168.100.3", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.3" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.100": { + "config": { + "metric": 100, + "next-hop": "192.168.100.100" + }, + "index": "192.168.100.100" + }, + "192.168.100.101": { + "config": { + "metric": 200, + "next-hop": "192.168.100.101" + }, + "index": "192.168.100.101" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.100.0.0/24": { + "config": { + "prefix": "10.100.0.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.200": { + "config": { + "next-hop": "192.168.100.200" + }, + "index": "192.168.100.200" + } + } + }, + "prefix": "10.100.0.0/24" + } + } + } + } + } + } + }, + "prod": { + "config": { + "description": "production vrf", + "enabled": true, + "type": "L2L3" + }, + "name": "prod", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "neighbors": { + "neighbor": { + "192.168.100.2": { + "config": { + "description": "adsasd", + "neighbor-address": "192.168.100.2", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.2" + }, + "192.168.100.3": { + "config": { + "neighbor-address": "192.168.100.3", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.3" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.100": { + "config": { + "next-hop": "192.168.100.100" + }, + "index": "192.168.100.100" + }, + "192.168.100.101": { + "config": { + "metric": 200, + "next-hop": "192.168.100.101" + }, + "index": "192.168.100.101" + } + } + }, + "prefix": "10.0.1.0/24" + }, + "10.100.1.0/24": { + "config": { + "prefix": "10.100.1.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.200": { + "config": { + "next-hop": "192.168.100.200" + }, + "index": "192.168.100.200" + } + } + }, + "prefix": "10.100.1.0/24" + } + } + } + } + } + } + } + } + } +} diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt new file mode 100644 index 00000000..0b330168 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt @@ -0,0 +1 @@ +asdads diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt new file mode 100644 index 00000000..bf7e8990 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt @@ -0,0 +1 @@ +asdasd diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt new file mode 100644 index 00000000..0b330168 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt @@ -0,0 +1 @@ +asdads diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 57321fcc..0e4d6860 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -35,6 +35,7 @@ def pretty_json(dictionary): test_config_profile_models = [ ["ios", napalm_yang.models.openconfig_interfaces, "default"], ["eos", napalm_yang.models.openconfig_network_instance, "default"], + ["junos", napalm_yang.models.openconfig_network_instance, "default"], ] test_state_profile_models = [ From fed2b5ddd3e83f5a08f62f5f87892cd1cb82689f Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 7 May 2017 15:14:45 +0200 Subject: [PATCH 028/153] Added _translate_leaf_map --- napalm_yang/translators/xml.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/napalm_yang/translators/xml.py b/napalm_yang/translators/xml.py index 653b61b1..088c18fd 100644 --- a/napalm_yang/translators/xml.py +++ b/napalm_yang/translators/xml.py @@ -77,3 +77,7 @@ def _translate_leaf_element(self, attribute, model, other, mapping, translation, if value is not None: e.text = "{}".format(value) + + def _translate_leaf_map(self, attribute, model, other, mapping, translation): + mapping["value"] = mapping["map"][model] + self._translate_leaf_element(attribute, model, other, mapping, translation) From a99f48a5d06a4ff60f371dae8df9908ba08e49c2 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 8 May 2017 14:51:10 +0200 Subject: [PATCH 029/153] When using lists of actions allow advancing containers in xml --- napalm_yang/translators/base.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 531488e3..11ccb195 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -17,23 +17,23 @@ def __init__(self, merge, replace): self.replace = replace def init_element(self, attribute, model, other, mapping, translation, bookmarks): + et = translation for m in mapping: if m["mode"] == "skip": continue elif m["mode"] == "gate": return - t = _find_translation_point(m, bookmarks, translation) + t = _find_translation_point(m, bookmarks, et) method_name = "_init_element_{}".format(m["mode"]) et = getattr(self, method_name)(attribute, model, other, m, t) if et is False: # if it's False we want to return None to signal we want to abort return None - elif et is not None: - return et - return translation + return et def default_element(self, mapping, translation, bookmarks, replacing=False, recursive=False): + t = translation for m in mapping: if m["mode"] == "skip": continue @@ -42,9 +42,9 @@ def default_element(self, mapping, translation, bookmarks, replacing=False, recu if recursive and not m.get("negate_recursively", False): continue - t = _find_translation_point(m, bookmarks, translation) + t = _find_translation_point(m, bookmarks, t) method_name = "_default_element_{}".format(m["mode"]) - getattr(self, method_name)(m, t, replacing) + t = getattr(self, method_name)(m, t, replacing) def translate_leaf(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: @@ -58,18 +58,17 @@ def translate_leaf(self, attribute, model, other, mapping, translation, bookmark getattr(self, method_name)(attribute, model, other, m, t) def translate_container(self, attribute, model, other, mapping, translation, bookmarks): + et = translation for m in mapping: if m["mode"] == "skip": continue elif m["mode"] == "gate": return - t = _find_translation_point(m, bookmarks, translation) + t = _find_translation_point(m, bookmarks, et) method_name = "_translate_container_{}".format(m["mode"]) et = getattr(self, method_name)(attribute, model, other, m, t) if et is False: # if it's False we want to return None to signal we want to abort return None - elif et is not None: - return et - return translation + return et From f120cf41470989556e9923d7467f1caf71a1db30 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 8 May 2017 14:51:52 +0200 Subject: [PATCH 030/153] Added reuse and replace_on_merge --- napalm_yang/translators/xml.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/napalm_yang/translators/xml.py b/napalm_yang/translators/xml.py index 088c18fd..b98c0c88 100644 --- a/napalm_yang/translators/xml.py +++ b/napalm_yang/translators/xml.py @@ -17,8 +17,14 @@ def init_translation(self, metadata, translation): def _init_element_container(self, attribute, model, other, mapping, translation): t = translation - for element in mapping["container"].split("."): - t = etree.SubElement(t, element) + for element in mapping["container"].split("/"): + try: + if mapping.get("reuse", False): + t = t.xpath(element)[0] + else: + t = etree.SubElement(t, element) + except IndexError: + t = etree.SubElement(t, element) key_element = mapping.get("key_element", None) if key_element: @@ -53,7 +59,8 @@ def _default_element_container(self, mapping, translation, replacing): key = etree.SubElement(t, key_element) key.text = "{}".format(mapping["key_value"]) - t.set("delete", "delete") + if mapping.get("delete_on_merge", True): + t.set("delete", "delete") return t @@ -70,7 +77,9 @@ def _translate_leaf_element(self, attribute, model, other, mapping, translation, except Exception: value = None if not model._changed() else model - e = etree.SubElement(translation, mapping["element"]) + e = translation + for element in mapping["element"].split("/"): + e = etree.SubElement(e, element) if delete: e.set("delete", "delete") From 5b7037836461e7d5588d5356fbd9feaeac9665de Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 8 May 2017 14:52:12 +0200 Subject: [PATCH 031/153] Added network-instance/junos translator --- .../translators/openconfig-if-ip/ipv4.yaml | 2 +- .../includes/afts.yaml | 55 + .../includes/bgp.yaml | 1174 +++++++++++++++++ .../includes/connection_points.yaml | 48 + .../includes/isis.yaml | 508 +++++++ .../includes/mpls.yaml | 585 ++++++++ .../includes/ospfv2.yaml | 224 ++++ .../includes/segment_routing.yaml | 38 + .../includes/static_routes.yaml | 55 + .../network-instances.yaml | 379 ++++++ .../default/candidate.json | 170 ++- .../default/merge.txt | 142 +- .../default/replace.txt | 128 +- .../default/translation.txt | 128 +- test/integration/test_profiles.py | 28 +- 15 files changed, 3593 insertions(+), 71 deletions(-) create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/afts.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/connection_points.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/isis.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/mpls.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/ospfv2.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/segment_routing.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml diff --git a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml index 1ade2475..2c2ee9af 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml @@ -5,7 +5,7 @@ metadata: ipv4: _process: - mode: container - container: family.inet + container: "family/inet" when: "{{ model.config.enabled or model.addresses.address|length }}" config: _process: unnecessary diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/afts.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/afts.yaml new file mode 100644 index 00000000..86a8b9f7 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/afts.yaml @@ -0,0 +1,55 @@ +--- +_process: not_implemented +aft: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + match: + _process: not_implemented + interface-ref: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + next-hops: + _process: not_implemented + next-hop: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml new file mode 100644 index 00000000..3e71d714 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml @@ -0,0 +1,1174 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" +global: + _process: unnecessary + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + confederation: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + member-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + as: + _process: + - mode: element + element: "routing-options/autonomous-system/as-number" + in: "network_instance.{{ network_instance_key }}" + router-id: + _process: + - mode: element + element: "routing-options/router-id" + in: "network_instance.{{ network_instance_key }}" + default-route-distance: + _process: not_implemented + config: + _process: not_implemented + external-route-distance: + _process: not_implemented + internal-route-distance: + _process: not_implemented + state: + _process: not_implemented + dynamic-neighbor-prefixes: + _process: not_implemented + dynamic-neighbor-prefix: + _process: not_implemented + config: + _process: not_implemented + peer-group: + _process: not_implemented + prefix: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +neighbors: + _process: unnecessary + neighbor: + _process: + - mode: container + container: "group" + delete_on_merge: false + key_element: name + key_value: "{{ model.config.peer_group }}" + - mode: container + container: "neighbor" + key_element: name + key_value: "{{ neighbor_key }}" + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + auth-password: + _process: not_implemented + description: + _process: + - mode: element + element: description + enabled: + _process: not_implemented + local-as: + _process: + - mode: element + element: "local-as/as-number" + neighbor-address: + _process: unnecessary + peer-as: + _process: + - mode: element + element: "peer-as" + peer-group: + _process: unnecessary + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + neighbor-address: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +peer-groups: + _process: not_implemented + peer-group: + _process: not_implemented + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + description: + _process: not_implemented + local-as: + _process: not_implemented + peer-as: + _process: not_implemented + peer-group-name: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + peer-group-name: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/connection_points.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/connection_points.yaml new file mode 100644 index 00000000..e4034df4 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/connection_points.yaml @@ -0,0 +1,48 @@ +--- +_process: not_implemented +connection-point: + _process: not_implemented + config: + _process: not_implemented + connection-point-id: + _process: not_implemented + connection-point-id: + _process: not_implemented + endpoints: + _process: not_implemented + endpoint: + _process: not_implemented + config: + _process: not_implemented + endpoint-id: + _process: not_implemented + precedence: + _process: not_implemented + type: + _process: not_implemented + endpoint-id: + _process: not_implemented + local: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + remote: + _process: not_implemented + config: + _process: not_implemented + remote-system: + _process: not_implemented + virtual-circuit-identifier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/isis.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/isis.yaml new file mode 100644 index 00000000..463623fd --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/isis.yaml @@ -0,0 +1,508 @@ +--- +_process: not_implemented +global: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + multi-topology: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + fast-flooding: + _process: not_implemented + iid-tlv: + _process: not_implemented + instance: + _process: not_implemented + level-capability: + _process: not_implemented + max-ecmp-paths: + _process: not_implemented + maximum-area-addresses: + _process: not_implemented + net: + _process: not_implemented + poi-tlv: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + afi: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + nh-type: + _process: not_implemented + state: + _process: not_implemented + inter-level-propagation-policies: + _process: not_implemented + level1-to-level2: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + level2-to-level1: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + lsp-bit: + _process: not_implemented + attached-bit: + _process: not_implemented + config: + _process: not_implemented + ignore-bit: + _process: not_implemented + suppress-bit: + _process: not_implemented + state: + _process: not_implemented + overload-bit: + _process: not_implemented + config: + _process: not_implemented + advertise-high-metric: + _process: not_implemented + set-bit: + _process: not_implemented + set-bit-on-boot: + _process: not_implemented + reset-triggers: + _process: not_implemented + reset-trigger: + _process: not_implemented + config: + _process: not_implemented + delay: + _process: not_implemented + reset-trigger: + _process: not_implemented + reset-trigger: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + nsr: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + config: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + state: + _process: not_implemented + segment-routing: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + srgb: + _process: not_implemented + srlb: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + lsp-lifetime-interval: + _process: not_implemented + lsp-refresh-interval: + _process: not_implemented + lsp-generation: + _process: not_implemented + config: + _process: not_implemented + lsp-first-wait-interval: + _process: not_implemented + lsp-max-wait-interval: + _process: not_implemented + lsp-second-wait-interval: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + spf-first-interval: + _process: not_implemented + spf-hold-interval: + _process: not_implemented + spf-second-interval: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + lsp-mtu-size: + _process: not_implemented + state: + _process: not_implemented +interfaces: + _process: not_implemented + interface: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + bfd: + _process: not_implemented + config: + _process: not_implemented + bfd-tlv: + _process: not_implemented + state: + _process: not_implemented + circuit-counters: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + circuit-type: + _process: not_implemented + enabled: + _process: not_implemented + hello-padding: + _process: not_implemented + interface-id: + _process: not_implemented + passive: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + levels: + _process: not_implemented + level: + _process: not_implemented + adjacencies: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + segment-routing: + _process: not_implemented + adjacency-sids: + _process: not_implemented + adjacency-sid: + _process: not_implemented + config: + _process: not_implemented + group: + _process: not_implemented + neighbor: + _process: not_implemented + protection-eligible: + _process: not_implemented + sid-id: + _process: not_implemented + neighbor: + _process: not_implemented + sid-id: + _process: not_implemented + state: + _process: not_implemented + prefix-sids: + _process: not_implemented + prefix-sid: + _process: not_implemented + config: + _process: not_implemented + label-options: + _process: not_implemented + prefix: + _process: not_implemented + sid-id: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + hello-authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + level-number: + _process: not_implemented + packet-counters: + _process: not_implemented + cnsp: + _process: not_implemented + state: + _process: not_implemented + esh: + _process: not_implemented + state: + _process: not_implemented + iih: + _process: not_implemented + state: + _process: not_implemented + ish: + _process: not_implemented + state: + _process: not_implemented + lsp: + _process: not_implemented + state: + _process: not_implemented + psnp: + _process: not_implemented + state: + _process: not_implemented + unknown: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + hello-multiplier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + csnp-interval: + _process: not_implemented + lsp-pacing-interval: + _process: not_implemented + state: + _process: not_implemented +levels: + _process: not_implemented + level: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + csnp-authentication: + _process: not_implemented + lsp-authentication: + _process: not_implemented + psnp-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + metric-style: + _process: not_implemented + level-number: + _process: not_implemented + link-state-database: + _process: not_implemented + route-preference: + _process: not_implemented + config: + _process: not_implemented + external-route-preference: + _process: not_implemented + internal-route-preference: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + system-level-counters: + _process: not_implemented + state: + _process: not_implemented + traffic-engineering: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ipv4-router-id: + _process: not_implemented + ipv6-router-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/mpls.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/mpls.yaml new file mode 100644 index 00000000..2922a092 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/mpls.yaml @@ -0,0 +1,585 @@ +--- +_process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + null-label: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + mpls-enabled: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + reserved-label-blocks: + _process: not_implemented + reserved-label-block: + _process: not_implemented + config: + _process: not_implemented + local-id: + _process: not_implemented + lower-bound: + _process: not_implemented + upper-bound: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +lsps: + _process: not_implemented + constrained-path: + _process: not_implemented + named-explicit-paths: + _process: not_implemented + named-explicit-path: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + sid-protection-required: + _process: not_implemented + sid-selection-mode: + _process: not_implemented + explicit-route-objects: + _process: not_implemented + explicit-route-object: + _process: not_implemented + config: + _process: not_implemented + address: + _process: not_implemented + hop-type: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + tunnels: + _process: not_implemented + tunnel: + _process: not_implemented + bandwidth: + _process: not_implemented + auto-bandwidth: + _process: not_implemented + config: + _process: not_implemented + adjust-interval: + _process: not_implemented + adjust-threshold: + _process: not_implemented + enabled: + _process: not_implemented + max-bw: + _process: not_implemented + min-bw: + _process: not_implemented + overflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + overflow-threshold: + _process: not_implemented + trigger-event-count: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + underflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + trigger-event-count: + _process: not_implemented + underflow-threshold: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + set-bandwidth: + _process: not_implemented + specification-type: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + admin-status: + _process: not_implemented + description: + _process: not_implemented + hold-priority: + _process: not_implemented + metric: + _process: not_implemented + metric-type: + _process: not_implemented + name: + _process: not_implemented + preference: + _process: not_implemented + protection-style-requested: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + shortcut-eligible: + _process: not_implemented + signaling-protocol: + _process: not_implemented + soft-preemption: + _process: not_implemented + source: + _process: not_implemented + type: + _process: not_implemented + name: + _process: not_implemented + p2p-tunnel-attributes: + _process: not_implemented + config: + _process: not_implemented + destination: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + candidate-secondary-paths: + _process: not_implemented + candidate-secondary-path: + _process: not_implemented + config: + _process: not_implemented + priority: + _process: not_implemented + secondary-path: + _process: not_implemented + secondary-path: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + p2p-secondary-paths: + _process: not_implemented + p2p-secondary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + static-lsps: + _process: not_implemented + static-lsp: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + egress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + ingress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + transit: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + unconstrained-path: + _process: not_implemented + path-setup-protocol: + _process: not_implemented +signaling-protocols: + _process: not_implemented + rsvp-te: + _process: not_implemented + global: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + recovery-time: + _process: not_implemented + restart-time: + _process: not_implemented + state: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + soft-preemption: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + soft-preemption-timeout: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + authentication-key: + _process: not_implemented + enable: + _process: not_implemented + state: + _process: not_implemented + bandwidth-reservations: + _process: not_implemented + bandwidth-reservation: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + protection: + _process: not_implemented + config: + _process: not_implemented + bypass-optimize-interval: + _process: not_implemented + link-protection-style-requested: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + subscription: + _process: not_implemented + config: + _process: not_implemented + subscription: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + sessions: + _process: not_implemented + session: + _process: not_implemented + segment-routing: + _process: not_implemented + aggregate-sid-counters: + _process: not_implemented + aggregate-sid-counter: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + sid-counters: + _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented +te-global-attributes: + _process: not_implemented + mpls-admin-groups: + _process: not_implemented + admin-group: + _process: not_implemented + admin-group-name: + _process: not_implemented + config: + _process: not_implemented + admin-group-name: + _process: not_implemented + bit-position: + _process: not_implemented + state: + _process: not_implemented + srlgs: + _process: not_implemented + srlg: + _process: not_implemented + config: + _process: not_implemented + cost: + _process: not_implemented + flooding-type: + _process: not_implemented + name: + _process: not_implemented + value: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + static-srlg-members: + _process: not_implemented + members-list: + _process: not_implemented + config: + _process: not_implemented + from-address: + _process: not_implemented + to-address: + _process: not_implemented + from-address: + _process: not_implemented + state: + _process: not_implemented + te-lsp-timers: + _process: not_implemented + config: + _process: not_implemented + cleanup-delay: + _process: not_implemented + install-delay: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + state: + _process: not_implemented +te-interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + admin-group: + _process: not_implemented + interface-id: + _process: not_implemented + srlg-membership: + _process: not_implemented + te-metric: + _process: not_implemented + igp-flooding-bandwidth: + _process: not_implemented + config: + _process: not_implemented + delta-percentage: + _process: not_implemented + down-thresholds: + _process: not_implemented + threshold-specification: + _process: not_implemented + threshold-type: + _process: not_implemented + up-down-thresholds: + _process: not_implemented + up-thresholds: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/ospfv2.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/ospfv2.yaml new file mode 100644 index 00000000..adf0afef --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/ospfv2.yaml @@ -0,0 +1,224 @@ +--- +_process: not_implemented +areas: + _process: not_implemented + area: + _process: not_implemented + config: + _process: not_implemented + identifier: + _process: not_implemented + identifier: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + authentication-type: + _process: not_implemented + hide-network: + _process: not_implemented + id: + _process: not_implemented + metric: + _process: not_implemented + multi-area-adjacency-primary: + _process: not_implemented + network-type: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + lsa-filter: + _process: not_implemented + config: + _process: not_implemented + all: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-metric: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + config: + _process: not_implemented + metric: + _process: not_implemented + router-id: + _process: not_implemented + router-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + dead-interval: + _process: not_implemented + hello-interval: + _process: not_implemented + retransmission-interval: + _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-enabled: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + virtual-links: + _process: not_implemented + virtual-link: + _process: not_implemented + config: + _process: not_implemented + remote-router-id: + _process: not_implemented + remote-router-id: + _process: not_implemented + state: + _process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + hide-transit-only-networks: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + log-adjacency-changes: + _process: not_implemented + router-id: + _process: not_implemented + summary-route-cost-mode: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + inter-area-propagation-policies: + _process: not_implemented + inter-area-propagation-policy: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-area: + _process: not_implemented + import-policy: + _process: not_implemented + src-area: + _process: not_implemented + dst-area: + _process: not_implemented + src-area: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-extensions: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + lsa-generation: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented + max-metric: + _process: not_implemented + config: + _process: not_implemented + include: + _process: not_implemented + set: + _process: not_implemented + timeout: + _process: not_implemented + trigger: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/segment_routing.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/segment_routing.yaml new file mode 100644 index 00000000..58593331 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/segment_routing.yaml @@ -0,0 +1,38 @@ +--- +_process: not_implemented +srgbs: + _process: not_implemented + srgb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefixes: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-blocks: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented +srlbs: + _process: not_implemented + srlb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefix: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-block: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml new file mode 100644 index 00000000..549be135 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml @@ -0,0 +1,55 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'static static' }}" +static: + _process: + - mode: container + container: "route" + key_element: name + key_value: "{{ static_key }}" + config: + _process: unnecessary + prefix: + _process: unnecessary + set-tag: + _process: not_implemented + next-hops: + _process: unnecessary + next-hop: + _process: + - mode: container + container: "qualified-next-hop" + key_element: name + key_value: "{{ next_hop_key }}" + config: + _process: unnecessary + index: + _process: not_implemented + metric: + _process: + - mode: element + element: metric + next-hop: + _process: unnecessary + recurse: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml new file mode 100644 index 00000000..80562e11 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml @@ -0,0 +1,379 @@ +--- +metadata: + processor: XMLTranslator + xml_root: configuration + +network-instances: + _process: unnecessary + network-instance: + _process: + - mode: container + container: "routing-instances" + replace: true + delete_on_merge: false + reuse: true + when: "{{ network_instance_key != 'global' }}" + - mode: container + container: instance + key_element: name + key_value: "{{ network_instance_key }}" + when: "{{ network_instance_key != 'global' }}" + afts: !include includes/afts.yaml + config: + _process: unnecessary + description: + _process: + - mode: element + element: description + enabled: + _process: unnecessary + enabled-address-families: + _process: not_implemented + mtu: + _process: not_implemented + name: + _process: unnecessary + route-distinguisher: + _process: not_implemented + router-id: + _process: not_implemented + type: + _process: + - mode: map + element: instance-type + map: + L3VRF: vrf + L2L3: virtual-router + when: "{{ network_instance_key != 'global' }}" + connection-points: !include includes/connection_points.yaml + encapsulation: + _process: not_implemented + config: + _process: not_implemented + control-word: + _process: not_implemented + encapsulation-type: + _process: not_implemented + label-allocation-mode: + _process: not_implemented + state: + _process: not_implemented + fdb: + _process: not_implemented + config: + _process: not_implemented + mac-aging-time: + _process: not_implemented + mac-learning: + _process: not_implemented + maximum-entries: + _process: not_implemented + mac-table: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + mac-address: + _process: not_implemented + vlan: + _process: not_implemented + interface: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + mac-address: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + inter-instance-policies: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + associated-address-families: + _process: not_implemented + id: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + id: + _process: not_implemented + state: + _process: not_implemented + mpls: !include includes/mpls.yaml + name: + _process: unnecessary + policy-forwarding: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + apply-forwarding-policy: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + path-selection-groups: + _process: not_implemented + path-selection-group: + _process: not_implemented + config: + _process: not_implemented + group-id: + _process: not_implemented + mpls-lsp: + _process: not_implemented + group-id: + _process: not_implemented + state: + _process: not_implemented + policies: + _process: not_implemented + policy: + _process: not_implemented + config: + _process: not_implemented + policy-id: + _process: not_implemented + policy-id: + _process: not_implemented + rules: + _process: not_implemented + rule: + _process: not_implemented + action: + _process: not_implemented + config: + _process: not_implemented + decapsulate-gre: + _process: not_implemented + discard: + _process: not_implemented + network-instance: + _process: not_implemented + next-hop: + _process: not_implemented + path-selection-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + sequence-id: + _process: not_implemented + ip: + _process: not_implemented + config: + _process: not_implemented + destination-ip-address: + _process: not_implemented + destination-ip-flow-label: + _process: not_implemented + dscp: + _process: not_implemented + hop-limit: + _process: not_implemented + ip-version: + _process: not_implemented + protocol: + _process: not_implemented + source-ip-address: + _process: not_implemented + source-ip-flow-label: + _process: not_implemented + state: + _process: not_implemented + l2: + _process: not_implemented + config: + _process: not_implemented + destination-mac: + _process: not_implemented + destination-mac-mask: + _process: not_implemented + ethertype: + _process: not_implemented + source-mac: + _process: not_implemented + source-mac-mask: + _process: not_implemented + state: + _process: not_implemented + sequence-id: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + destination-port: + _process: not_implemented + source-port: + _process: not_implemented + tcp-flags: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + protocols: + _process: unnecessary + protocol: + _process: + - mode: container + container: "protocols/{{ model.identifier }}" + replace: true + when: "{{ protocol_key != 'static static' }}" + - mode: container + container: "routing-options/static" + when: "{{ protocol_key == 'static static' }}" + bgp: !include includes/bgp.yaml + config: + _process: not_implemented + default-metric: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + name: + _process: not_implemented + identifier: + _process: unnecessary + isis: !include includes/isis.yaml + local-aggregates: + _process: not_implemented + aggregate: + _process: not_implemented + config: + _process: not_implemented + discard: + _process: not_implemented + prefix: + _process: not_implemented + set-tag: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + name: + _process: unnecessary + ospfv2: !include includes/ospfv2.yaml + state: + _process: not_implemented + static-routes: !include includes/static_routes.yaml + segment-routing: !include includes/segment_routing.yaml + state: + _process: not_implemented + table-connections: + _process: not_implemented + table-connection: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-protocol: + _process: not_implemented + import-policy: + _process: not_implemented + src-protocol: + _process: not_implemented + dst-protocol: + _process: not_implemented + src-protocol: + _process: not_implemented + state: + _process: not_implemented + tables: + _process: not_implemented + table: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + protocol: + _process: not_implemented + protocol: + _process: not_implemented + state: + _process: not_implemented + vlans: + _process: not_implemented + vlan: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + status: + _process: not_implemented + tpid: + _process: not_implemented + vlan-id: + _process: not_implemented + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json b/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json index 736f3e89..b4aa3bca 100644 --- a/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json @@ -4,8 +4,7 @@ "devel": { "config": { "enabled": true, - "route-distinguisher": "1:2", - "type": "L3VRF" + "type": "L2L3" }, "name": "devel", "protocols": { @@ -15,33 +14,44 @@ "name": "static", "static-routes": { "static": { - "10.0.0.0/24": { + "10.0.2.0/24": { + "config": { + "prefix": "10.0.2.0/24" + }, "next-hops": { "next-hop": { - "192.168.2.2": { + "192.168.100.200": { + "config": { + "next-hop": "192.168.100.200" + }, + "index": "192.168.100.200" + }, + "192.168.100.101": { "config": { - "metric": 1, - "next-hop": "192.168.2.2" + "metric": 200, + "next-hop": "192.168.100.101" }, - "index": "192.168.2.2" + "index": "192.168.100.101" } } }, - "prefix": "10.0.0.0/24" + "prefix": "10.0.2.0/24" }, - "10.0.1.0/24": { + "10.100.2.0/24": { + "config": { + "prefix": "10.100.2.0/24" + }, "next-hops": { "next-hop": { - "192.168.2.2": { + "192.168.100.200": { "config": { - "metric": 1, - "next-hop": "192.168.2.2" + "next-hop": "192.168.100.200" }, - "index": "192.168.2.2" + "index": "192.168.100.200" } } }, - "prefix": "10.0.1.0/24" + "prefix": "10.100.2.0/24" } } } @@ -52,7 +62,7 @@ "global": { "config": { "enabled": true, - "type": "L3VRF" + "type": "DEFAULT_INSTANCE" }, "name": "global", "protocols": { @@ -61,20 +71,36 @@ "bgp": { "global": { "config": { - "as": 65001, + "as": 65000, "router-id": "1.1.1.1" } }, "neighbors": { "neighbor": { - "192.168.0.200": { + "172.20.0.1": { "config": { - "description": "asdasd qweq asdasd", - "enabled": true, - "neighbor-address": "192.168.0.200", - "peer-as": 65100 + "neighbor-address": "172.20.0.1", + "peer-as": 65200, + "peer-group": "my_other_peers" }, - "neighbor-address": "192.168.0.200" + "neighbor-address": "172.20.0.1" + }, + "192.168.100.2": { + "config": { + "description": "adsasd", + "neighbor-address": "192.168.100.2", + "peer-as": 65101, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.2" + }, + "192.168.100.30": { + "config": { + "neighbor-address": "192.168.100.30", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.30" } } } @@ -88,39 +114,44 @@ "static-routes": { "static": { "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, "next-hops": { "next-hop": { - "192.168.0.2": { + "192.168.100.100": { "config": { - "metric": 1, - "next-hop": "192.168.0.2" + "metric": 100, + "next-hop": "192.168.100.100" }, - "index": "192.168.0.2" + "index": "192.168.100.100" }, - "192.168.0.3": { + "192.168.100.101": { "config": { - "metric": 1, - "next-hop": "192.168.0.3" + "metric": 200, + "next-hop": "192.168.100.101" }, - "index": "192.168.0.3" + "index": "192.168.100.101" } } }, "prefix": "10.0.0.0/24" }, - "10.0.1.0/24": { + "10.100.0.0/24": { + "config": { + "prefix": "10.100.0.0/24" + }, "next-hops": { "next-hop": { - "192.168.0.2": { + "192.168.100.200": { "config": { - "metric": 1, - "next-hop": "192.168.0.2" + "next-hop": "192.168.100.200" }, - "index": "192.168.0.2" + "index": "192.168.100.200" } } }, - "prefix": "10.0.1.0/24" + "prefix": "10.100.0.0/24" } } } @@ -130,32 +161,33 @@ }, "frontend": { "config": { - "description": "Production VRF", + "description": "production vrf", "enabled": true, - "route-distinguisher": "1:1", - "type": "L3VRF" + "type": "L2L3" }, "name": "frontend", "protocols": { "protocol": { "bgp bgp": { "bgp": { - "global": { - "config": { - "as": 65001, - "router-id": "2.2.2.2" - } - }, "neighbors": { "neighbor": { - "172.20.0.200": { + "192.168.100.2": { "config": { - "enabled": true, - "local-as": 100, - "neighbor-address": "172.20.0.200", - "peer-as": 65100 + "description": "adsasd", + "neighbor-address": "192.168.100.2", + "peer-as": 65100, + "peer-group": "my_peers" }, - "neighbor-address": "172.20.0.200" + "neighbor-address": "192.168.100.2" + }, + "192.168.100.3": { + "config": { + "neighbor-address": "192.168.100.3", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.3" } } } @@ -168,33 +200,44 @@ "name": "static", "static-routes": { "static": { - "10.0.0.0/24": { + "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, "next-hops": { "next-hop": { - "172.20.0.2": { + "192.168.100.100": { "config": { - "metric": 1, - "next-hop": "172.20.0.2" + "next-hop": "192.168.100.100" }, - "index": "172.20.0.2" + "index": "192.168.100.100" + }, + "192.168.100.101": { + "config": { + "metric": 200, + "next-hop": "192.168.100.101" + }, + "index": "192.168.100.101" } } }, - "prefix": "10.0.0.0/24" + "prefix": "10.0.1.0/24" }, - "10.0.1.0/24": { + "10.100.1.0/24": { + "config": { + "prefix": "10.100.1.0/24" + }, "next-hops": { "next-hop": { - "172.20.0.2": { + "192.168.100.200": { "config": { - "metric": 1, - "next-hop": "172.20.0.2" + "next-hop": "192.168.100.200" }, - "index": "172.20.0.2" + "index": "192.168.100.200" } } }, - "prefix": "10.0.1.0/24" + "prefix": "10.100.1.0/24" } } } @@ -205,4 +248,3 @@ } } } - diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt index 0b330168..530d8f86 100644 --- a/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt @@ -1 +1,141 @@ -asdads + + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + my_peers + + 192.168.100.2 + adsasd + 65101 + + + + my_peers + + 192.168.100.30 + 65100 + + + + my_peers + + 192.168.100.3 + + + + + + 1.1.1.1 + + + + 65000 + + + + + + 10.100.0.0/24 + + 192.168.100.200 + + + + 10.0.0.0/24 + + 192.168.100.100 + 100 + + + 192.168.100.101 + 200 + + + + + + + frontend + virtual-router + production vrf + + + + my_peers + + 192.168.100.3 + 65100 + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + + + + + + 10.0.1.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.1.0/24 + + 192.168.100.200 + + + + + + + devel + virtual-router + + + + 10.0.2.0/24 + + 192.168.100.200 + + + 192.168.100.101 + 200 + + + 192.168.100.100 + + + + 10.100.2.0/24 + + 192.168.100.200 + + + + + + + + + prod + + + diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt index bf7e8990..b572452e 100644 --- a/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt @@ -1 +1,127 @@ -asdasd + + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + my_peers + + 192.168.100.2 + adsasd + 65101 + + + + my_peers + + 192.168.100.30 + 65100 + + + + + + 1.1.1.1 + + + + 65000 + + + + + + 10.100.0.0/24 + + 192.168.100.200 + + + + 10.0.0.0/24 + + 192.168.100.100 + 100 + + + 192.168.100.101 + 200 + + + + + + + frontend + virtual-router + production vrf + + + + my_peers + + 192.168.100.3 + 65100 + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + + + + + + 10.0.1.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.1.0/24 + + 192.168.100.200 + + + + + + + devel + virtual-router + + + + 10.0.2.0/24 + + 192.168.100.200 + + + 192.168.100.101 + 200 + + + + 10.100.2.0/24 + + 192.168.100.200 + + + + + + + diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt index 0b330168..235b21d3 100644 --- a/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt @@ -1 +1,127 @@ -asdads + + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + my_peers + + 192.168.100.3 + 65100 + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + + + + 1.1.1.1 + + + + 65000 + + + + + + 10.100.0.0/24 + + 192.168.100.200 + + + + 10.0.0.0/24 + + 192.168.100.100 + 100 + + + 192.168.100.101 + 200 + + + + + + + prod + virtual-router + production vrf + + + + my_peers + + 192.168.100.3 + 65100 + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + + + + + + 10.0.1.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.1.0/24 + + 192.168.100.200 + + + + + + + devel + virtual-router + + + + 10.0.2.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.2.0/24 + + 192.168.100.200 + + + + + + + diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 0e4d6860..57a8a8ee 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -1,5 +1,7 @@ from __future__ import unicode_literals +from napalm_base import get_network_driver + import napalm_yang import pytest @@ -14,6 +16,16 @@ logger = logging.getLogger("napalm-yang") +device_configuration = { + "junos": { + 'hostname': '127.0.0.1', + 'username': 'vagrant', + 'password': '', + 'optional_args': {'port': 12203, 'config_lock': False} + } +} + + def config_logging(): logger.setLevel(logging.DEBUG) ch = logging.StreamHandler(sys.stdout) @@ -33,8 +45,8 @@ def pretty_json(dictionary): test_config_profile_models = [ - ["ios", napalm_yang.models.openconfig_interfaces, "default"], - ["eos", napalm_yang.models.openconfig_network_instance, "default"], + # ["ios", napalm_yang.models.openconfig_interfaces, "default"], + # ["eos", napalm_yang.models.openconfig_network_instance, "default"], ["junos", napalm_yang.models.openconfig_network_instance, "default"], ] @@ -83,7 +95,11 @@ def test_translate(self, profile, model, case): config.load_dict(json_blob) configuration = config.translate_config(profile=[profile]) - # print(configuration) + + # driver = get_network_driver(profile) + # with driver(**device_configuration[profile]) as d: + # d.load_merge_candidate(config=configuration) + # print(d.compare_config()) assert configuration == expected_translation @@ -111,6 +127,12 @@ def test_translate_merge(self, action, profile, model, case): # print(pretty_json(napalm_yang.utils.diff(candidate, running))) # print(configuration) + # driver = get_network_driver(profile) + # with driver(**device_configuration[profile]) as d: + # d.load_merge_candidate(config=configuration) + # print(d.compare_config()) + # d.discard_config() + assert configuration == expected_translation @pytest.mark.parametrize("profile, model, case", test_state_profile_models) From 12eaddd6e396bb5eaea4e13096f7c780bd4e30ff Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 15 May 2017 10:13:14 +0200 Subject: [PATCH 032/153] Removed negate_recursively as it's unnecessary --- .../openconfig-network-instance/network-instances.yaml | 2 -- napalm_yang/translator.py | 3 +-- napalm_yang/translators/base.py | 4 +--- test/integration/test_profiles.py | 4 ++-- 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml index 5f9f8564..307bbc0c 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml @@ -265,14 +265,12 @@ network-instances: - mode: container key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n" negate: "no router bgp {{ model.bgp.global_.config.as_ }}\n" - negate_recursively: true end: " exit\n" when: "{{ protocol_key == 'bgp bgp' and network_instance_key == 'global' }}" in: "network-instances" - mode: container key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n vrf {{ network_instance_key}}\n" negate: "router bgp {{ model.bgp.global_.config.as_ }}\n no vrf {{ network_instance_key}}\n" - negate_recursively: true end: " exit\n" when: "{{ protocol_key == 'bgp bgp' and network_instance_key != 'global' }}" replace: false diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 2cff8a9f..8d2e2f8a 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -151,8 +151,7 @@ def _default_element_list(self, attribute, running, mapping, translation, candid self.keys, None, element, self.bookmarks) - self.translator.default_element(translation_rule, translation, self.bookmarks, - recursive=candidate is {}) + self.translator.default_element(translation_rule, translation, self.bookmarks) if any([t.get("continue_negating", False) for t in translation_rule]): self._default_child(attribute, element, mapping, translation) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 11ccb195..9cec9d3a 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -32,7 +32,7 @@ def init_element(self, attribute, model, other, mapping, translation, bookmarks) return None return et - def default_element(self, mapping, translation, bookmarks, replacing=False, recursive=False): + def default_element(self, mapping, translation, bookmarks, replacing=False): t = translation for m in mapping: if m["mode"] == "skip": @@ -40,8 +40,6 @@ def default_element(self, mapping, translation, bookmarks, replacing=False, recu elif m["mode"] == "gate": return - if recursive and not m.get("negate_recursively", False): - continue t = _find_translation_point(m, bookmarks, t) method_name = "_default_element_{}".format(m["mode"]) t = getattr(self, method_name)(m, t, replacing) diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 57a8a8ee..2337cfce 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -45,8 +45,8 @@ def pretty_json(dictionary): test_config_profile_models = [ - # ["ios", napalm_yang.models.openconfig_interfaces, "default"], - # ["eos", napalm_yang.models.openconfig_network_instance, "default"], + ["ios", napalm_yang.models.openconfig_interfaces, "default"], + ["eos", napalm_yang.models.openconfig_network_instance, "default"], ["junos", napalm_yang.models.openconfig_network_instance, "default"], ] From 203912876f9183b37eefe9dbcdc3777e78171c08 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 15 May 2017 10:19:48 +0200 Subject: [PATCH 033/153] Updated docs --- docs/index.rst | 1 + docs/yang/faq.rst | 24 +++++++ docs/yang/parsers.rst | 54 +++++++++++++-- docs/yang/parsers/TextParser.rst | 85 +++++++++++++++++++++--- docs/yang/parsers/XMLParser.rst | 11 ++- docs/yang/profiles.rst | 20 +++--- docs/yang/translators.rst | 83 +++++++++++++++++++++++ docs/yang/translators/TextTranslator.rst | 4 +- docs/yang/translators/XMLTranslator.rst | 4 +- docs/yang/writing_profiles.rst | 2 +- 10 files changed, 252 insertions(+), 36 deletions(-) create mode 100644 docs/yang/faq.rst diff --git a/docs/index.rst b/docs/index.rst index 0245be3c..1599accd 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -29,3 +29,4 @@ Documentation yang/translators/TextTranslator yang/api yang/jinja_filters + yang/faq diff --git a/docs/yang/faq.rst b/docs/yang/faq.rst new file mode 100644 index 00000000..e3fb09ed --- /dev/null +++ b/docs/yang/faq.rst @@ -0,0 +1,24 @@ +FAQ +=== + +Some YAML files are insanely largely. Can I break them down into multiple files? +________________________________________________________________________________ + + Yes, you can with the ``!include relative/path/to/file.yaml`` directive. For example:: + + # ./main.yaml + my_key: + blah: asdasdasd + bleh: !include includes/bleh.yaml + + # ./includes/bleh.yaml + qwe: 1 + asd: 2 + + Will result in the final object:: + + my_key: + blah: asdasdasd + bleh: + qwe: 1 + asd: 2 diff --git a/docs/yang/parsers.rst b/docs/yang/parsers.rst index 955ea16e..470b2f04 100644 --- a/docs/yang/parsers.rst +++ b/docs/yang/parsers.rst @@ -3,6 +3,52 @@ Parsers Parsers are responsible for mapping native configuration/show_commands to a YANG model. +Special actions +=============== + +Most actions depend on the parser you are using, however, some are common to all of them: + +unnecessary +----------- + +This makes the parser skip the field and continue processing the tree. + +not_implemented +--------------- + +This makes the parser stop processing the tree underneath this value. For example:: + + field_1: + process: unnecessary + field_2: + process: not_implemented + subfield_1: + process: ... + subfield_2: + process: ... + field_3: + ... + +The ``not_implemented`` action will stop the parser from processing ``subfield_1`` and ``subfield_2`` +and move directly onto ``field_3``. + +gate +---- + +Works like ``not_implemented`` but accepts a condition. For example:: + + protocols: + protocol: + bgp: + _process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" + global: + ... + +The snippet above will only process the ``bgp`` subtree if the condition is **not** met. + + Special fields ============== @@ -17,7 +63,7 @@ mode * **Example**: Parse the description field with a simple regular expression:: _process: - mode: search + - mode: search regexp: "description (?P.*)" from: "{{ bookmarks.interface[interface_key] }}" @@ -52,7 +98,7 @@ from address: _process: - mode: xpath + - mode: xpath xpath: "family/inet/address" key: name from: "{{ bookmarks['parent'] }}" @@ -112,14 +158,14 @@ Some actions let's you provide additional information for later use. Those will address: _process: - mode: block + - mode: block regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" from: "{{ bookmarks['parent'] }}" config: _process: unnecessary ip: _process: - mode: value + - mode: value value: "{{ extra_vars.ip }}" The first regexp captures a bunch of vars that later can be used by just reading them from diff --git a/docs/yang/parsers/TextParser.rst b/docs/yang/parsers/TextParser.rst index 743d9587..16cbc6cb 100644 --- a/docs/yang/parsers/TextParser.rst +++ b/docs/yang/parsers/TextParser.rst @@ -30,14 +30,19 @@ Arguments: * **regexp** (mandatory) - Regular expression to apply. Note that it must capture two things at least; ``block``, which will be the entire block of configuration relevant for the interface and ``key``, which will be the key of the element. - + * **mandatory** (optional) will force the creation of one or more elements by specifying them manually + in a dict the ``key``, ``block`` (can be empty string) and any potential ``extra_vars`` you may want to specify. + * **composite_key** (optional) is a list of attributes captured in the regexp to be used as the key for the element. + * **flat** (optional) if set to ``true`` (default is ``false``) the parser will understand the configuration for the + element consists of flat commands instead of nested (for example BGP neighbors or static routes) + * **key** (optional) set key manually Example 1 Capture the interfaces:: _process: - mode: block + - mode: block regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" from: "{{ bookmarks.interfaces }}" @@ -66,22 +71,81 @@ Example 2 subinterface: _process: - mode: block + - mode: block regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" from: "{{ bookmarks.interfaces }}" -Example 3. +Example 3 Sometimes we can get easily more information in one go than just the ``key`` and the ``block``. For those cases we can capture more groups and they will be stored in the ``extra_vars`` dictionary:: address: _process: - mode: block + - mode: block regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" from: "{{ bookmarks['parent'] }}" +Example 4 + + In some cases native configuration might be "flat" but nested in a YANG model. This is the case of the `global` + or `default` VRF, in those cases, it is hard you may want to ensure that `global` VRF is always created:: + + _process: + - mode: block + regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + mandatory: + - key: "global" + block: "" + extra_vars: {} + +Example 5 + + Some list elements have composite keys, if that's the case, use the composite key to tell the parser how to map + captured elements to the composite key:: + + protocols: + _process: unnecessary + protocol: + _process: + - mode: block + regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" + from: "{{ bookmarks['network-instances'][0] }}" + composite_key: [protocol_name, protocol_name] + when: "{{ network_instance_key == 'global' }}" + +Example 6 + + Some list elements (like static routes or BGP neighbors) are configured as a flat list of commands instead of + nested. By default, if you would try to parse each command individually the parser would try to create + a new element with each line and fail as multiple lines belong to the same element but they are treated independently. + By setting ``flat: true`` this behavior is changed and subsequent commands will update an already created object:: + + bgp: + neighbors: + neighbor: + _process: + - mode: block + regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + flat: true + +Example 7 + + In some rare cases you might not be able to extract the key directly from the configuration. For example, + the ``static`` protocol consists of ``ip route`` commands. In that case you can set the key yourself:: + + protocols: + protocol: + _process: + - mode: block + regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + key: "static static" + + Leaf - search ------------- @@ -99,7 +163,7 @@ Example. description: _process: - mode: search + - mode: search regexp: "description (?P.*)" from: "{{ bookmarks.interface[interface_key] }}" @@ -118,7 +182,7 @@ Example. secondary: _process: - mode: value + - mode: value value: "{{ extra_vars.secondary != None }}" Leaf - is_absent @@ -136,7 +200,7 @@ Example. _process: unnecessary enabled: _process: - mode: is_absent + - mode: is_absent regexp: "(?P^\\W*switchport$)" from: "{{ bookmarks['parent'] }}" @@ -151,7 +215,7 @@ Example. enabled: _process: - mode: is_present + - mode: is_present regexp: "(?Pno shutdown)" from: "{{ bookmarks.interface[interface_key] }}" @@ -172,7 +236,7 @@ Example. Check type of interface by extracting the name and doing a lookup:: _process: - mode: map + - mode: map regexp: "(?P(\\w|-)*)\\d+" from: "{{ interface_key }}" map: @@ -181,4 +245,3 @@ Example. Loopback: softwareLoopback Port-Channel: ieee8023adLag Vlan: l3ipvlan - diff --git a/docs/yang/parsers/XMLParser.rst b/docs/yang/parsers/XMLParser.rst index e244734f..c075bb91 100644 --- a/docs/yang/parsers/XMLParser.rst +++ b/docs/yang/parsers/XMLParser.rst @@ -35,7 +35,7 @@ Example: interface: _process: - mode: xpath + - mode: xpath xpath: "interfaces/interface" key: name from: "{{ bookmarks.interfaces }}" @@ -73,7 +73,7 @@ Example: description: _process: - mode: xpath + - mode: xpath xpath: description from: "{{ bookmarks['parent'] }}" @@ -92,7 +92,7 @@ Example: name: _process: - mode: value + - mode: value value: "{{ interface_key }}" Leaf - map @@ -114,7 +114,7 @@ Example: type: _process: - mode: map + - mode: map xpath: name regexp: "(?P[a-z]+).*" from: "{{ bookmarks['parent'] }}" @@ -137,7 +137,7 @@ Example: enabled: _process: - mode: is_absent + - mode: is_absent xpath: "disable" from: "{{ bookmarks['parent'] }}" @@ -148,4 +148,3 @@ Leaf - is_present ----------------- Works exactly like ``xpath`` but if the evaluation is ``None``, it will return ``False``. - diff --git a/docs/yang/profiles.rst b/docs/yang/profiles.rst index a4154638..5e4023c3 100644 --- a/docs/yang/profiles.rst +++ b/docs/yang/profiles.rst @@ -22,7 +22,7 @@ If you are using a napalm driver and have access to your device, you will have a is useful as there might be small variances between different systems but not enough to justify reimplementing everything. -You can find the profiles `here `_ but what is exactly is a profile? A profile is a bunch of YAML files that follows the structure of a YANG model and describes two things: +You can find the profiles `here `_ but what exactly is a profile? A profile is a bunch of YAML files that follows the structure of a YANG model and describes two things: #. How to parse native configuration/state and map it into a model. #. How to translate a model and map it into native configuration. @@ -31,19 +31,19 @@ For example, for a given interface, the snippet below specifies how to map confi enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ parse_bookmarks.interface[interface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ parse_bookmarks.interface[interface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ parse_bookmarks.interface[interface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ parse_bookmarks.interface[interface_key] }}" mtu: _process: - mode: search - regexp: "mtu (?P[0-9]+)" - from: "{{ parse_bookmarks.interface[interface_key] }}" + - mode: search + regexp: "mtu (?P[0-9]+)" + from: "{{ parse_bookmarks.interface[interface_key] }}" And the following snippet how to map the same attributes from the ``openconfig_interface`` to native configuration:: diff --git a/docs/yang/translators.rst b/docs/yang/translators.rst index 6012a04d..af3a790a 100644 --- a/docs/yang/translators.rst +++ b/docs/yang/translators.rst @@ -3,6 +3,51 @@ Translators Translators are responsible for transforming a model into native configuration. +Special actions +=============== + +Most actions depend on the parser you are using, however, some are common to all of them: + +unnecessary +----------- + +This makes the parser skip the field and continue processing the tree. + +not_implemented +--------------- + +This makes the parser stop processing the tree underneath this value. For example:: + + field_1: + process: unnecessary + field_2: + process: not_implemented + subfield_1: + process: ... + subfield_2: + process: ... + field_3: + ... + +The ``not_implemented`` action will stop the parser from processing ``subfield_1`` and ``subfield_2`` +and move directly onto ``field_3``. + +gate +---- + +Works like ``not_implemented`` but accepts a condition. For example:: + + protocols: + protocol: + bgp: + _process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" + global: + ... + +The snippet above will only process the ``bgp`` subtree if the condition is **not** met. + Special fields ============== @@ -78,6 +123,44 @@ in .. note:: This field follows the same logic as the :ref:`yang_special_field_bookmarks` special field. +continue_negating +----------------- + +* **mandatory**: no +* **description**: This option, when added to a container, will make the framework to also negate children. +* **example**: We can use as an example the "network-instances" model. In the model, BGP is inside the ``network-instance`` container, however, in EOS and other platforms that BGP configuration is decoupled from the VRF, so in order to tell the framework to delete also the direct children you will have to use this option. For example:: + + network-instance: + _process: + - mode: container + key_value: "vrf definition {{ network_instance_key }}\n" + negate: "no vrf definition {{ network_instance_key }}\n" + continue_negating: true + end: " exit\n" + when: "{{ network_instance_key != 'global' }}" + ... + protocols: + _process: unnecessary + protocol: + _process: + - mode: container + key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n vrf {{ network_instance_key}}\n" + negate: "router bgp {{ model.bgp.global_.config.as_ }}\n no vrf {{ network_instance_key}}\n" + end: " exit\n" + when: "{{ protocol_key == 'bgp bgp' and network_instance_key != 'global' }}" + replace: false + in: "network-instances" + +The example above will generate:: + + no vrf definition blah + router bgp ASN + no vrf blah + +Without ``continue_negating`` it would just generate:: + + no vrf definition blah + Special variables ================= diff --git a/docs/yang/translators/TextTranslator.rst b/docs/yang/translators/TextTranslator.rst index 1fe73977..2b3076e7 100644 --- a/docs/yang/translators/TextTranslator.rst +++ b/docs/yang/translators/TextTranslator.rst @@ -28,7 +28,7 @@ Example 1: _process: unnecessary interface: _process: - mode: container + . mode: container key_value: "interface {{ interface_key }}\n" negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" end: " exit\n" @@ -39,7 +39,7 @@ Example 2: address: _process: - mode: container + . mode: container key_value: " ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" negate: " default ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" replace: false diff --git a/docs/yang/translators/XMLTranslator.rst b/docs/yang/translators/XMLTranslator.rst index 73f18a3c..ac1a70db 100644 --- a/docs/yang/translators/XMLTranslator.rst +++ b/docs/yang/translators/XMLTranslator.rst @@ -34,7 +34,7 @@ Example: Create the ``interfaces`` container:: _process: - mode: container + . mode: container container: interfaces replace: true @@ -57,7 +57,7 @@ Example: interface: _process: - mode: container + . mode: container container: interface key_element: name key_value: "{{ interface_key }}" diff --git a/docs/yang/writing_profiles.rst b/docs/yang/writing_profiles.rst index f88aca84..9eca4057 100644 --- a/docs/yang/writing_profiles.rst +++ b/docs/yang/writing_profiles.rst @@ -68,7 +68,7 @@ RPC call for a junos device. _process: unnecessary vlan_id: _process: - mode: xpath + - mode: xpath xpath: "vlan-id" from: "{{ parse_bookmarks['parent'] }}" From 952bdf9c0562c0788f838d2ad7908149928d6cf9 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 15 May 2017 10:20:42 +0200 Subject: [PATCH 034/153] Updated CHANGELOG --- CHANGELOG.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 CHANGELOG.rst diff --git a/CHANGELOG.rst b/CHANGELOG.rst new file mode 100644 index 00000000..f1696fbb --- /dev/null +++ b/CHANGELOG.rst @@ -0,0 +1,14 @@ +0.0.2 ++++++ + + - Translators now accept ``continue_negating`` option + - YAML files can now include other files via the ``!include relative/path/to/file.yaml`` directive + - ``TextParser``, ``list - block`` supports manual keys via the ``key`` argument + - ``TextParser``, ``list - block`` now supports flat list of commands (i.e. BGP neighbors and static routes) via the ``flat`` argument + - ``TextParser``, ``list - block`` now supports composite keys via the ``composite_key`` argument + - ``TextParser``, ``list - block`` now supports creating elements manually via the ``mandatory`` argument + +0.0.1 ++++++ + + - Initial version From e5b47090fa65f2fbfab4994c9f397eaa2ccb65ac Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Sun, 4 Jun 2017 13:48:18 -0700 Subject: [PATCH 035/153] Add FastEthernet interface to parser --- .../ios/parsers/config/openconfig-interfaces/interfaces.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index 0893886e..29048720 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -32,6 +32,7 @@ interfaces: regexp: "(?P(\\w|-)*)\\d+" from: "{{ interface_key }}" map: + FastEthernet: ethernetCsmacd GigabitEthernet: ethernetCsmacd Management: ethernetCsmacd Loopback: softwareLoopback From 9598460bfbff56b2dc912b66a4abc10d3cdf6336 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Mon, 5 Jun 2017 10:49:45 +0200 Subject: [PATCH 036/153] Add interface types of interfaces found on Juniper EX2200 --- .../junos/parsers/config/openconfig-interfaces/interfaces.yaml | 2 ++ .../junos/parsers/state/openconfig-interfaces/interfaces.yaml | 1 + 2 files changed, 3 insertions(+) diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index 3ad52d58..f0869100 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -41,6 +41,8 @@ interfaces: from: "{{ parent_key }}" map: ge: ethernetCsmacd + me: ethernetCsmacd + vlan: ethernetCsmacd lo: softwareLoopback ae: ieee8023adLag enabled: diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index af6f78c0..14dfc096 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -88,6 +88,7 @@ interfaces: Multicast-GRE: tunnel Secure-Tunnel: tunnel Ethernet: ethernetCsmacd + Mgmt-VLAN: ethernetCsmacd Loopback: softwareLoopback VLAN: l2vlan Adaptive-Services: null From cfd21ebfaf21e1f7526c208fc4f457860c2f8ab0 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Mon, 5 Jun 2017 11:05:19 +0200 Subject: [PATCH 037/153] Add interface types from Juniper MX960 --- .../junos/parsers/config/openconfig-interfaces/interfaces.yaml | 3 +++ .../junos/parsers/state/openconfig-interfaces/interfaces.yaml | 1 + 2 files changed, 4 insertions(+) diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index f0869100..81b988c0 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -41,6 +41,9 @@ interfaces: from: "{{ parent_key }}" map: ge: ethernetCsmacd + xe: ethernetCsmacd + et: ethernetCsmacd + irb: ethernetCsmacd me: ethernetCsmacd vlan: ethernetCsmacd lo: softwareLoopback diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index 14dfc096..aae32e17 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -96,6 +96,7 @@ interfaces: PIMD: null PIME: null PPPoE: null + Unspecified: null counters: _process: unnecessary in-broadcast-pkts: From 127c620926e5015ef9b711881bd27a640932471d Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Tue, 6 Jun 2017 10:22:00 -0700 Subject: [PATCH 038/153] Fix issue with ios-layer3 not being properly identified --- .../mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml index 8811a11b..80077c0d 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml @@ -9,7 +9,7 @@ ipv4: enabled: _process: # TODO look at this one, I think this is different depending on IOS version mode: is_absent - regexp: "(?P^\\W*switchport$)" + regexp: "(?P^\\s*switchport mode.*$)" from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented From b25881742b3627408c9314c10f33979c5f5652e4 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Fri, 28 Apr 2017 14:42:45 +0200 Subject: [PATCH 039/153] Fixed minor issue with the dummy generator --- generate_templates.py | 28 +- .../openconfig-if-aggregate/aggregation.yaml | 2 + .../openconfig-if-ethernet/ethernet.yaml | 2 + .../config/openconfig-if-ip-ext/autoconf.yaml | 2 + .../parsers/config/openconfig-if-ip/ipv4.yaml | 14 + .../parsers/config/openconfig-if-ip/ipv6.yaml | 14 + .../openconfig-interfaces/interfaces.yaml | 6 + .../network-instances.yaml | 480 ++++++++++++++++++ .../transceiver.yaml | 4 + .../openconfig-platform/components.yaml | 6 + .../config/openconfig-vlan/routed-vlan.yaml | 2 + .../config/openconfig-vlan/switched-vlan.yaml | 2 + .../parsers/config/openconfig-vlan/vlan.yaml | 2 + .../parsers/config/openconfig-vlan/vlans.yaml | 4 + .../network-instances.yaml | 2 + .../openconfig-if-aggregate/aggregation.yaml | 2 + .../openconfig-if-ethernet/ethernet.yaml | 2 + .../openconfig-if-ip-ext/autoconf.yaml | 2 + .../translators/openconfig-if-ip/ipv4.yaml | 14 + .../translators/openconfig-if-ip/ipv6.yaml | 14 + .../openconfig-interfaces/interfaces.yaml | 6 + .../network-instances.yaml | 480 ++++++++++++++++++ .../transceiver.yaml | 4 + .../openconfig-platform/components.yaml | 6 + .../openconfig-vlan/routed-vlan.yaml | 2 + .../openconfig-vlan/switched-vlan.yaml | 2 + .../translators/openconfig-vlan/vlan.yaml | 2 + .../translators/openconfig-vlan/vlans.yaml | 4 + 28 files changed, 1095 insertions(+), 15 deletions(-) diff --git a/generate_templates.py b/generate_templates.py index 0ea4b825..1b2567ff 100644 --- a/generate_templates.py +++ b/generate_templates.py @@ -33,22 +33,20 @@ def process(model, r_config, r_state): r_state[model._yang_name] = {"_process": "not_implemented"} return - for k, v in ctr: - if model._yang_name == "config": - rr_config = r_config[model._yang_name] - rr_config["_process"] = "not_implemented" - rr_state = r_state - elif v._is_config: - rr_config = r_config[model._yang_name] - rr_config["_process"] = "not_implemented" - rr_state = r_state[model._yang_name] - rr_state["_process"] = "not_implemented" - else: - rr_config = r_config - rr_state = r_state[model._yang_name] - rr_state["_process"] = "not_implemented" + if model._yang_name == "config": + r_config = r_config[ctr._yang_name] + r_config["_process"] = "not_implemented" + elif model._is_config: + r_config = r_config[ctr._yang_name] + r_config["_process"] = "not_implemented" + r_state = r_state[ctr._yang_name] + r_state["_process"] = "not_implemented" + else: + r_state = r_state[ctr._yang_name] + r_state["_process"] = "not_implemented" - process_module(v, model._defining_module, rr_config, rr_state) + for k, v in ctr: + process_module(v, model._defining_module, r_config, r_state) def process_module(model, module, r_config=None, r_state=None): diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-aggregate/aggregation.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-aggregate/aggregation.yaml index 04215d3a..78270f06 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-aggregate/aggregation.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-aggregate/aggregation.yaml @@ -10,3 +10,5 @@ aggregation: _process: not_implemented min-links: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ethernet/ethernet.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ethernet/ethernet.yaml index 19df1086..c1682bae 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ethernet/ethernet.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ethernet/ethernet.yaml @@ -16,3 +16,5 @@ ethernet: _process: not_implemented port-speed: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip-ext/autoconf.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip-ext/autoconf.yaml index 3031712e..9389d681 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip-ext/autoconf.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip-ext/autoconf.yaml @@ -14,3 +14,5 @@ autoconf: _process: not_implemented temporary-valid-lifetime: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv4.yaml index cfed01be..cd995614 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv4.yaml @@ -16,6 +16,8 @@ ipv4: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented vrrp: _process: not_implemented vrrp-group: @@ -44,6 +46,10 @@ ipv4: _process: not_implemented track-interface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-router-id: _process: not_implemented config: @@ -64,6 +70,10 @@ ipv4: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented unnumbered: _process: not_implemented config: @@ -78,3 +88,7 @@ ipv4: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv6.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv6.yaml index 80ccfe09..adbd06d4 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv6.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-if-ip/ipv6.yaml @@ -16,6 +16,8 @@ ipv6: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented vrrp: _process: not_implemented vrrp-group: @@ -46,6 +48,10 @@ ipv6: _process: not_implemented track-interface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-router-id: _process: not_implemented config: @@ -68,6 +74,10 @@ ipv6: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented unnumbered: _process: not_implemented config: @@ -82,3 +92,7 @@ ipv6: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-interfaces/interfaces.yaml index d5aa5eb1..f92d9638 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-interfaces/interfaces.yaml @@ -26,8 +26,12 @@ interfaces: _process: not_implemented up: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented subinterfaces: _process: not_implemented subinterface: @@ -44,3 +48,5 @@ interfaces: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-network-instance/network-instances.yaml index fb4853f4..c3f45206 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-network-instance/network-instances.yaml @@ -30,6 +30,10 @@ network-instances: _process: not_implemented interface-ref: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented next-hops: _process: not_implemented next-hop: @@ -48,6 +52,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented description: @@ -98,6 +110,8 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented remote: _process: not_implemented config: @@ -106,6 +120,12 @@ network-instances: _process: not_implemented virtual-circuit-identifier: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented encapsulation: _process: not_implemented config: @@ -116,6 +136,8 @@ network-instances: _process: not_implemented label-allocation-mode: _process: not_implemented + state: + _process: not_implemented fdb: _process: not_implemented config: @@ -148,8 +170,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented mac-address: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented inter-instance-policies: _process: not_implemented apply-policy: @@ -164,6 +192,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -180,6 +210,8 @@ network-instances: _process: not_implemented id: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented global: @@ -208,6 +240,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented reserved-label-blocks: _process: not_implemented reserved-label-block: @@ -222,6 +258,10 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented lsps: _process: not_implemented constrained-path: @@ -252,8 +292,12 @@ network-instances: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented tunnels: _process: not_implemented tunnel: @@ -284,6 +328,10 @@ network-instances: _process: not_implemented trigger-event-count: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented underflow: _process: not_implemented config: @@ -294,12 +342,16 @@ network-instances: _process: not_implemented underflow-threshold: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented set-bandwidth: _process: not_implemented specification-type: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented admin-status: @@ -354,6 +406,8 @@ network-instances: _process: not_implemented include-any-group: _process: not_implemented + state: + _process: not_implemented candidate-secondary-paths: _process: not_implemented candidate-secondary-path: @@ -366,6 +420,8 @@ network-instances: _process: not_implemented secondary-path: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented cspf-tiebreaker: @@ -390,6 +446,8 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented p2p-secondary-paths: _process: not_implemented p2p-secondary-path: @@ -404,6 +462,8 @@ network-instances: _process: not_implemented include-any-group: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented cspf-tiebreaker: @@ -428,6 +488,12 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented static-lsps: _process: not_implemented static-lsp: @@ -446,6 +512,8 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented ingress: _process: not_implemented config: @@ -456,8 +524,12 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented transit: _process: not_implemented config: @@ -468,8 +540,12 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented unconstrained-path: _process: not_implemented + path-setup-protocol: + _process: not_implemented signaling-protocols: _process: not_implemented rsvp-te: @@ -486,6 +562,8 @@ network-instances: _process: not_implemented restart-time: _process: not_implemented + state: + _process: not_implemented hellos: _process: not_implemented config: @@ -494,6 +572,8 @@ network-instances: _process: not_implemented refresh-reduction: _process: not_implemented + state: + _process: not_implemented soft-preemption: _process: not_implemented config: @@ -502,6 +582,10 @@ network-instances: _process: not_implemented soft-preemption-timeout: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented interface-attributes: _process: not_implemented interface: @@ -514,8 +598,12 @@ network-instances: _process: not_implemented enable: _process: not_implemented + state: + _process: not_implemented bandwidth-reservations: _process: not_implemented + bandwidth-reservation: + _process: not_implemented config: _process: not_implemented interface-id: @@ -528,6 +616,8 @@ network-instances: _process: not_implemented refresh-reduction: _process: not_implemented + state: + _process: not_implemented interface-id: _process: not_implemented interface-ref: @@ -538,6 +628,8 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented protection: _process: not_implemented config: @@ -546,20 +638,32 @@ network-instances: _process: not_implemented link-protection-style-requested: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented subscription: _process: not_implemented config: _process: not_implemented subscription: _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented + neighbor: + _process: not_implemented sessions: _process: not_implemented + session: + _process: not_implemented segment-routing: _process: not_implemented aggregate-sid-counters: _process: not_implemented + aggregate-sid-counter: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -578,8 +682,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented sid-counters: _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented te-global-attributes: _process: not_implemented mpls-admin-groups: @@ -594,6 +704,8 @@ network-instances: _process: not_implemented bit-position: _process: not_implemented + state: + _process: not_implemented srlgs: _process: not_implemented srlg: @@ -610,6 +722,8 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented static-srlg-members: _process: not_implemented members-list: @@ -622,6 +736,8 @@ network-instances: _process: not_implemented from-address: _process: not_implemented + state: + _process: not_implemented te-lsp-timers: _process: not_implemented config: @@ -632,6 +748,8 @@ network-instances: _process: not_implemented reoptimize-timer: _process: not_implemented + state: + _process: not_implemented te-interface-attributes: _process: not_implemented interface: @@ -662,6 +780,8 @@ network-instances: _process: not_implemented up-thresholds: _process: not_implemented + state: + _process: not_implemented interface-id: _process: not_implemented interface-ref: @@ -672,6 +792,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented policy-forwarding: @@ -696,6 +820,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented path-selection-groups: _process: not_implemented path-selection-group: @@ -708,6 +836,8 @@ network-instances: _process: not_implemented group-id: _process: not_implemented + state: + _process: not_implemented policies: _process: not_implemented policy: @@ -736,6 +866,8 @@ network-instances: _process: not_implemented path-selection-group: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented sequence-id: @@ -760,6 +892,8 @@ network-instances: _process: not_implemented source-ip-flow-label: _process: not_implemented + state: + _process: not_implemented l2: _process: not_implemented config: @@ -774,8 +908,12 @@ network-instances: _process: not_implemented source-mac-mask: _process: not_implemented + state: + _process: not_implemented sequence-id: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -786,6 +924,10 @@ network-instances: _process: not_implemented tcp-flags: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented protocols: _process: not_implemented protocol: @@ -812,6 +954,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -826,6 +970,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -844,6 +990,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -858,6 +1008,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -876,6 +1028,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -890,6 +1046,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -904,6 +1062,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -918,6 +1078,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -932,6 +1094,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -946,6 +1110,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -960,6 +1126,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -976,6 +1144,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -990,12 +1162,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented confederation: _process: not_implemented config: @@ -1006,6 +1184,8 @@ network-instances: _process: not_implemented member-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented as: @@ -1020,6 +1200,8 @@ network-instances: _process: not_implemented internal-route-distance: _process: not_implemented + state: + _process: not_implemented dynamic-neighbor-prefixes: _process: not_implemented dynamic-neighbor-prefix: @@ -1032,6 +1214,8 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1044,6 +1228,8 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -1060,6 +1246,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1074,12 +1264,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented neighbor: @@ -1094,6 +1290,8 @@ network-instances: _process: not_implemented send-max: _process: not_implemented + state: + _process: not_implemented afi-safis: _process: not_implemented afi-safi: @@ -1112,6 +1310,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented afi-safi-name: @@ -1124,6 +1324,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -1138,6 +1340,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -1156,6 +1360,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -1170,6 +1378,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -1188,6 +1398,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -1202,6 +1416,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -1216,6 +1432,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -1230,6 +1448,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -1244,6 +1464,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -1258,6 +1480,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -1272,6 +1496,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1284,6 +1512,10 @@ network-instances: _process: not_implemented allow-multiple-as: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented apply-policy: _process: not_implemented config: @@ -1296,6 +1528,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented as-path-options: _process: not_implemented config: @@ -1304,6 +1538,8 @@ network-instances: _process: not_implemented replace-peer-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented auth-password: @@ -1336,12 +1572,16 @@ network-instances: _process: not_implemented multihop-ttl: _process: not_implemented + state: + _process: not_implemented error-handling: _process: not_implemented config: _process: not_implemented treat-as-withdraw: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1354,12 +1594,16 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented logging-options: _process: not_implemented config: _process: not_implemented log-neighbor-state-changes: _process: not_implemented + state: + _process: not_implemented neighbor-address: _process: not_implemented route-reflector: @@ -1370,6 +1614,10 @@ network-instances: _process: not_implemented route-reflector-cluster-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1382,6 +1630,8 @@ network-instances: _process: not_implemented minimum-advertisement-interval: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -1394,6 +1644,8 @@ network-instances: _process: not_implemented tcp-mss: _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1406,6 +1658,10 @@ network-instances: _process: not_implemented allow-multiple-as: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented peer-groups: _process: not_implemented peer-group: @@ -1420,6 +1676,8 @@ network-instances: _process: not_implemented send-max: _process: not_implemented + state: + _process: not_implemented afi-safis: _process: not_implemented afi-safi: @@ -1438,6 +1696,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented afi-safi-name: @@ -1450,6 +1710,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -1464,6 +1726,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -1482,6 +1746,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -1496,6 +1764,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -1514,6 +1784,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -1528,6 +1802,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -1542,6 +1818,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -1556,6 +1834,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -1570,6 +1850,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -1584,6 +1866,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -1598,6 +1882,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -1614,6 +1900,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1628,12 +1918,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented apply-policy: _process: not_implemented config: @@ -1646,6 +1942,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented as-path-options: _process: not_implemented config: @@ -1654,6 +1952,8 @@ network-instances: _process: not_implemented replace-peer-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented auth-password: @@ -1682,12 +1982,16 @@ network-instances: _process: not_implemented multihop-ttl: _process: not_implemented + state: + _process: not_implemented error-handling: _process: not_implemented config: _process: not_implemented treat-as-withdraw: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1700,12 +2004,16 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented logging-options: _process: not_implemented config: _process: not_implemented log-neighbor-state-changes: _process: not_implemented + state: + _process: not_implemented peer-group-name: _process: not_implemented route-reflector: @@ -1716,6 +2024,10 @@ network-instances: _process: not_implemented route-reflector-cluster-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1728,6 +2040,8 @@ network-instances: _process: not_implemented minimum-advertisement-interval: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -1740,6 +2054,8 @@ network-instances: _process: not_implemented tcp-mss: _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1754,12 +2070,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented default-metric: @@ -1800,8 +2122,12 @@ network-instances: _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented authentication-check: @@ -1830,6 +2156,8 @@ network-instances: _process: not_implemented helper-only: _process: not_implemented + state: + _process: not_implemented igp-shortcuts: _process: not_implemented afi: @@ -1842,6 +2170,8 @@ network-instances: _process: not_implemented nh-type: _process: not_implemented + state: + _process: not_implemented inter-level-propagation-policies: _process: not_implemented level1-to-level2: @@ -1852,6 +2182,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented level2-to-level1: _process: not_implemented config: @@ -1860,6 +2192,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented lsp-bit: _process: not_implemented attached-bit: @@ -1870,6 +2204,8 @@ network-instances: _process: not_implemented suppress-bit: _process: not_implemented + state: + _process: not_implemented overload-bit: _process: not_implemented config: @@ -1892,6 +2228,10 @@ network-instances: _process: not_implemented reset-trigger: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented igp-ldp-sync: @@ -1902,18 +2242,24 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented nsr: _process: not_implemented config: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented reference-bandwidth: _process: not_implemented config: _process: not_implemented reference-bandwidth: _process: not_implemented + state: + _process: not_implemented segment-routing: _process: not_implemented config: @@ -1924,6 +2270,10 @@ network-instances: _process: not_implemented srlb: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1942,6 +2292,8 @@ network-instances: _process: not_implemented lsp-second-wait-interval: _process: not_implemented + state: + _process: not_implemented spf: _process: not_implemented config: @@ -1952,12 +2304,18 @@ network-instances: _process: not_implemented spf-second-interval: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: _process: not_implemented lsp-mtu-size: _process: not_implemented + state: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -1978,6 +2336,8 @@ network-instances: _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented authentication: _process: not_implemented config: @@ -1990,14 +2350,22 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented bfd: _process: not_implemented config: _process: not_implemented bfd-tlv: _process: not_implemented + state: + _process: not_implemented circuit-counters: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented circuit-type: @@ -2020,10 +2388,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented levels: _process: not_implemented level: _process: not_implemented + adjacencies: + _process: not_implemented afi-safi: _process: not_implemented af: @@ -2062,6 +2434,8 @@ network-instances: _process: not_implemented sid-id: _process: not_implemented + state: + _process: not_implemented prefix-sids: _process: not_implemented prefix-sid: @@ -2076,6 +2450,10 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented enabled: @@ -2098,24 +2476,44 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented level-number: _process: not_implemented packet-counters: _process: not_implemented cnsp: _process: not_implemented + state: + _process: not_implemented esh: _process: not_implemented + state: + _process: not_implemented iih: _process: not_implemented + state: + _process: not_implemented ish: _process: not_implemented + state: + _process: not_implemented lsp: _process: not_implemented + state: + _process: not_implemented psnp: _process: not_implemented + state: + _process: not_implemented unknown: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2124,6 +2522,10 @@ network-instances: _process: not_implemented hello-multiplier: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2132,6 +2534,8 @@ network-instances: _process: not_implemented lsp-pacing-interval: _process: not_implemented + state: + _process: not_implemented levels: _process: not_implemented level: @@ -2152,6 +2556,10 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented authentication-check: @@ -2164,6 +2572,8 @@ network-instances: _process: not_implemented level-number: _process: not_implemented + link-state-database: + _process: not_implemented route-preference: _process: not_implemented config: @@ -2172,8 +2582,14 @@ network-instances: _process: not_implemented internal-route-preference: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented system-level-counters: _process: not_implemented + state: + _process: not_implemented traffic-engineering: _process: not_implemented config: @@ -2184,6 +2600,8 @@ network-instances: _process: not_implemented ipv6-router-id: _process: not_implemented + state: + _process: not_implemented local-aggregates: _process: not_implemented aggregate: @@ -2198,6 +2616,8 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented ospfv2: @@ -2244,12 +2664,16 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented lsa-filter: _process: not_implemented config: _process: not_implemented all: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented config: @@ -2264,6 +2688,10 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented neighbor: @@ -2276,6 +2704,10 @@ network-instances: _process: not_implemented router-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2286,12 +2718,20 @@ network-instances: _process: not_implemented retransmission-interval: _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented mpls: _process: not_implemented config: _process: not_implemented traffic-engineering-enabled: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-links: _process: not_implemented virtual-link: @@ -2302,6 +2742,8 @@ network-instances: _process: not_implemented remote-router-id: _process: not_implemented + state: + _process: not_implemented global: _process: not_implemented config: @@ -2324,6 +2766,8 @@ network-instances: _process: not_implemented helper-only: _process: not_implemented + state: + _process: not_implemented inter-area-propagation-policies: _process: not_implemented inter-area-propagation-policy: @@ -2342,6 +2786,8 @@ network-instances: _process: not_implemented src-area: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented config: @@ -2356,6 +2802,12 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented lsa-generation: @@ -2366,6 +2818,8 @@ network-instances: _process: not_implemented maximum-delay: _process: not_implemented + state: + _process: not_implemented max-metric: _process: not_implemented config: @@ -2378,6 +2832,8 @@ network-instances: _process: not_implemented trigger: _process: not_implemented + state: + _process: not_implemented spf: _process: not_implemented config: @@ -2386,6 +2842,10 @@ network-instances: _process: not_implemented maximum-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented static-routes: _process: not_implemented static: @@ -2420,8 +2880,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented segment-routing: _process: not_implemented srgbs: @@ -2440,6 +2906,8 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented srlbs: _process: not_implemented srlb: @@ -2456,6 +2924,10 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented table-connections: _process: not_implemented table-connection: @@ -2478,6 +2950,8 @@ network-instances: _process: not_implemented src-protocol: _process: not_implemented + state: + _process: not_implemented tables: _process: not_implemented table: @@ -2492,6 +2966,8 @@ network-instances: _process: not_implemented protocol: _process: not_implemented + state: + _process: not_implemented vlans: _process: not_implemented vlan: @@ -2508,5 +2984,9 @@ network-instances: _process: not_implemented members: _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented vlan-id: _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-platform-transceiver/transceiver.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-platform-transceiver/transceiver.yaml index 81fba0b2..4be0c01d 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-platform-transceiver/transceiver.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-platform-transceiver/transceiver.yaml @@ -28,3 +28,7 @@ transceiver: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-platform/components.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-platform/components.yaml index c3822090..b4e8a703 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-platform/components.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-platform/components.yaml @@ -24,6 +24,10 @@ components: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented subcomponents: _process: not_implemented subcomponent: @@ -34,3 +38,5 @@ components: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/routed-vlan.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/routed-vlan.yaml index e7b63048..43f344bf 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/routed-vlan.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/routed-vlan.yaml @@ -8,3 +8,5 @@ routed-vlan: _process: not_implemented vlan: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/switched-vlan.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/switched-vlan.yaml index 1c013c45..cd9c9fea 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/switched-vlan.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/switched-vlan.yaml @@ -14,3 +14,5 @@ switched-vlan: _process: not_implemented trunk-vlans: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlan.yaml index 247d5272..35bdadb3 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlan.yaml @@ -8,3 +8,5 @@ vlan: _process: not_implemented vlan-id: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlans.yaml b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlans.yaml index 3c1c417c..8ace3077 100644 --- a/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlans.yaml +++ b/napalm_yang/mappings/dummy/parsers/config/openconfig-vlan/vlans.yaml @@ -18,5 +18,9 @@ vlans: _process: not_implemented members: _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented vlan-id: _process: not_implemented diff --git a/napalm_yang/mappings/dummy/parsers/state/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/dummy/parsers/state/openconfig-network-instance/network-instances.yaml index b0e47566..54e273de 100644 --- a/napalm_yang/mappings/dummy/parsers/state/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/dummy/parsers/state/openconfig-network-instance/network-instances.yaml @@ -498,6 +498,8 @@ network-instances: _process: not_implemented unconstrained-path: _process: not_implemented + path-setup-protocol: + _process: not_implemented signaling-protocols: _process: not_implemented rsvp-te: diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-aggregate/aggregation.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-aggregate/aggregation.yaml index 04215d3a..78270f06 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-aggregate/aggregation.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-aggregate/aggregation.yaml @@ -10,3 +10,5 @@ aggregation: _process: not_implemented min-links: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-ethernet/ethernet.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-ethernet/ethernet.yaml index 19df1086..c1682bae 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-ethernet/ethernet.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-ethernet/ethernet.yaml @@ -16,3 +16,5 @@ ethernet: _process: not_implemented port-speed: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-ip-ext/autoconf.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-ip-ext/autoconf.yaml index 3031712e..9389d681 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-ip-ext/autoconf.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-ip-ext/autoconf.yaml @@ -14,3 +14,5 @@ autoconf: _process: not_implemented temporary-valid-lifetime: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv4.yaml index cfed01be..cd995614 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv4.yaml @@ -16,6 +16,8 @@ ipv4: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented vrrp: _process: not_implemented vrrp-group: @@ -44,6 +46,10 @@ ipv4: _process: not_implemented track-interface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-router-id: _process: not_implemented config: @@ -64,6 +70,10 @@ ipv4: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented unnumbered: _process: not_implemented config: @@ -78,3 +88,7 @@ ipv4: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv6.yaml b/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv6.yaml index 80ccfe09..adbd06d4 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv6.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-if-ip/ipv6.yaml @@ -16,6 +16,8 @@ ipv6: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented vrrp: _process: not_implemented vrrp-group: @@ -46,6 +48,10 @@ ipv6: _process: not_implemented track-interface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-router-id: _process: not_implemented config: @@ -68,6 +74,10 @@ ipv6: _process: not_implemented ip: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented unnumbered: _process: not_implemented config: @@ -82,3 +92,7 @@ ipv6: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/dummy/translators/openconfig-interfaces/interfaces.yaml index d5aa5eb1..f92d9638 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-interfaces/interfaces.yaml @@ -26,8 +26,12 @@ interfaces: _process: not_implemented up: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented subinterfaces: _process: not_implemented subinterface: @@ -44,3 +48,5 @@ interfaces: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/dummy/translators/openconfig-network-instance/network-instances.yaml index fb4853f4..c3f45206 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-network-instance/network-instances.yaml @@ -30,6 +30,10 @@ network-instances: _process: not_implemented interface-ref: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented next-hops: _process: not_implemented next-hop: @@ -48,6 +52,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented description: @@ -98,6 +110,8 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented remote: _process: not_implemented config: @@ -106,6 +120,12 @@ network-instances: _process: not_implemented virtual-circuit-identifier: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented encapsulation: _process: not_implemented config: @@ -116,6 +136,8 @@ network-instances: _process: not_implemented label-allocation-mode: _process: not_implemented + state: + _process: not_implemented fdb: _process: not_implemented config: @@ -148,8 +170,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented mac-address: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented inter-instance-policies: _process: not_implemented apply-policy: @@ -164,6 +192,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -180,6 +210,8 @@ network-instances: _process: not_implemented id: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented global: @@ -208,6 +240,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented reserved-label-blocks: _process: not_implemented reserved-label-block: @@ -222,6 +258,10 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented lsps: _process: not_implemented constrained-path: @@ -252,8 +292,12 @@ network-instances: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented tunnels: _process: not_implemented tunnel: @@ -284,6 +328,10 @@ network-instances: _process: not_implemented trigger-event-count: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented underflow: _process: not_implemented config: @@ -294,12 +342,16 @@ network-instances: _process: not_implemented underflow-threshold: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented set-bandwidth: _process: not_implemented specification-type: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented admin-status: @@ -354,6 +406,8 @@ network-instances: _process: not_implemented include-any-group: _process: not_implemented + state: + _process: not_implemented candidate-secondary-paths: _process: not_implemented candidate-secondary-path: @@ -366,6 +420,8 @@ network-instances: _process: not_implemented secondary-path: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented cspf-tiebreaker: @@ -390,6 +446,8 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented p2p-secondary-paths: _process: not_implemented p2p-secondary-path: @@ -404,6 +462,8 @@ network-instances: _process: not_implemented include-any-group: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented cspf-tiebreaker: @@ -428,6 +488,12 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented static-lsps: _process: not_implemented static-lsp: @@ -446,6 +512,8 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented ingress: _process: not_implemented config: @@ -456,8 +524,12 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented transit: _process: not_implemented config: @@ -468,8 +540,12 @@ network-instances: _process: not_implemented push-label: _process: not_implemented + state: + _process: not_implemented unconstrained-path: _process: not_implemented + path-setup-protocol: + _process: not_implemented signaling-protocols: _process: not_implemented rsvp-te: @@ -486,6 +562,8 @@ network-instances: _process: not_implemented restart-time: _process: not_implemented + state: + _process: not_implemented hellos: _process: not_implemented config: @@ -494,6 +572,8 @@ network-instances: _process: not_implemented refresh-reduction: _process: not_implemented + state: + _process: not_implemented soft-preemption: _process: not_implemented config: @@ -502,6 +582,10 @@ network-instances: _process: not_implemented soft-preemption-timeout: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented interface-attributes: _process: not_implemented interface: @@ -514,8 +598,12 @@ network-instances: _process: not_implemented enable: _process: not_implemented + state: + _process: not_implemented bandwidth-reservations: _process: not_implemented + bandwidth-reservation: + _process: not_implemented config: _process: not_implemented interface-id: @@ -528,6 +616,8 @@ network-instances: _process: not_implemented refresh-reduction: _process: not_implemented + state: + _process: not_implemented interface-id: _process: not_implemented interface-ref: @@ -538,6 +628,8 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented protection: _process: not_implemented config: @@ -546,20 +638,32 @@ network-instances: _process: not_implemented link-protection-style-requested: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented subscription: _process: not_implemented config: _process: not_implemented subscription: _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented + neighbor: + _process: not_implemented sessions: _process: not_implemented + session: + _process: not_implemented segment-routing: _process: not_implemented aggregate-sid-counters: _process: not_implemented + aggregate-sid-counter: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -578,8 +682,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented sid-counters: _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented te-global-attributes: _process: not_implemented mpls-admin-groups: @@ -594,6 +704,8 @@ network-instances: _process: not_implemented bit-position: _process: not_implemented + state: + _process: not_implemented srlgs: _process: not_implemented srlg: @@ -610,6 +722,8 @@ network-instances: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented static-srlg-members: _process: not_implemented members-list: @@ -622,6 +736,8 @@ network-instances: _process: not_implemented from-address: _process: not_implemented + state: + _process: not_implemented te-lsp-timers: _process: not_implemented config: @@ -632,6 +748,8 @@ network-instances: _process: not_implemented reoptimize-timer: _process: not_implemented + state: + _process: not_implemented te-interface-attributes: _process: not_implemented interface: @@ -662,6 +780,8 @@ network-instances: _process: not_implemented up-thresholds: _process: not_implemented + state: + _process: not_implemented interface-id: _process: not_implemented interface-ref: @@ -672,6 +792,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented policy-forwarding: @@ -696,6 +820,10 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented path-selection-groups: _process: not_implemented path-selection-group: @@ -708,6 +836,8 @@ network-instances: _process: not_implemented group-id: _process: not_implemented + state: + _process: not_implemented policies: _process: not_implemented policy: @@ -736,6 +866,8 @@ network-instances: _process: not_implemented path-selection-group: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented sequence-id: @@ -760,6 +892,8 @@ network-instances: _process: not_implemented source-ip-flow-label: _process: not_implemented + state: + _process: not_implemented l2: _process: not_implemented config: @@ -774,8 +908,12 @@ network-instances: _process: not_implemented source-mac-mask: _process: not_implemented + state: + _process: not_implemented sequence-id: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -786,6 +924,10 @@ network-instances: _process: not_implemented tcp-flags: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented protocols: _process: not_implemented protocol: @@ -812,6 +954,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -826,6 +970,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -844,6 +990,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -858,6 +1008,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -876,6 +1028,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -890,6 +1046,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -904,6 +1062,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -918,6 +1078,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -932,6 +1094,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -946,6 +1110,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -960,6 +1126,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -976,6 +1144,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -990,12 +1162,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented confederation: _process: not_implemented config: @@ -1006,6 +1184,8 @@ network-instances: _process: not_implemented member-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented as: @@ -1020,6 +1200,8 @@ network-instances: _process: not_implemented internal-route-distance: _process: not_implemented + state: + _process: not_implemented dynamic-neighbor-prefixes: _process: not_implemented dynamic-neighbor-prefix: @@ -1032,6 +1214,8 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1044,6 +1228,8 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -1060,6 +1246,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1074,12 +1264,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented neighbor: @@ -1094,6 +1290,8 @@ network-instances: _process: not_implemented send-max: _process: not_implemented + state: + _process: not_implemented afi-safis: _process: not_implemented afi-safi: @@ -1112,6 +1310,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented afi-safi-name: @@ -1124,6 +1324,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -1138,6 +1340,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -1156,6 +1360,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -1170,6 +1378,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -1188,6 +1398,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -1202,6 +1416,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -1216,6 +1432,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -1230,6 +1448,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -1244,6 +1464,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -1258,6 +1480,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -1272,6 +1496,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1284,6 +1512,10 @@ network-instances: _process: not_implemented allow-multiple-as: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented apply-policy: _process: not_implemented config: @@ -1296,6 +1528,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented as-path-options: _process: not_implemented config: @@ -1304,6 +1538,8 @@ network-instances: _process: not_implemented replace-peer-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented auth-password: @@ -1336,12 +1572,16 @@ network-instances: _process: not_implemented multihop-ttl: _process: not_implemented + state: + _process: not_implemented error-handling: _process: not_implemented config: _process: not_implemented treat-as-withdraw: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1354,12 +1594,16 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented logging-options: _process: not_implemented config: _process: not_implemented log-neighbor-state-changes: _process: not_implemented + state: + _process: not_implemented neighbor-address: _process: not_implemented route-reflector: @@ -1370,6 +1614,10 @@ network-instances: _process: not_implemented route-reflector-cluster-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1382,6 +1630,8 @@ network-instances: _process: not_implemented minimum-advertisement-interval: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -1394,6 +1644,8 @@ network-instances: _process: not_implemented tcp-mss: _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1406,6 +1658,10 @@ network-instances: _process: not_implemented allow-multiple-as: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented peer-groups: _process: not_implemented peer-group: @@ -1420,6 +1676,8 @@ network-instances: _process: not_implemented send-max: _process: not_implemented + state: + _process: not_implemented afi-safis: _process: not_implemented afi-safi: @@ -1438,6 +1696,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented afi-safi-name: @@ -1450,6 +1710,8 @@ network-instances: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented ipv4-labeled-unicast: _process: not_implemented prefix-limit: @@ -1464,6 +1726,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv4-unicast: _process: not_implemented config: @@ -1482,6 +1746,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented ipv6-labeled-unicast: _process: not_implemented prefix-limit: @@ -1496,6 +1764,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented ipv6-unicast: _process: not_implemented config: @@ -1514,6 +1784,10 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented l2vpn-evpn: _process: not_implemented prefix-limit: @@ -1528,6 +1802,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l2vpn-vpls: _process: not_implemented prefix-limit: @@ -1542,6 +1818,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-multicast: _process: not_implemented prefix-limit: @@ -1556,6 +1834,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv4-unicast: _process: not_implemented prefix-limit: @@ -1570,6 +1850,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-multicast: _process: not_implemented prefix-limit: @@ -1584,6 +1866,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented l3vpn-ipv6-unicast: _process: not_implemented prefix-limit: @@ -1598,6 +1882,8 @@ network-instances: _process: not_implemented shutdown-threshold-pct: _process: not_implemented + state: + _process: not_implemented route-selection-options: _process: not_implemented config: @@ -1614,6 +1900,10 @@ network-instances: _process: not_implemented ignore-next-hop-igp-metric: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1628,12 +1918,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented apply-policy: _process: not_implemented config: @@ -1646,6 +1942,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented as-path-options: _process: not_implemented config: @@ -1654,6 +1952,8 @@ network-instances: _process: not_implemented replace-peer-as: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented auth-password: @@ -1682,12 +1982,16 @@ network-instances: _process: not_implemented multihop-ttl: _process: not_implemented + state: + _process: not_implemented error-handling: _process: not_implemented config: _process: not_implemented treat-as-withdraw: _process: not_implemented + state: + _process: not_implemented graceful-restart: _process: not_implemented config: @@ -1700,12 +2004,16 @@ network-instances: _process: not_implemented stale-routes-time: _process: not_implemented + state: + _process: not_implemented logging-options: _process: not_implemented config: _process: not_implemented log-neighbor-state-changes: _process: not_implemented + state: + _process: not_implemented peer-group-name: _process: not_implemented route-reflector: @@ -1716,6 +2024,10 @@ network-instances: _process: not_implemented route-reflector-cluster-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1728,6 +2040,8 @@ network-instances: _process: not_implemented minimum-advertisement-interval: _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: @@ -1740,6 +2054,8 @@ network-instances: _process: not_implemented tcp-mss: _process: not_implemented + state: + _process: not_implemented use-multiple-paths: _process: not_implemented config: @@ -1754,12 +2070,18 @@ network-instances: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented ibgp: _process: not_implemented config: _process: not_implemented maximum-paths: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented default-metric: @@ -1800,8 +2122,12 @@ network-instances: _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented authentication-check: @@ -1830,6 +2156,8 @@ network-instances: _process: not_implemented helper-only: _process: not_implemented + state: + _process: not_implemented igp-shortcuts: _process: not_implemented afi: @@ -1842,6 +2170,8 @@ network-instances: _process: not_implemented nh-type: _process: not_implemented + state: + _process: not_implemented inter-level-propagation-policies: _process: not_implemented level1-to-level2: @@ -1852,6 +2182,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented level2-to-level1: _process: not_implemented config: @@ -1860,6 +2192,8 @@ network-instances: _process: not_implemented import-policy: _process: not_implemented + state: + _process: not_implemented lsp-bit: _process: not_implemented attached-bit: @@ -1870,6 +2204,8 @@ network-instances: _process: not_implemented suppress-bit: _process: not_implemented + state: + _process: not_implemented overload-bit: _process: not_implemented config: @@ -1892,6 +2228,10 @@ network-instances: _process: not_implemented reset-trigger: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented igp-ldp-sync: @@ -1902,18 +2242,24 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented nsr: _process: not_implemented config: _process: not_implemented enabled: _process: not_implemented + state: + _process: not_implemented reference-bandwidth: _process: not_implemented config: _process: not_implemented reference-bandwidth: _process: not_implemented + state: + _process: not_implemented segment-routing: _process: not_implemented config: @@ -1924,6 +2270,10 @@ network-instances: _process: not_implemented srlb: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -1942,6 +2292,8 @@ network-instances: _process: not_implemented lsp-second-wait-interval: _process: not_implemented + state: + _process: not_implemented spf: _process: not_implemented config: @@ -1952,12 +2304,18 @@ network-instances: _process: not_implemented spf-second-interval: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented transport: _process: not_implemented config: _process: not_implemented lsp-mtu-size: _process: not_implemented + state: + _process: not_implemented interfaces: _process: not_implemented interface: @@ -1978,6 +2336,8 @@ network-instances: _process: not_implemented safi-name: _process: not_implemented + state: + _process: not_implemented authentication: _process: not_implemented config: @@ -1990,14 +2350,22 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented bfd: _process: not_implemented config: _process: not_implemented bfd-tlv: _process: not_implemented + state: + _process: not_implemented circuit-counters: _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented circuit-type: @@ -2020,10 +2388,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented levels: _process: not_implemented level: _process: not_implemented + adjacencies: + _process: not_implemented afi-safi: _process: not_implemented af: @@ -2062,6 +2434,8 @@ network-instances: _process: not_implemented sid-id: _process: not_implemented + state: + _process: not_implemented prefix-sids: _process: not_implemented prefix-sid: @@ -2076,6 +2450,10 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented enabled: @@ -2098,24 +2476,44 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented level-number: _process: not_implemented packet-counters: _process: not_implemented cnsp: _process: not_implemented + state: + _process: not_implemented esh: _process: not_implemented + state: + _process: not_implemented iih: _process: not_implemented + state: + _process: not_implemented ish: _process: not_implemented + state: + _process: not_implemented lsp: _process: not_implemented + state: + _process: not_implemented psnp: _process: not_implemented + state: + _process: not_implemented unknown: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2124,6 +2522,10 @@ network-instances: _process: not_implemented hello-multiplier: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2132,6 +2534,8 @@ network-instances: _process: not_implemented lsp-pacing-interval: _process: not_implemented + state: + _process: not_implemented levels: _process: not_implemented level: @@ -2152,6 +2556,10 @@ network-instances: _process: not_implemented auth-password: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented config: _process: not_implemented authentication-check: @@ -2164,6 +2572,8 @@ network-instances: _process: not_implemented level-number: _process: not_implemented + link-state-database: + _process: not_implemented route-preference: _process: not_implemented config: @@ -2172,8 +2582,14 @@ network-instances: _process: not_implemented internal-route-preference: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented system-level-counters: _process: not_implemented + state: + _process: not_implemented traffic-engineering: _process: not_implemented config: @@ -2184,6 +2600,8 @@ network-instances: _process: not_implemented ipv6-router-id: _process: not_implemented + state: + _process: not_implemented local-aggregates: _process: not_implemented aggregate: @@ -2198,6 +2616,8 @@ network-instances: _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented name: _process: not_implemented ospfv2: @@ -2244,12 +2664,16 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented lsa-filter: _process: not_implemented config: _process: not_implemented all: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented config: @@ -2264,6 +2688,10 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented neighbors: _process: not_implemented neighbor: @@ -2276,6 +2704,10 @@ network-instances: _process: not_implemented router-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented config: @@ -2286,12 +2718,20 @@ network-instances: _process: not_implemented retransmission-interval: _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented mpls: _process: not_implemented config: _process: not_implemented traffic-engineering-enabled: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented virtual-links: _process: not_implemented virtual-link: @@ -2302,6 +2742,8 @@ network-instances: _process: not_implemented remote-router-id: _process: not_implemented + state: + _process: not_implemented global: _process: not_implemented config: @@ -2324,6 +2766,8 @@ network-instances: _process: not_implemented helper-only: _process: not_implemented + state: + _process: not_implemented inter-area-propagation-policies: _process: not_implemented inter-area-propagation-policy: @@ -2342,6 +2786,8 @@ network-instances: _process: not_implemented src-area: _process: not_implemented + state: + _process: not_implemented mpls: _process: not_implemented config: @@ -2356,6 +2802,12 @@ network-instances: _process: not_implemented post-session-up-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented timers: _process: not_implemented lsa-generation: @@ -2366,6 +2818,8 @@ network-instances: _process: not_implemented maximum-delay: _process: not_implemented + state: + _process: not_implemented max-metric: _process: not_implemented config: @@ -2378,6 +2832,8 @@ network-instances: _process: not_implemented trigger: _process: not_implemented + state: + _process: not_implemented spf: _process: not_implemented config: @@ -2386,6 +2842,10 @@ network-instances: _process: not_implemented maximum-delay: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented static-routes: _process: not_implemented static: @@ -2420,8 +2880,14 @@ network-instances: _process: not_implemented subinterface: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented prefix: _process: not_implemented + state: + _process: not_implemented segment-routing: _process: not_implemented srgbs: @@ -2440,6 +2906,8 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented srlbs: _process: not_implemented srlb: @@ -2456,6 +2924,10 @@ network-instances: _process: not_implemented local-id: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented table-connections: _process: not_implemented table-connection: @@ -2478,6 +2950,8 @@ network-instances: _process: not_implemented src-protocol: _process: not_implemented + state: + _process: not_implemented tables: _process: not_implemented table: @@ -2492,6 +2966,8 @@ network-instances: _process: not_implemented protocol: _process: not_implemented + state: + _process: not_implemented vlans: _process: not_implemented vlan: @@ -2508,5 +2984,9 @@ network-instances: _process: not_implemented members: _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented vlan-id: _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-platform-transceiver/transceiver.yaml b/napalm_yang/mappings/dummy/translators/openconfig-platform-transceiver/transceiver.yaml index 81fba0b2..4be0c01d 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-platform-transceiver/transceiver.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-platform-transceiver/transceiver.yaml @@ -28,3 +28,7 @@ transceiver: _process: not_implemented index: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-platform/components.yaml b/napalm_yang/mappings/dummy/translators/openconfig-platform/components.yaml index c3822090..b4e8a703 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-platform/components.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-platform/components.yaml @@ -24,6 +24,10 @@ components: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented subcomponents: _process: not_implemented subcomponent: @@ -34,3 +38,5 @@ components: _process: not_implemented name: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-vlan/routed-vlan.yaml b/napalm_yang/mappings/dummy/translators/openconfig-vlan/routed-vlan.yaml index e7b63048..43f344bf 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-vlan/routed-vlan.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-vlan/routed-vlan.yaml @@ -8,3 +8,5 @@ routed-vlan: _process: not_implemented vlan: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-vlan/switched-vlan.yaml b/napalm_yang/mappings/dummy/translators/openconfig-vlan/switched-vlan.yaml index 1c013c45..cd9c9fea 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-vlan/switched-vlan.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-vlan/switched-vlan.yaml @@ -14,3 +14,5 @@ switched-vlan: _process: not_implemented trunk-vlans: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlan.yaml index 247d5272..35bdadb3 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlan.yaml @@ -8,3 +8,5 @@ vlan: _process: not_implemented vlan-id: _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlans.yaml b/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlans.yaml index 3c1c417c..8ace3077 100644 --- a/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlans.yaml +++ b/napalm_yang/mappings/dummy/translators/openconfig-vlan/vlans.yaml @@ -18,5 +18,9 @@ vlans: _process: not_implemented members: _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented vlan-id: _process: not_implemented From dbb867e3a8d14211c49afecdf8093c116bac55a0 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 14:24:07 +0200 Subject: [PATCH 040/153] Fixed an issue where recursivity didn't work as expected --- napalm_yang/helpers.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index c5ca4c18..930667f3 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -67,6 +67,17 @@ def read_yang_map(yang_prefix, attribute, profile, parser_path): return yaml.load(f.read()) +def _resolve_rule(rule, **kwargs): + if isinstance(rule, dict): + return {k: _resolve_rule(v, **kwargs) for k, v in rule.items()} + elif isinstance(rule, list): + return [_resolve_rule(e, **kwargs) for e in rule] + elif isinstance(rule, str): + return template(rule, **kwargs) + else: + return rule + + def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, parse_bookmarks=None): if isinstance(rule, list): @@ -85,13 +96,7 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, kwargs["extra_vars"] = extra_vars for k, v in rule.items(): - if isinstance(v, dict): - resolve_rule(v, attribute, keys, extra_vars, translation_model, parse_bookmarks) - elif isinstance(v, list): - for e in k: - resolve_rule(e, attribute, keys, extra_vars, translation_model, parse_bookmarks) - elif isinstance(v, str): - rule[k] = template(v, **kwargs) + rule[k] = _resolve_rule(v, **kwargs) if "when" in rule.keys(): w = rule["when"] From 030441c533725bd23b60432fc9fc98cf40f18fd3 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 14:26:57 +0200 Subject: [PATCH 041/153] The text parser supports creating elements manually --- napalm_yang/parsers/text.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 8be9fdcd..87a8cefe 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -1,5 +1,7 @@ from napalm_yang.parsers.base import BaseParser +import itertools + import re @@ -9,11 +11,16 @@ class TextParser(BaseParser): def _parse_list_block(cls, mapping): block_matches = re.finditer(mapping["regexp"], mapping["from"], re.MULTILINE + re.I) - for match in block_matches: - extra_vars = match.groupdict() - key = extra_vars.pop("key") - block = extra_vars.pop("block") - yield key, block, extra_vars + mandatory_elements = mapping.pop("mandatory", []) + + for match in itertools.chain(block_matches, mandatory_elements): + if isinstance(match, dict): + yield match["key"], match["block"] or "Aasd123asv", match["extra_vars"] + else: + extra_vars = match.groupdict() + key = extra_vars.pop("key") + block = extra_vars.pop("block") + yield key, block, extra_vars @classmethod def _parse_leaf_search(cls, mapping, check_default=True): From 23e2a13afc9406323ffc4b44e75f36bb4e611219 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 17:59:48 +0200 Subject: [PATCH 042/153] TextParser now supports composite_key --- napalm_yang/parsers/text.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 87a8cefe..58f2a3ee 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -17,9 +17,15 @@ def _parse_list_block(cls, mapping): if isinstance(match, dict): yield match["key"], match["block"] or "Aasd123asv", match["extra_vars"] else: + composite_key = mapping.get("composite_key", None) + extra_vars = match.groupdict() - key = extra_vars.pop("key") block = extra_vars.pop("block") + + if composite_key: + key = " ".join([match.group(k) for k in composite_key]) + else: + key = extra_vars.pop("key") yield key, block, extra_vars @classmethod From 1fd833a412e1a19e5e609338c9cadde9c9e11646 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 19:35:53 +0200 Subject: [PATCH 043/153] Now we can also use lists when parsing blocks --- napalm_yang/helpers.py | 3 ++- napalm_yang/parsers/base.py | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 930667f3..40b4f192 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -81,7 +81,8 @@ def _resolve_rule(rule, **kwargs): def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, parse_bookmarks=None): if isinstance(rule, list): - raise Exception("Wrong rule for attr: {}. List can be used only on leafs".format(attribute)) + return [resolve_rule(r, attribute, keys, extra_vars, translation_model, parse_bookmarks) + for r in rule] elif isinstance(rule, str): if rule in ["unnecessary", "not_implemented"]: return {"mode": "skip", "reason": rule} diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 7a8349e5..caa94430 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -8,9 +8,12 @@ def init_config(cls, config): @classmethod def parse_list(cls, mapping): - method_name = "_parse_list_{}".format(mapping["mode"]) - for key, block, extra_vars in getattr(cls, method_name)(mapping): - yield key, block, extra_vars + mapping_rules = mapping if isinstance(mapping, list) else [mapping] + + for m in mapping_rules: + method_name = "_parse_list_{}".format(m["mode"]) + for key, block, extra_vars in getattr(cls, method_name)(m): + yield key, block, extra_vars @classmethod def parse_leaf(cls, mapping): From 1b0e49b230c680fd49eccbb7928a9ba6814a74b1 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 19:36:25 +0200 Subject: [PATCH 044/153] Added forced_keys and duplicates --- napalm_yang/parser.py | 10 +++++++++- napalm_yang/parsers/text.py | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index dd956769..85497be4 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -117,7 +117,15 @@ def _parse_list(self, attribute, model, mapping): for key, block, extra_vars in self.parser.parse_list(mapping_copy["_process"]): logger.debug("Parsing element {}[{}]".format(attribute, key)) - obj = model.add(key) + + try: + obj = model.add(key) + except KeyError as e: + if "is already defined as a list entry" in e.message and \ + extra_vars.get("_allow_duplicates"): + obj = model[key] + else: + raise key_name = "{}_key".format(attribute) self.keys[key_name] = key diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 58f2a3ee..532a6982 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -18,14 +18,20 @@ def _parse_list_block(cls, mapping): yield match["key"], match["block"] or "Aasd123asv", match["extra_vars"] else: composite_key = mapping.get("composite_key", None) + forced_key = mapping.get("key", None) extra_vars = match.groupdict() block = extra_vars.pop("block") if composite_key: key = " ".join([match.group(k) for k in composite_key]) + elif forced_key: + key = forced_key else: key = extra_vars.pop("key") + + extra_vars["_allow_duplicates"] = mapping.get("duplicates", False) + yield key, block, extra_vars @classmethod From b4d5018e501413495b2b842c2bb785699d18279f Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 29 Apr 2017 20:32:54 +0200 Subject: [PATCH 045/153] Added a way to include yaml files within yaml files --- napalm_yang/helpers.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 40b4f192..2be13d16 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -15,6 +15,17 @@ logger = logging.getLogger("napalm-yang") +def yaml_include(loader, node): + # Get the path out of the yaml file + file_name = os.path.join(os.path.dirname(loader.name), node.value) + + with file(file_name) as inputfile: + return yaml.load(inputfile) + + +yaml.add_constructor("!include", yaml_include) + + def get_parser(parser): parsers = { "TextParser": TextParser, @@ -64,7 +75,7 @@ def read_yang_map(yang_prefix, attribute, profile, parser_path): return with open(filepath, "r") as f: - return yaml.load(f.read()) + return yaml.load(f) def _resolve_rule(rule, **kwargs): From 841c9a2d19e6fd7a1b1c4252bb5fb37bd2cc5944 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 30 Apr 2017 15:15:21 +0200 Subject: [PATCH 046/153] Added gate processor for all parsers --- napalm_yang/parser.py | 10 ++++++++++ napalm_yang/parsers/base.py | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index 85497be4..cc038da9 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -85,6 +85,16 @@ def _parse(self, attribute, model, mapping): def _parse_container(self, attribute, model, mapping): mapping["_process"] = helpers.resolve_rule(mapping["_process"], attribute, self.keys, self.extra_vars, None, self.bookmarks) + if model._yang_type is not None: + # None means it's an element of a list + block, extra_vars = self.parser.parse_container(mapping["_process"]) + + if block is None: + return + elif block != "" or extra_vars: + self.bookmarks[attribute] = block + self.extra_vars[attribute] = extra_vars + for k, v in model: logger.debug("Parsing attribute: {}".format(v._yang_path())) if self.is_config and (not v._is_config or k == "state"): diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index caa94430..d6c2050a 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -20,10 +20,19 @@ def parse_leaf(cls, mapping): method_name = "_parse_leaf_{}".format(mapping["mode"]) return getattr(cls, method_name)(mapping) + @classmethod + def parse_container(cls, mapping): + method_name = "_parse_container_{}".format(mapping["mode"]) + return getattr(cls, method_name)(mapping) + @classmethod def _parse_leaf_skip(cls, mapping): return + @classmethod + def _parse_container_skip(cls, mapping): + return "", {} + @classmethod def _parse_list_skip(cls, mapping): return {} @@ -32,6 +41,11 @@ def _parse_list_skip(cls, mapping): def _parse_leaf_value(cls, mapping): return mapping["value"] + @classmethod + def _parse_container_gate(cls, mapping): + """This basically stops parsing the tree by returning None""" + return None, {} + """ @classmethod def _parse_leaf_key(cls, mapping, texts, keys, extra_vars): From 93ff140d7e7389cfae917f2ecbb46632d49e58ae Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 30 Apr 2017 15:23:57 +0200 Subject: [PATCH 047/153] not_implemented containers now stop the execution of the tree underneath --- napalm_yang/helpers.py | 4 +++- napalm_yang/parsers/base.py | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 2be13d16..beaa75d5 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -95,8 +95,10 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, return [resolve_rule(r, attribute, keys, extra_vars, translation_model, parse_bookmarks) for r in rule] elif isinstance(rule, str): - if rule in ["unnecessary", "not_implemented"]: + if rule in ["unnecessary"]: return {"mode": "skip", "reason": rule} + elif rule in ["not_implemented"]: + return {"mode": "gate", "reason": rule} else: raise Exception("Not sure what to do with rule {} on attribute {}".format(rule, attribute)) diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index d6c2050a..bb524e34 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -29,6 +29,8 @@ def parse_container(cls, mapping): def _parse_leaf_skip(cls, mapping): return + _parse_leaf_gate = _parse_leaf_skip + @classmethod def _parse_container_skip(cls, mapping): return "", {} @@ -37,6 +39,8 @@ def _parse_container_skip(cls, mapping): def _parse_list_skip(cls, mapping): return {} + _parse_list_gate = _parse_list_skip + @classmethod def _parse_leaf_value(cls, mapping): return mapping["value"] From 2fb600635ac234db018f3366b58ab926b4696e9c Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 30 Apr 2017 17:54:07 +0200 Subject: [PATCH 048/153] Ignore profiling --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index fa7e34ca..c2058ce3 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,5 @@ test/unit/test_devices.py tags report.json + +prof/ From e5a2815f735d0ba6220ae021093c0cb1617f96bd Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 30 Apr 2017 17:54:38 +0200 Subject: [PATCH 049/153] Adding parser rules for EOS/network-instances/bgp/static --- .../includes/afts.yaml | 54 + .../includes/bgp.yaml | 1179 +++++++++++ .../includes/isis.yaml | 508 +++++ .../includes/mpls.yaml | 584 ++++++ .../includes/ospfv2.yaml | 224 +++ .../includes/static_routes.yaml | 64 + .../network-instances.yaml | 471 +++++ .../default/config.txt | 1746 +++++++++++++++++ .../default/expected.json | 1 + test/integration/test_profiles.py | 7 +- 10 files changed, 4835 insertions(+), 3 deletions(-) create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/afts.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/isis.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/mpls.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml create mode 100755 test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/afts.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/afts.yaml new file mode 100644 index 00000000..bd462863 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/afts.yaml @@ -0,0 +1,54 @@ +_process: not_implemented +aft: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + match: + _process: not_implemented + interface-ref: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + next-hops: + _process: not_implemented + next-hop: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml new file mode 100644 index 00000000..b825caad --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -0,0 +1,1179 @@ +--- +_process: + mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" +global: + _process: unnecessary + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + confederation: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + member-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + as: + _process: + mode: search + regexp: "local-as (?P.*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + default: "{{ extra_vars.process_id|default(1) }}" + router-id: + _process: + mode: search + regexp: "router-id (?P.*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + default-route-distance: + _process: not_implemented + config: + _process: not_implemented + external-route-distance: + _process: not_implemented + internal-route-distance: + _process: not_implemented + state: + _process: not_implemented + dynamic-neighbor-prefixes: + _process: not_implemented + dynamic-neighbor-prefix: + _process: not_implemented + config: + _process: not_implemented + peer-group: + _process: not_implemented + prefix: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +neighbors: + _process: unnecessary + neighbor: + _process: + mode: block + regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + duplicates: true + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + auth-password: + _process: not_implemented + description: + _process: + mode: search + regexp: "neighbor {{ neighbor_key }} description (?P.*)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + enabled: + _process: + mode: is_absent + regexp: "neighbor {{ neighbor_key }} (?Pshutdown)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + local-as: + _process: + mode: search + regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + neighbor-address: + _process: + mode: value + value: "{{ neighbor_key }}" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + peer-as: + _process: + mode: search + regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" + peer-group: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + neighbor-address: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +peer-groups: + _process: not_implemented + peer-group: + _process: not_implemented + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + description: + _process: not_implemented + local-as: + _process: not_implemented + peer-as: + _process: not_implemented + peer-group-name: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + peer-group-name: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/isis.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/isis.yaml new file mode 100644 index 00000000..463623fd --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/isis.yaml @@ -0,0 +1,508 @@ +--- +_process: not_implemented +global: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + multi-topology: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + fast-flooding: + _process: not_implemented + iid-tlv: + _process: not_implemented + instance: + _process: not_implemented + level-capability: + _process: not_implemented + max-ecmp-paths: + _process: not_implemented + maximum-area-addresses: + _process: not_implemented + net: + _process: not_implemented + poi-tlv: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + afi: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + nh-type: + _process: not_implemented + state: + _process: not_implemented + inter-level-propagation-policies: + _process: not_implemented + level1-to-level2: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + level2-to-level1: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + lsp-bit: + _process: not_implemented + attached-bit: + _process: not_implemented + config: + _process: not_implemented + ignore-bit: + _process: not_implemented + suppress-bit: + _process: not_implemented + state: + _process: not_implemented + overload-bit: + _process: not_implemented + config: + _process: not_implemented + advertise-high-metric: + _process: not_implemented + set-bit: + _process: not_implemented + set-bit-on-boot: + _process: not_implemented + reset-triggers: + _process: not_implemented + reset-trigger: + _process: not_implemented + config: + _process: not_implemented + delay: + _process: not_implemented + reset-trigger: + _process: not_implemented + reset-trigger: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + nsr: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + config: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + state: + _process: not_implemented + segment-routing: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + srgb: + _process: not_implemented + srlb: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + lsp-lifetime-interval: + _process: not_implemented + lsp-refresh-interval: + _process: not_implemented + lsp-generation: + _process: not_implemented + config: + _process: not_implemented + lsp-first-wait-interval: + _process: not_implemented + lsp-max-wait-interval: + _process: not_implemented + lsp-second-wait-interval: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + spf-first-interval: + _process: not_implemented + spf-hold-interval: + _process: not_implemented + spf-second-interval: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + lsp-mtu-size: + _process: not_implemented + state: + _process: not_implemented +interfaces: + _process: not_implemented + interface: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + bfd: + _process: not_implemented + config: + _process: not_implemented + bfd-tlv: + _process: not_implemented + state: + _process: not_implemented + circuit-counters: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + circuit-type: + _process: not_implemented + enabled: + _process: not_implemented + hello-padding: + _process: not_implemented + interface-id: + _process: not_implemented + passive: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + levels: + _process: not_implemented + level: + _process: not_implemented + adjacencies: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + segment-routing: + _process: not_implemented + adjacency-sids: + _process: not_implemented + adjacency-sid: + _process: not_implemented + config: + _process: not_implemented + group: + _process: not_implemented + neighbor: + _process: not_implemented + protection-eligible: + _process: not_implemented + sid-id: + _process: not_implemented + neighbor: + _process: not_implemented + sid-id: + _process: not_implemented + state: + _process: not_implemented + prefix-sids: + _process: not_implemented + prefix-sid: + _process: not_implemented + config: + _process: not_implemented + label-options: + _process: not_implemented + prefix: + _process: not_implemented + sid-id: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + hello-authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + level-number: + _process: not_implemented + packet-counters: + _process: not_implemented + cnsp: + _process: not_implemented + state: + _process: not_implemented + esh: + _process: not_implemented + state: + _process: not_implemented + iih: + _process: not_implemented + state: + _process: not_implemented + ish: + _process: not_implemented + state: + _process: not_implemented + lsp: + _process: not_implemented + state: + _process: not_implemented + psnp: + _process: not_implemented + state: + _process: not_implemented + unknown: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + hello-multiplier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + csnp-interval: + _process: not_implemented + lsp-pacing-interval: + _process: not_implemented + state: + _process: not_implemented +levels: + _process: not_implemented + level: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + csnp-authentication: + _process: not_implemented + lsp-authentication: + _process: not_implemented + psnp-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + metric-style: + _process: not_implemented + level-number: + _process: not_implemented + link-state-database: + _process: not_implemented + route-preference: + _process: not_implemented + config: + _process: not_implemented + external-route-preference: + _process: not_implemented + internal-route-preference: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + system-level-counters: + _process: not_implemented + state: + _process: not_implemented + traffic-engineering: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ipv4-router-id: + _process: not_implemented + ipv6-router-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/mpls.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/mpls.yaml new file mode 100644 index 00000000..ba853c58 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/mpls.yaml @@ -0,0 +1,584 @@ +--- +_process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + null-label: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + mpls-enabled: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + reserved-label-blocks: + _process: not_implemented + reserved-label-block: + _process: not_implemented + config: + _process: not_implemented + local-id: + _process: not_implemented + lower-bound: + _process: not_implemented + upper-bound: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +lsps: + _process: not_implemented + constrained-path: + _process: not_implemented + named-explicit-paths: + _process: not_implemented + named-explicit-path: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + sid-protection-required: + _process: not_implemented + sid-selection-mode: + _process: not_implemented + explicit-route-objects: + _process: not_implemented + explicit-route-object: + _process: not_implemented + config: + _process: not_implemented + address: + _process: not_implemented + hop-type: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + tunnels: + _process: not_implemented + tunnel: + _process: not_implemented + bandwidth: + _process: not_implemented + auto-bandwidth: + _process: not_implemented + config: + _process: not_implemented + adjust-interval: + _process: not_implemented + adjust-threshold: + _process: not_implemented + enabled: + _process: not_implemented + max-bw: + _process: not_implemented + min-bw: + _process: not_implemented + overflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + overflow-threshold: + _process: not_implemented + trigger-event-count: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + underflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + trigger-event-count: + _process: not_implemented + underflow-threshold: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + set-bandwidth: + _process: not_implemented + specification-type: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + admin-status: + _process: not_implemented + description: + _process: not_implemented + hold-priority: + _process: not_implemented + metric: + _process: not_implemented + metric-type: + _process: not_implemented + name: + _process: not_implemented + preference: + _process: not_implemented + protection-style-requested: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + shortcut-eligible: + _process: not_implemented + signaling-protocol: + _process: not_implemented + soft-preemption: + _process: not_implemented + source: + _process: not_implemented + type: + _process: not_implemented + name: + _process: not_implemented + p2p-tunnel-attributes: + _process: not_implemented + config: + _process: not_implemented + destination: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + candidate-secondary-paths: + _process: not_implemented + candidate-secondary-path: + _process: not_implemented + config: + _process: not_implemented + priority: + _process: not_implemented + secondary-path: + _process: not_implemented + secondary-path: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + p2p-secondary-paths: + _process: not_implemented + p2p-secondary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + static-lsps: + _process: not_implemented + static-lsp: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + egress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + ingress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + transit: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + unconstrained-path: + _process: not_implemented + path-setup-protocol: + _process: not_implemented +signaling-protocols: + _process: not_implemented + rsvp-te: + _process: not_implemented + global: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + recovery-time: + _process: not_implemented + restart-time: + _process: not_implemented + state: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + soft-preemption: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + soft-preemption-timeout: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + authentication-key: + _process: not_implemented + enable: + _process: not_implemented + state: + _process: not_implemented + bandwidth-reservations: + _process: not_implemented + bandwidth-reservation: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + protection: + _process: not_implemented + config: + _process: not_implemented + bypass-optimize-interval: + _process: not_implemented + link-protection-style-requested: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + subscription: + _process: not_implemented + config: + _process: not_implemented + subscription: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + sessions: + _process: not_implemented + session: + _process: not_implemented + segment-routing: + _process: not_implemented + aggregate-sid-counters: + _process: not_implemented + aggregate-sid-counter: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + sid-counters: + _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented +te-global-attributes: + _process: not_implemented + mpls-admin-groups: + _process: not_implemented + admin-group: + _process: not_implemented + admin-group-name: + _process: not_implemented + config: + _process: not_implemented + admin-group-name: + _process: not_implemented + bit-position: + _process: not_implemented + state: + _process: not_implemented + srlgs: + _process: not_implemented + srlg: + _process: not_implemented + config: + _process: not_implemented + cost: + _process: not_implemented + flooding-type: + _process: not_implemented + name: + _process: not_implemented + value: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + static-srlg-members: + _process: not_implemented + members-list: + _process: not_implemented + config: + _process: not_implemented + from-address: + _process: not_implemented + to-address: + _process: not_implemented + from-address: + _process: not_implemented + state: + _process: not_implemented + te-lsp-timers: + _process: not_implemented + config: + _process: not_implemented + cleanup-delay: + _process: not_implemented + install-delay: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + state: + _process: not_implemented +te-interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + admin-group: + _process: not_implemented + interface-id: + _process: not_implemented + srlg-membership: + _process: not_implemented + te-metric: + _process: not_implemented + igp-flooding-bandwidth: + _process: not_implemented + config: + _process: not_implemented + delta-percentage: + _process: not_implemented + down-thresholds: + _process: not_implemented + threshold-specification: + _process: not_implemented + threshold-type: + _process: not_implemented + up-down-thresholds: + _process: not_implemented + up-thresholds: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml new file mode 100644 index 00000000..adf0afef --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml @@ -0,0 +1,224 @@ +--- +_process: not_implemented +areas: + _process: not_implemented + area: + _process: not_implemented + config: + _process: not_implemented + identifier: + _process: not_implemented + identifier: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + authentication-type: + _process: not_implemented + hide-network: + _process: not_implemented + id: + _process: not_implemented + metric: + _process: not_implemented + multi-area-adjacency-primary: + _process: not_implemented + network-type: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + lsa-filter: + _process: not_implemented + config: + _process: not_implemented + all: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-metric: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + config: + _process: not_implemented + metric: + _process: not_implemented + router-id: + _process: not_implemented + router-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + dead-interval: + _process: not_implemented + hello-interval: + _process: not_implemented + retransmission-interval: + _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-enabled: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + virtual-links: + _process: not_implemented + virtual-link: + _process: not_implemented + config: + _process: not_implemented + remote-router-id: + _process: not_implemented + remote-router-id: + _process: not_implemented + state: + _process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + hide-transit-only-networks: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + log-adjacency-changes: + _process: not_implemented + router-id: + _process: not_implemented + summary-route-cost-mode: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + inter-area-propagation-policies: + _process: not_implemented + inter-area-propagation-policy: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-area: + _process: not_implemented + import-policy: + _process: not_implemented + src-area: + _process: not_implemented + dst-area: + _process: not_implemented + src-area: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-extensions: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + lsa-generation: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented + max-metric: + _process: not_implemented + config: + _process: not_implemented + include: + _process: not_implemented + set: + _process: not_implemented + timeout: + _process: not_implemented + trigger: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml new file mode 100644 index 00000000..8aeef966 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -0,0 +1,64 @@ +--- +_process: + mode: gate + when: "{{ protocol_key != 'static static' }}" +static: + _process: + - mode: block + regexp: "(?Pip route (?P\\d+.*\\/\\d+).*)" + from: "{{ bookmarks['network-instances'][0] }}" + when: "{{ network_instance_key == 'global' }}" + duplicates: true + - mode: block + regexp: "(?Pip route vrf {{ network_instance_key }} (?P\\d+.*\\/\\d+).*)" + from: "{{ bookmarks['network-instances'][0] }}" + when: "{{ network_instance_key != 'global' }}" + duplicates: true + config: + _process: not_implemented + prefix: + _process: + mode: value + value: "{{ static_key }}" + set-tag: + _process: not_implemented + next-hops: + _process: unnecessary + next-hop: + _process: + - mode: block + regexp: "(?Pip route (vrf {{ network_instance_key }} )*{{ static_key }} (?P\\d+.\\d+.\\d+.\\d+) (?P\\d+) tag (?P\\d+))" + from: "{{ bookmarks['static'][static_key] }}" + config: + _process: unnecessary + index: + _process: not_implemented + metric: + _process: + mode: value + value: "{{ extra_vars.metric }}" + next-hop: + _process: + mode: value + value: "{{ next_hop_key }}" + recurse: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml new file mode 100644 index 00000000..088b11d4 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -0,0 +1,471 @@ +--- +metadata: + processor: TextParser + execute: + - method: cli + args: + commands: ["show running-config all"] + +network-instances: + _process: unnecessary + network-instance: + _process: + mode: block + regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + mandatory: + - key: "global" + block: "" + extra_vars: {} + afts: !include includes/afts.yaml + config: + _process: unnecessary + description: + _process: + mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.parent }}" + enabled: + _process: + mode: value + value: true + enabled-address-families: + _process: not_implemented + mtu: + _process: not_implemented + name: + _process: unnecessary + route-distinguisher: + _process: + mode: search + regexp: "rd (?P.*)" + from: "{{ bookmarks.parent }}" + router-id: + _process: not_implemented + type: + _process: + mode: value + value: L3VRF + connection-points: + _process: not_implemented + connection-point: + _process: not_implemented + config: + _process: not_implemented + connection-point-id: + _process: not_implemented + connection-point-id: + _process: not_implemented + endpoints: + _process: not_implemented + endpoint: + _process: not_implemented + config: + _process: not_implemented + endpoint-id: + _process: not_implemented + precedence: + _process: not_implemented + type: + _process: not_implemented + endpoint-id: + _process: not_implemented + local: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + remote: + _process: not_implemented + config: + _process: not_implemented + remote-system: + _process: not_implemented + virtual-circuit-identifier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + encapsulation: + _process: not_implemented + config: + _process: not_implemented + control-word: + _process: not_implemented + encapsulation-type: + _process: not_implemented + label-allocation-mode: + _process: not_implemented + state: + _process: not_implemented + fdb: + _process: not_implemented + config: + _process: not_implemented + mac-aging-time: + _process: not_implemented + mac-learning: + _process: not_implemented + maximum-entries: + _process: not_implemented + mac-table: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + mac-address: + _process: not_implemented + vlan: + _process: not_implemented + interface: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + mac-address: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + inter-instance-policies: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + interfaces: + _process: unnecessary + interface: + _process: not_implemented + config: + _process: not_implemented + associated-address-families: + _process: not_implemented + id: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + id: + _process: not_implemented + state: + _process: not_implemented + mpls: !include includes/mpls.yaml + name: + _process: not_implemented + policy-forwarding: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + apply-forwarding-policy: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + path-selection-groups: + _process: not_implemented + path-selection-group: + _process: not_implemented + config: + _process: not_implemented + group-id: + _process: not_implemented + mpls-lsp: + _process: not_implemented + group-id: + _process: not_implemented + state: + _process: not_implemented + policies: + _process: not_implemented + policy: + _process: not_implemented + config: + _process: not_implemented + policy-id: + _process: not_implemented + policy-id: + _process: not_implemented + rules: + _process: not_implemented + rule: + _process: not_implemented + action: + _process: not_implemented + config: + _process: not_implemented + decapsulate-gre: + _process: not_implemented + discard: + _process: not_implemented + network-instance: + _process: not_implemented + next-hop: + _process: not_implemented + path-selection-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + sequence-id: + _process: not_implemented + ip: + _process: not_implemented + config: + _process: not_implemented + destination-ip-address: + _process: not_implemented + destination-ip-flow-label: + _process: not_implemented + dscp: + _process: not_implemented + hop-limit: + _process: not_implemented + ip-version: + _process: not_implemented + protocol: + _process: not_implemented + source-ip-address: + _process: not_implemented + source-ip-flow-label: + _process: not_implemented + state: + _process: not_implemented + l2: + _process: not_implemented + config: + _process: not_implemented + destination-mac: + _process: not_implemented + destination-mac-mask: + _process: not_implemented + ethertype: + _process: not_implemented + source-mac: + _process: not_implemented + source-mac-mask: + _process: not_implemented + state: + _process: not_implemented + sequence-id: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + destination-port: + _process: not_implemented + source-port: + _process: not_implemented + tcp-flags: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + protocols: + _process: unnecessary + protocol: + _process: + - mode: block + regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" + from: "{{ bookmarks['network-instances'][0] }}" + composite_key: [protocol_name, protocol_name] + when: "{{ network_instance_key == 'global' }}" + - mode: block + regexp: "router (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?^ (?Pvrf {{ network_instance_key }}\n(?:.|\n)*?)^(!| vrf.*)$" + from: "{{ bookmarks['network-instances'][0] }}" + composite_key: [protocol_name, protocol_name] + when: "{{ network_instance_key != 'global' }}" + - mode: block + regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + key: "static static" + bgp: !include includes/bgp.yaml + config: + _process: not_implemented + default-metric: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + name: + _process: not_implemented + identifier: + _process: unnecessary + isis: !include includes/isis.yaml + local-aggregates: + _process: not_implemented + aggregate: + _process: not_implemented + config: + _process: not_implemented + discard: + _process: not_implemented + prefix: + _process: not_implemented + set-tag: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + name: + _process: unnecessary + ospfv2: !include includes/ospfv2.yaml + state: + _process: not_implemented + static-routes: !include includes/static_routes.yaml + segment-routing: + _process: not_implemented + srgbs: + _process: not_implemented + srgb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefixes: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-blocks: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + srlbs: + _process: not_implemented + srlb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefix: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-block: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + table-connections: + _process: not_implemented + table-connection: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-protocol: + _process: not_implemented + import-policy: + _process: not_implemented + src-protocol: + _process: not_implemented + dst-protocol: + _process: not_implemented + src-protocol: + _process: not_implemented + state: + _process: not_implemented + tables: + _process: not_implemented + table: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + protocol: + _process: not_implemented + protocol: + _process: not_implemented + state: + _process: not_implemented + vlans: + _process: not_implemented + vlan: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + status: + _process: not_implemented + tpid: + _process: not_implemented + vlan-id: + _process: not_implemented + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt new file mode 100755 index 00000000..52cc0e1e --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt @@ -0,0 +1,1746 @@ +! Command: show running-config all +! device: localhost (vEOS, EOS-4.15.2.1F) +! +! boot system flash:/vEOS-lab.swi +! +hardware access-list ipv6 implicit-permit icmpv6 all +! +no deep-inspection payload l2 skip +no deep-inspection payload l4 skip +! +agent fatal-error action reload +! +bfd slow-timer 2000 +bfd interval 300 min_rx 300 multiplier 3 default +! +prompt %H%R%v%P +no service configuration session max completed +no service configuration session max pending +! +schedule config max-concurrent-jobs 1 +schedule tech-support interval 60 max-log-files 100 command show tech-support +! +no logging event storm-control discards global +no logging event storm-control discards interval +! +cvx + shutdown + port 9979 + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 + service hsc + vtep flood list type any + service openstack + shutdown + grace-period 60 + name-resolution interval 21600 + service vxlan + shutdown + vtep mac-learning control-plane + resync-period 300 +! +no dcbx application +! +no ip dhcp relay information option +no ip dhcp relay always-on +no ip dhcp smart-relay global +! +no ip dhcp snooping +no ip dhcp snooping information option +ip dhcp snooping information option circuit-id type 0 format %p:%v +! +default switch forwarding-mode +! +vlan internal allocation policy ascending +! +email + no from-user + no server + no auth username + no auth password + no tls +! +errdisable detect cause arp-inspection +errdisable detect cause link-flap +no errdisable recovery cause arp-inspection +no errdisable recovery cause bpduguard +no errdisable recovery cause hitless-reload-down +no errdisable recovery cause link-flap +no errdisable recovery cause loopprotectguard +no errdisable recovery cause no-internal-vlan +no errdisable recovery cause portchannelguard +no errdisable recovery cause portsec +no errdisable recovery cause tapagg +no errdisable recovery cause uplink-failure-detection +no errdisable recovery cause xcvr-unsupported +errdisable recovery interval 300 +! +event-handler dhclient + trigger on-boot + action bash sudo /mnt/flash/initialize_ma1.sh + delay 20 + no asynchronous + timeout 10 +! +ip igmp snooping +no ip igmp snooping report-flooding +ip igmp snooping robustness-variable 2 +no ip igmp snooping restart query-interval +ip igmp snooping immediate-leave +default ip igmp snooping vlan 1 +default ip igmp snooping vlan 1 querier +no ip igmp snooping vlan 1 querier address +no ip igmp snooping vlan 1 querier query-interval +no ip igmp snooping vlan 1 querier max-response-time +no ip igmp snooping vlan 1 querier last-member-query-interval +no ip igmp snooping vlan 1 querier last-member-query-count +no ip igmp snooping vlan 1 querier startup-query-interval +no ip igmp snooping vlan 1 querier startup-query-count +no ip igmp snooping vlan 1 querier version +no ip igmp snooping vlan 1 max-groups +default ip igmp snooping vlan 1 immediate-leave +no ip igmp snooping querier +no ip igmp snooping querier address +ip igmp snooping querier query-interval 125 +ip igmp snooping querier max-response-time 10 +ip igmp snooping querier last-member-query-interval 1 +no ip igmp snooping querier last-member-query-count +no ip igmp snooping querier startup-query-interval +no ip igmp snooping querier startup-query-count +no ip igmp snooping querier version +! +default logging event congestion-drops +! +no service interface inactive expose +! +no service interface unconnected expose +! +default load-interval default +! +transceiver qsfp default-mode 4x10G +! +ip pim log-neighbor-changes +no ip pim bfd +no ip pim ssm range +ip pim sparse-mode sg-expiry-timer 210 +ip pim spt-threshold 0 +! +ip msdp timer 30 +! +no ip pim rp-candidate +no ip pim bsr-holdtime +no ip pim bsr-sztimeout +no ip pim bsr-candidate +no ip pim bsr rp-candidate advertisement-filter +! +no ip pim register-source +! +lacp system-priority 32768 +! +no queue-monitor length +no queue-monitor length notifying +! +queue-monitor length global-buffer thresholds 512 256 +no queue-monitor length mirror +! +queue-monitor length global-buffer +! +errdisable flap-setting cause link-flap max-flaps 5 time 10 +! +lldp timer 30 +lldp holdtime 120 +lldp reinit 2 +lldp tlv-select link-aggregation +lldp tlv-select management-address +lldp tlv-select max-frame-size +lldp tlv-select port-description +lldp tlv-select port-vlan +lldp tlv-select system-capabilities +lldp tlv-select system-description +lldp tlv-select system-name +lldp run +no lldp management-address +! +logging on +logging buffered 32 debugging +logging trap informational +logging console errors +no logging synchronous +logging format timestamp traditional +no logging format hostname fqdn +logging facility local4 +no logging source-interface +! +logging level AAA debugging +logging level ACCOUNTING debugging +logging level ACL debugging +logging level AGENT debugging +logging level ALE debugging +logging level ARP debugging +logging level BFD debugging +logging level BGP debugging +logging level CAPACITY debugging +logging level CAPI debugging +logging level CLEAR debugging +logging level DATAPLANE debugging +logging level DOT1X debugging +logging level ENVMON debugging +logging level ETH debugging +logging level EVENTMON debugging +logging level EXTENSION debugging +logging level FHRP debugging +logging level FLOW debugging +logging level FORWARDING debugging +logging level FRU debugging +logging level FWK debugging +logging level GMP debugging +logging level HARDWARE debugging +logging level IGMP debugging +logging level IGMPSNOOPING debugging +logging level INTF debugging +logging level IP6ROUTING debugging +logging level IRA debugging +logging level ISIS debugging +logging level KERNELFIB debugging +logging level LACP debugging +logging level LAG debugging +logging level LAUNCHER debugging +logging level LINEPROTO debugging +logging level LLDP debugging +logging level LOGMGR debugging +logging level LOOPBACK debugging +logging level LOOPPROTECT debugging +logging level MAPREDUCEMONITOR debugging +logging level MDIO debugging +logging level MIRRORING debugging +logging level MLAG debugging +logging level MMODE debugging +logging level MROUTE debugging +logging level MRP debugging +logging level MSDP debugging +logging level MSRP debugging +logging level MVRP debugging +logging level NAT debugging +logging level OPENFLOW debugging +logging level OSPF debugging +logging level OSPF3 debugging +logging level PFC debugging +logging level PIM debugging +logging level PIMBSR debugging +logging level PORTSECURITY debugging +logging level PTP debugging +logging level PWRMGMT debugging +logging level QOS debugging +logging level QUEUEMONITOR debugging +logging level REACHABILITYMONITOR debugging +logging level REDUNDANCY debugging +logging level RIB debugging +logging level ROUTING debugging +logging level SECURITY debugging +logging level SERVERMONITOR debugging +logging level SPANTREE debugging +logging level STAGEMGR debugging +logging level SYS debugging +logging level SYSDB debugging +logging level TAPAGG debugging +logging level TCP debugging +logging level TRANSCEIVER debugging +logging level TUNNEL debugging +logging level VM debugging +logging level VMTRACERSESS debugging +logging level VMWAREVI debugging +logging level VMWAREVS debugging +logging level VRF debugging +logging level VRRP debugging +logging level VXLAN debugging +logging level XMPP debugging +logging level ZTP debugging +! +logging event link-status global +! +no ip virtual-router mac-address mlag-peer +! +no msrp streams load-file +! +no hostname +no ip domain lookup source-interface +no ip name-server +no ip domain-name +no ip host +no ipv6 host +! +no ntp trusted-key +no ntp authenticate +no ntp serve all +! +power poll-interval 5 +! +no radius-server key +radius-server timeout 5 +radius-server retransmit 3 +no radius-server deadtime +no radius-server attribute 32 include-in-access-req format +! +router msdp + vrf devel + ip msdp timer 30 + ! + vrf prod + ip msdp timer 30 +! +sflow sample 1048576 +sflow polling-interval 2 +no sflow source +no sflow source-interface +sflow sample output interface +sflow extension switch +sflow extension router +no sflow sample rewrite dscp +no sflow run +! +no sflow extension bgp +! +no snmp-server engineID local +no snmp-server chassis-id +no snmp-server contact +no snmp-server location +no snmp-server source-interface +default snmp-server enable traps +default snmp-server enable traps bgp +default snmp-server enable traps bgp arista-backward-transition +default snmp-server enable traps bgp arista-established +default snmp-server enable traps bgp backward-transition +default snmp-server enable traps bgp established +default snmp-server enable traps entity +default snmp-server enable traps entity arista-ent-sensor-alarm +default snmp-server enable traps entity ent-config-change +default snmp-server enable traps entity ent-state-oper-disabled +default snmp-server enable traps entity ent-state-oper-enabled +default snmp-server enable traps lldp +default snmp-server enable traps lldp rem-tables-change +default snmp-server enable traps msdp +default snmp-server enable traps msdp backward-transition +default snmp-server enable traps msdp established +default snmp-server enable traps ospf +default snmp-server enable traps ospf if-auth-failure +default snmp-server enable traps ospf if-config-error +default snmp-server enable traps ospf if-state-change +default snmp-server enable traps ospf nbr-state-change +default snmp-server enable traps pim +default snmp-server enable traps pim neighbor-loss +default snmp-server enable traps snmp +default snmp-server enable traps snmp authentication +default snmp-server enable traps snmp link-down +default snmp-server enable traps snmp link-up +default snmp-server enable traps snmpConfigManEvent +default snmp-server enable traps snmpConfigManEvent arista-config-man-event +default snmp-server enable traps switchover +default snmp-server enable traps switchover arista-redundancy-switch-over-notif +default snmp-server enable traps test +default snmp-server enable traps test arista-test-notification +default snmp-server enable traps vrrp +default snmp-server enable traps vrrp trap-new-master +snmp-server vrf default +! +spanning-tree mode mstp +spanning-tree hello-time 2000 +spanning-tree max-age 20 +spanning-tree forward-time 15 +spanning-tree transmit hold-count 6 +spanning-tree max-hops 20 +no spanning-tree mst pvst border +no spanning-tree portfast bpduguard default +no spanning-tree portfast bpdufilter default +spanning-tree bridge assurance +no spanning-tree loopguard default +no spanning-tree portchannel guard misconfig +spanning-tree bpduguard rate-limit default +logging event spanning-tree global +spanning-tree mst 0 priority 32768 +! +spanning-tree mst configuration + no name + revision 0 +! +no service sequence-numbers +no service running-config timestamp +! +no tacacs-server key +tacacs-server timeout 5 +! +aaa authentication login default local +no aaa authentication login console +aaa authentication enable default local +no aaa authentication policy on-success log +no aaa authentication policy on-failure log +no aaa authorization console +aaa authorization exec default local +no aaa authorization commands all default +aaa authorization config-commands +no aaa accounting exec console +no aaa accounting commands all console +no aaa accounting exec default +no aaa accounting system default +no aaa accounting dot1x default +no aaa accounting commands all default +! +no enable secret +aaa root secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP. +no aaa authentication policy local allow-nopassword-remote-login +no aaa authorization policy local default-role +! +username admin privilege 15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1 +username vagrant privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0 +! +role network-admin + 10 permit command .* +! +role network-operator + 10 deny mode exec command configure|bash|python-shell|\| + 20 permit mode exec command .* +! +tap aggregation + no mode + no service-policy type tapagg mac access-list match ip +! +environment overheat action shutdown +environment insufficient-fans action shutdown +environment fan-speed auto +! +clock timezone UTC +! +no virtual-cable +! +vlan 1 + name default + state active + no private-vlan + no mac-address-table sharing +! +vrf definition devel + rd 1:2 + no description +! +vrf definition prod + rd 1:1 + description Production VRF +! +interface Port-Channel1 + description blah + no shutdown + default load-interval + mtu 9000 + logging event link-status use-global + switchport dot1q ethertype 0x8100 + no switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no bfd per-link + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Port-Channel1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no port-channel min-links + no port-channel lacp fallback + port-channel lacp fallback timeout 90 + no l2 mtu + no ip multicast static + ip mfib fastdrop + no mlag + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Port-Channel1.1 + no description + no shutdown + default load-interval + logging event link-status use-global + no encapsulation dot1q vlan 0 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Port-Channel1.1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Ethernet1 + description This is a description + no shutdown + default load-interval + logging event link-status use-global + dcbx mode ieee + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport access vlan 1 + switchport trunk native vlan 1 + switchport trunk allowed vlan 1-4094 + no switchport asym vlan + switchport mode access + switchport dot1q ethertype 0x8100 + no switchport trunk private-vlan secondary + switchport mac address learning + no switchport private-vlan mapping + switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + channel-group 1 mode active + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no msrp + no mvrp + no switchport port-security + switchport port-security maximum 1 + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable + no spanning-tree portfast + spanning-tree portfast auto + no spanning-tree link-type + no spanning-tree bpduguard + no spanning-tree bpdufilter + no spanning-tree cost + spanning-tree port-priority 128 + no spanning-tree guard + no spanning-tree bpduguard rate-limit + logging event spanning-tree use-global + switchport tap native vlan 1 + no switchport tap identity + no switchport tap mpls pop all + switchport tap allowed vlan 1-4094 + switchport tool allowed vlan 1-4094 + no switchport tool identity + no switchport tap truncation + no switchport tool truncation + no switchport tap default group + no switchport tap default interface + no switchport tool group + no switchport tool dot1q remove outer +! +interface Ethernet2 + description so much oc + shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no dcbx mode + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport dot1q ethertype 0x8100 + no switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.0.1/24 + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no channel-group + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no ip multicast static + ip mfib fastdrop + no msrp + no mvrp + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Ethernet2.1 + description another subiface + no shutdown + default load-interval + logging event link-status use-global + encapsulation dot1q vlan 1 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + vrf forwarding prod + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.1.1/24 + ip address 172.20.0.1/24 secondary + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2.1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + sflow enable +! +interface Ethernet2.2 + description asdasdasd + no shutdown + default load-interval + logging event link-status use-global + encapsulation dot1q vlan 2 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + vrf forwarding devel + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.2.1/24 + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2.2 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + sflow enable +! +interface Loopback1 + description a loopback + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + default ntp serve +! +interface Management1 + no description + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 10.0.2.15/24 + no ip verify unicast + default arp timeout 300 + default ipv6 nd cache expire 300 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + ipv6 nd ra suppress all + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + lldp transmit + lldp receive + default ntp serve +! +mac address-table aging-time 300 +! +monitor hadoop + shutdown +! +no ip fhrp accept-mode +! +no ip virtual-router mac-address +ip virtual-router mac-address advertisement-interval 30 +! +no ipv6 hardware fib nexthop-index +! +ip route 10.0.0.0/24 192.168.0.2 1 tag 0 +ip route 10.0.0.0/24 192.168.0.3 1 tag 0 +ip route 10.0.1.0/24 192.168.0.2 1 tag 0 +ip route vrf prod 10.0.0.0/24 172.20.0.2 1 tag 0 +ip route vrf prod 10.0.1.0/24 172.20.0.2 1 tag 0 +ip route vrf devel 10.0.0.0/24 192.168.2.2 1 tag 0 +ip route vrf devel 10.0.1.0/24 192.168.2.2 1 tag 0 +! +ip routing +ip icmp redirect +no ip icmp source-interface +ip hardware fib route unprogrammed parent-drop +no ip hardware fib route delete delay +ip hardware fib next-hop update event bfd +no ip hardware fib maximum routes +no ip hardware forwarding mpls gre-key +no ip icmp rate-limit-unreachable 0 +no ip hardware fib next-hop sharing +no ip routing vrf prod +no ip icmp source-interface vrf prod +no ip routing vrf devel +no ip icmp source-interface vrf devel +ipv6 icmp redirect +no ip hardware fib maximum routes-v6 +! +no ip multicast-routing +ip multicast multipath deterministic +ip mfib max-fastdrops 1024 +no ip multicast count +ip mfib activity polling-interval 60 +! +ip mfib cache-entries unresolved max 4000 +ip mfib packet-buffers unresolved max 3 +! +ip as-path regex-mode asn +! +no ipv6 unicast-routing +no ipv6 unicast-routing vrf prod +no ipv6 unicast-routing vrf devel +! +control-plane + ip access-group default-control-plane-acl in + ip access-group default-control-plane-acl vrf prod in + ip access-group default-control-plane-acl vrf devel in + ipv6 access-group default-control-plane-acl in + ipv6 access-group default-control-plane-acl vrf prod in + ipv6 access-group default-control-plane-acl vrf devel in +! +mac address-table notification host-flap logging +mac address-table notification host-flap detection window 15 +! +mlag configuration + no domain-id + heartbeat-interval 4000 + no local-interface + no peer-address + no peer-link + reload-delay 0 + no reload-delay non-mlag + no reload-delay mode + no shutdown +! +monitor loop-protection + rate-limit 1000 + transmit-interval 5 + disabled-time 604800 +! +no mpls ip +! +no ip ftp client source-interface +no ip http client source-interface +no ip ssh client source-interface +no ip telnet client source-interface +no ip tftp client source-interface +! +no qos random-detect ecn global-buffer +qos map cos 0 1 2 3 4 5 6 7 to traffic-class 8 +qos map dscp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to cos 3 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to uc-tx-queue 4 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4 +! +policy-map type control-plane copp-system-policy + class copp-system-bpdu + shape pps 6000 + bandwidth pps 5000 + class copp-system-arp + shape pps 25000 + bandwidth pps 1000 + class copp-system-igmp + shape pps 5000 + bandwidth pps 4000 + class copp-system-default + no shape + no bandwidth +! +no ip radius source-interface +! +monitor reachability + shutdown + probe receiver max-streams 50000 + probe checkpoint-interval 60 + destination port 49152 + default ignore-checksum + default preserve-streams +! +router bgp 65001 + no shutdown + router-id 1.1.1.1 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp host-routes fib direct-install + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + no neighbor 192.168.0.200 peer-group + neighbor 192.168.0.200 remote-as 65100 + no neighbor 192.168.0.200 import-localpref + no neighbor 192.168.0.200 export-localpref + neighbor 192.168.0.200 description asdasd qweq asdasd + no neighbor 192.168.0.200 next-hop-self + no neighbor 192.168.0.200 next-hop-peer + no neighbor 192.168.0.200 allowas-in + neighbor 192.168.0.200 send-community + no neighbor 192.168.0.200 shutdown + neighbor 192.168.0.200 remove-private-as + no neighbor 192.168.0.200 out-delay + no neighbor 192.168.0.200 local-as + no neighbor 192.168.0.200 weight + no neighbor 192.168.0.200 transport connection-mode passive + no neighbor 192.168.0.200 update-source + no neighbor 192.168.0.200 dont-capability-negotiate + no neighbor 192.168.0.200 fall-over bfd + no neighbor 192.168.0.200 local-v6-addr + no neighbor 192.168.0.200 auto-local-addr + no neighbor 192.168.0.200 next-hop-v6-addr + neighbor 192.168.0.200 soft-reconfiguration inbound + no neighbor 192.168.0.200 ebgp-multihop + no neighbor 192.168.0.200 route-reflector-client + no neighbor 192.168.0.200 timers + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 graceful-restart + neighbor 192.168.0.200 graceful-restart-helper + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 prefix-list in + no neighbor 192.168.0.200 prefix-list out + no neighbor 192.168.0.200 password + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 enforce-first-as + no neighbor 192.168.0.200 metric-out + no neighbor 192.168.0.200 idle-restart-timer + neighbor 192.168.0.200 maximum-routes 12000 + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + default neighbor 192.168.0.200 activate + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 weight + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + default neighbor 192.168.0.200 activate + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 prefix-list in + no neighbor 192.168.0.200 prefix-list out + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 weight + vrf devel + local-as 65001 + no shutdown + router-id 3.3.3.3 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + ! + vrf prod + local-as 65001 + no shutdown + router-id 2.2.2.2 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + no neighbor 172.20.0.200 peer-group + neighbor 172.20.0.200 remote-as 65100 + no neighbor 172.20.0.200 import-localpref + no neighbor 172.20.0.200 export-localpref + no neighbor 172.20.0.200 description + no neighbor 172.20.0.200 next-hop-self + no neighbor 172.20.0.200 next-hop-peer + no neighbor 172.20.0.200 allowas-in + no neighbor 172.20.0.200 send-community + no neighbor 172.20.0.200 shutdown + no neighbor 172.20.0.200 remove-private-as + no neighbor 172.20.0.200 out-delay + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + no neighbor 172.20.0.200 weight + no neighbor 172.20.0.200 transport connection-mode passive + no neighbor 172.20.0.200 update-source + no neighbor 172.20.0.200 dont-capability-negotiate + no neighbor 172.20.0.200 fall-over bfd + no neighbor 172.20.0.200 local-v6-addr + no neighbor 172.20.0.200 auto-local-addr + no neighbor 172.20.0.200 next-hop-v6-addr + neighbor 172.20.0.200 soft-reconfiguration inbound + no neighbor 172.20.0.200 ebgp-multihop + no neighbor 172.20.0.200 route-reflector-client + no neighbor 172.20.0.200 timers + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 graceful-restart + neighbor 172.20.0.200 graceful-restart-helper + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 prefix-list in + no neighbor 172.20.0.200 prefix-list out + no neighbor 172.20.0.200 password + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 enforce-first-as + no neighbor 172.20.0.200 metric-out + no neighbor 172.20.0.200 idle-restart-timer + neighbor 172.20.0.200 maximum-routes 12000 + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + default neighbor 172.20.0.200 activate + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 weight + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + default neighbor 172.20.0.200 activate + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 prefix-list in + no neighbor 172.20.0.200 prefix-list out + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 weight +! +router multicast + vrf devel + no ip multicast-routing + ip multicast multipath deterministic + ip mfib max-fastdrops 1024 + ip mfib cache-entries unresolved max 4000 + ip mfib packet-buffers unresolved max 3 + ! + vrf prod + no ip multicast-routing + ip multicast multipath deterministic + ip mfib max-fastdrops 1024 + ip mfib cache-entries unresolved max 4000 + ip mfib packet-buffers unresolved max 3 +! +router pim sparse-mode + vrf devel + ip pim log-neighbor-changes + no ip pim ssm range + ip pim sparse-mode sg-expiry-timer 210 + ip pim spt-threshold 0 + no ip pim rp-candidate + no ip pim register-source + ! + vrf prod + ip pim log-neighbor-changes + no ip pim ssm range + ip pim sparse-mode sg-expiry-timer 210 + ip pim spt-threshold 0 + no ip pim rp-candidate + no ip pim register-source +! +router pim bidirectional + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate + vrf devel + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate + ! + vrf prod + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate +! +router pim bsr + vrf devel + no ip pim bsr-holdtime + no ip pim bsr-sztimeout + no ip pim bsr-candidate + no ip pim bsr rp-candidate advertisement-filter + ! + vrf prod + no ip pim bsr-holdtime + no ip pim bsr-sztimeout + no ip pim bsr-candidate + no ip pim bsr rp-candidate advertisement-filter +! +no ip tacacs source-interface +! +no vxlan vni notation dotted +! +no banner login +no banner motd +! +system coredump compressed +! +no dot1x system-auth-control +! +management api http-commands + protocol https port 443 + no protocol http port 80 + no protocol http localhost port 8080 + no protocol unix-socket + no protocol https certificate + no protocol https ssl profile + no cors allowed-origin + protocol https cipher aes256-cbc aes128-cbc + protocol https key-exchange rsa diffie-hellman-ephemeral-rsa + protocol https mac hmac-sha1 + qos dscp 0 + no shutdown + vrf default + no shutdown +! +management cim-provider + shutdown + http 7778 + https 7779 + idle-timeout 90 + default live-time + default trace + default ssl certificate + default ssl key +! +management console + idle-timeout 0 +! +management cvx + shutdown + no server host + no source-interface + no server port + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 +! +management defaults + secret hash md5 +! +management security + no entropy source hardware + no password minimum length +! +management ssh + idle-timeout 0 + authentication mode keyboard-interactive + server-port 22 + hostkey server rsa dsa + no fips restrictions + no hostkey client strict-checking + no shutdown + login timeout 120 + log-level info +! +management telnet + shutdown + idle-timeout 0 +! +management xmpp + shutdown + vrf default + session privilege 1 +! +! +end diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json @@ -0,0 +1 @@ +{} diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index c2432ff4..f2451646 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -33,7 +33,8 @@ def pretty_json(dictionary): test_config_profile_models = [ - ["ios", napalm_yang.models.openconfig_interfaces, "default"], + # ["ios", napalm_yang.models.openconfig_interfaces, "default"], + ["eos", napalm_yang.models.openconfig_network_instance, "default"], ] test_state_profile_models = [ @@ -67,9 +68,9 @@ def test_parse_config(self, profile, model, case): expected.add_model(model) expected.load_dict(expected_json) - # print(pretty_json(config.get(filter=True))) + print(pretty_json(config.get(filter=True))) - assert not napalm_yang.utils.diff(config, expected) + # assert not napalm_yang.utils.diff(config, expected) @pytest.mark.parametrize("profile, model, case", test_config_profile_models) def test_translate(self, profile, model, case): From d8f50eda50b3bb0b97342b7e6d31f49a6c6d2d16 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 12:48:40 +0200 Subject: [PATCH 050/153] duplicates renamed to flat --- .../config/openconfig-network-instance/includes/bgp.yaml | 2 +- .../openconfig-network-instance/includes/static_routes.yaml | 4 ++-- napalm_yang/parser.py | 2 +- napalm_yang/parsers/text.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml index b825caad..afb8c81b 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -358,7 +358,7 @@ neighbors: mode: block regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" from: "{{ bookmarks['protocol'][protocol_key] }}" - duplicates: true + flat: true add-paths: _process: not_implemented config: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 8aeef966..06d4492c 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -8,12 +8,12 @@ static: regexp: "(?Pip route (?P\\d+.*\\/\\d+).*)" from: "{{ bookmarks['network-instances'][0] }}" when: "{{ network_instance_key == 'global' }}" - duplicates: true + flat: true - mode: block regexp: "(?Pip route vrf {{ network_instance_key }} (?P\\d+.*\\/\\d+).*)" from: "{{ bookmarks['network-instances'][0] }}" when: "{{ network_instance_key != 'global' }}" - duplicates: true + flat: true config: _process: not_implemented prefix: diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index cc038da9..4b2566d1 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -132,7 +132,7 @@ def _parse_list(self, attribute, model, mapping): obj = model.add(key) except KeyError as e: if "is already defined as a list entry" in e.message and \ - extra_vars.get("_allow_duplicates"): + extra_vars.get("_get_duplicates"): obj = model[key] else: raise diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 532a6982..2d89cdd3 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -30,7 +30,7 @@ def _parse_list_block(cls, mapping): else: key = extra_vars.pop("key") - extra_vars["_allow_duplicates"] = mapping.get("duplicates", False) + extra_vars["_get_duplicates"] = mapping.get("flat", False) yield key, block, extra_vars From 25f8922bafe598b190a4629dd4b935ebca62433d Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 19:27:31 +0200 Subject: [PATCH 051/153] Processors are now lists --- .../config/napalm-if-ip/secondary.yaml | 4 +- .../parsers/config/openconfig-if-ip/ipv4.yaml | 20 +- .../openconfig-interfaces/interfaces.yaml | 64 +++--- .../parsers/config/openconfig-vlan/vlan.yaml | 6 +- .../translators/openconfig-if-ip/ipv4.yaml | 8 +- .../openconfig-interfaces/interfaces.yaml | 18 +- .../config/napalm-if-ip/secondary.yaml | 4 +- .../parsers/config/openconfig-if-ip/ipv4.yaml | 20 +- .../openconfig-interfaces/interfaces.yaml | 68 +++---- .../parsers/config/openconfig-vlan/vlan.yaml | 6 +- .../translators/openconfig-if-ip/ipv4.yaml | 8 +- .../openconfig-interfaces/interfaces.yaml | 18 +- .../parsers/config/openconfig-if-ip/ipv4.yaml | 30 +-- .../openconfig-interfaces/interfaces.yaml | 80 ++++---- .../parsers/config/openconfig-vlan/vlan.yaml | 6 +- .../openconfig-interfaces/interfaces.yaml | 190 +++++++++--------- .../translators/openconfig-if-ip/ipv4.yaml | 10 +- .../openconfig-interfaces/interfaces.yaml | 22 +- 18 files changed, 291 insertions(+), 291 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml b/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml index ee334fbb..058db2c4 100644 --- a/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml +++ b/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml @@ -5,5 +5,5 @@ metadata: secondary: _process: - mode: value - value: "{{ extra_vars.secondary != None }}" + - mode: value + value: "{{ extra_vars.secondary != None }}" diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml index 8868a1e8..200ca4cb 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -8,30 +8,30 @@ ipv4: _process: unnecessary enabled: _process: - mode: is_absent - regexp: "(?P^\\W*switchport$)" - from: "{{ bookmarks['parent'] }}" + - mode: is_absent + regexp: "(?P^\\W*switchport$)" + from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented addresses: _process: unnecessary address: _process: - mode: block - regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" - from: "{{ bookmarks['parent'] }}" + - mode: block + regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" + from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary config: _process: unnecessary ip: _process: - mode: value - value: "{{ extra_vars.ip }}" + - mode: value + value: "{{ extra_vars.ip }}" prefix-length: _process: - mode: value - value: "{{ extra_vars.prefix }}" + - mode: value + value: "{{ extra_vars.prefix }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml index 483ed670..44267380 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -9,9 +9,9 @@ interfaces: _process: unnecessary interface: _process: - mode: block - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + - mode: block + regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" + from: "{{ bookmarks.interfaces.0 }}" name: _process: unnecessary hold-time: @@ -28,37 +28,37 @@ interfaces: _process: unnecessary type: _process: - mode: map - regexp: "(?P(\\w|-)*)\\d+" - from: "{{ interface_key }}" - map: - Ethernet: ethernetCsmacd - Management: ethernetCsmacd - Loopback: softwareLoopback - Port-Channel: ieee8023adLag - Vlan: l3ipvlan + - mode: map + regexp: "(?P(\\w|-)*)\\d+" + from: "{{ interface_key }}" + map: + Ethernet: ethernetCsmacd + Management: ethernetCsmacd + Loopback: softwareLoopback + Port-Channel: ieee8023adLag + Vlan: l3ipvlan enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ bookmarks.interface[interface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.interface[interface_key] }}" mtu: _process: - mode: search - regexp: "mtu (?P[0-9]+)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: search + regexp: "mtu (?P[0-9]+)" + from: "{{ bookmarks.interface[interface_key] }}" subinterfaces: _process: unnecessary subinterface: _process: - mode: block - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + - mode: block + regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" + from: "{{ bookmarks.interfaces.0 }}" index: _process: unnecessary config: @@ -67,15 +67,15 @@ interfaces: _process: unnecessary name: _process: - mode: value - value: "{{ interface_key }}.{{ subinterface_key}}" + - mode: value + value: "{{ interface_key }}.{{ subinterface_key}}" enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ bookmarks.subinterface[subinterface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.subinterface[subinterface_key] }}" diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml index e8392b12..eef423e1 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml @@ -9,6 +9,6 @@ vlan: _process: unnecessary vlan-id: _process: - mode: search - regexp: "^\\W*encapsulation dot1q vlan (?P[0-9]+)" - from: "{{ bookmarks['parent'] }}" + - mode: search + regexp: "^\\W*encapsulation dot1q vlan (?P[0-9]+)" + from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml index 1512a25f..e75e5d6e 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml @@ -19,10 +19,10 @@ ipv4: _process: unnecessary address: _process: - mode: container - key_value: " ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" - negate: " default ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" - replace: false + - mode: container + key_value: " ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" + negate: " default ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" + replace: false ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml index 66fa4db8..836bf3d7 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml @@ -7,10 +7,10 @@ interfaces: _process: unnecessary interface: _process: - mode: container - key_value: "interface {{ interface_key }}\n" - negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" - end: " exit\n" + - mode: container + key_value: "interface {{ interface_key }}\n" + negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" + end: " exit\n" name: _process: unnecessary hold-time: @@ -46,11 +46,11 @@ interfaces: _process: unnecessary subinterface: _process: - mode: container - key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" - negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" - in: "interfaces" - end: " exit\n" + - mode: container + key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" + negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" + in: "interfaces" + end: " exit\n" index: _process: unnecessary config: diff --git a/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml b/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml index ee334fbb..058db2c4 100644 --- a/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml +++ b/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml @@ -5,5 +5,5 @@ metadata: secondary: _process: - mode: value - value: "{{ extra_vars.secondary != None }}" + - mode: value + value: "{{ extra_vars.secondary != None }}" diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml index 80077c0d..f40016f8 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml @@ -8,30 +8,30 @@ ipv4: _process: unnecessary enabled: _process: # TODO look at this one, I think this is different depending on IOS version - mode: is_absent - regexp: "(?P^\\s*switchport mode.*$)" - from: "{{ bookmarks['parent'] }}" + - mode: is_absent + regexp: "(?P^\\s*switchport mode.*$)" + from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented addresses: _process: unnecessary address: _process: - mode: block - regexp: "(?Pip address (?P(?P.*)) (?P([0-255]|\\.)*)(?P secondary)*)$" - from: "{{ bookmarks['parent'] }}" + - mode: block + regexp: "(?Pip address (?P(?P.*)) (?P([0-255]|\\.)*)(?P secondary)*)$" + from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary config: _process: unnecessary ip: _process: - mode: value - value: "{{ extra_vars.ip }}" + - mode: value + value: "{{ extra_vars.ip }}" prefix-length: _process: - mode: value - value: "{{ extra_vars.prefix|netmask_to_cidr }}" + - mode: value + value: "{{ extra_vars.prefix|netmask_to_cidr }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index 29048720..f01a2ef5 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -9,9 +9,9 @@ interfaces: _process: unnecessary interface: _process: - mode: block - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + - mode: block + regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" + from: "{{ bookmarks.interfaces.0 }}" name: _process: unnecessary hold-time: @@ -28,39 +28,39 @@ interfaces: _process: unnecessary type: _process: - mode: map - regexp: "(?P(\\w|-)*)\\d+" - from: "{{ interface_key }}" - map: - FastEthernet: ethernetCsmacd - GigabitEthernet: ethernetCsmacd - Management: ethernetCsmacd - Loopback: softwareLoopback - Port-Channel: ieee8023adLag - Port-channel: ieee8023adLag - Vlan: l3ipvlan + - mode: map + regexp: "(?P(\\w|-)*)\\d+" + from: "{{ interface_key }}" + map: + FastEthernet: ethernetCsmacd + GigabitEthernet: ethernetCsmacd + Management: ethernetCsmacd + Loopback: softwareLoopback + Port-Channel: ieee8023adLag + Port-channel: ieee8023adLag + Vlan: l3ipvlan enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ bookmarks.interface[interface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.interface[interface_key] }}" mtu: _process: - mode: search - regexp: "mtu (?P[0-9]+)" - from: "{{ bookmarks.interface[interface_key] }}" + - mode: search + regexp: "mtu (?P[0-9]+)" + from: "{{ bookmarks.interface[interface_key] }}" subinterfaces: _process: unnecessary subinterface: _process: - mode: block - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + - mode: block + regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" + from: "{{ bookmarks.interfaces.0 }}" index: _process: unnecessary config: @@ -69,15 +69,15 @@ interfaces: _process: unnecessary name: _process: - mode: value - value: "{{ interface_key }}.{{ subinterface_key}}" + - mode: value + value: "{{ interface_key }}.{{ subinterface_key}}" enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ bookmarks.subinterface[subinterface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.subinterface[subinterface_key] }}" diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml index 2f536f29..270e5a56 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml @@ -9,6 +9,6 @@ vlan: _process: unnecessary vlan-id: _process: - mode: search - regexp: "^\\W*encapsulation dot1q (?P[0-9]+)" - from: "{{ bookmarks['parent'] }}" + - mode: search + regexp: "^\\W*encapsulation dot1q (?P[0-9]+)" + from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml index 1fea4d8d..fa61f3af 100644 --- a/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml @@ -19,10 +19,10 @@ ipv4: _process: unnecessary address: _process: - mode: container - key_value: " ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" - negate: " default ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" - replace: false + - mode: container + key_value: " ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" + negate: " default ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" + replace: false ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml index bb5c2208..68db90eb 100644 --- a/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml @@ -7,10 +7,10 @@ interfaces: _process: unnecessary interface: _process: - mode: container - key_value: "interface {{ interface_key }}\n" - negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" - end: " exit\n" + - mode: container + key_value: "interface {{ interface_key }}\n" + negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" + end: " exit\n" name: _process: unnecessary hold-time: @@ -48,11 +48,11 @@ interfaces: _process: unnecessary subinterface: _process: - mode: container - key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" - negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" - in: "interfaces" - end: " exit\n" + - mode: container + key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" + negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" + in: "interfaces" + end: " exit\n" index: _process: unnecessary config: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml index fca0585a..a48ab1b5 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -8,35 +8,35 @@ ipv4: _process: unnecessary enabled: _process: - mode: is_present - xpath: "family/inet" - from: "{{ bookmarks['parent'] }}" + - mode: is_present + xpath: "family/inet" + from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented addresses: _process: unnecessary address: _process: - mode: xpath - xpath: "family/inet/address" - key: name - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "family/inet/address" + key: name + from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary config: _process: unnecessary ip: _process: - mode: xpath - xpath: "name" - regexp: "(?P.*)/\\d+" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "name" + regexp: "(?P.*)/\\d+" + from: "{{ bookmarks['parent'] }}" prefix-length: _process: - mode: xpath - xpath: "name" - regexp: ".*/(?P\\d+)" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "name" + regexp: ".*/(?P\\d+)" + from: "{{ bookmarks['parent'] }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index 7a6a7b31..3ad52d58 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -10,10 +10,10 @@ interfaces: _process: unnecessary interface: _process: - mode: xpath - xpath: "interfaces/interface" - key: name - from: "{{ bookmarks.interfaces.0 }}" + - mode: xpath + xpath: "interfaces/interface" + key: name + from: "{{ bookmarks.interfaces.0 }}" name: _process: unnecessary hold-time: @@ -28,61 +28,61 @@ interfaces: _process: unnecessary name: _process: - mode: value - value: "{{ interface_key }}" + - mode: value + value: "{{ interface_key }}" type: _process: - mode: map - xpath: name - regexp: "(?P[a-z]+).*" - # Next field could easily be - # from: "{{ bookmarks['parent'] }}" - # but this is more efficient - from: "{{ parent_key }}" - map: - ge: ethernetCsmacd - lo: softwareLoopback - ae: ieee8023adLag + - mode: map + xpath: name + regexp: "(?P[a-z]+).*" + # Next field could easily be + # from: "{{ bookmarks['parent'] }}" + # but this is more efficient + from: "{{ parent_key }}" + map: + ge: ethernetCsmacd + lo: softwareLoopback + ae: ieee8023adLag enabled: _process: - mode: is_absent - xpath: "disable" - from: "{{ bookmarks['parent'] }}" + - mode: is_absent + xpath: "disable" + from: "{{ bookmarks['parent'] }}" description: _process: - mode: xpath - xpath: description - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: description + from: "{{ bookmarks['parent'] }}" mtu: _process: - mode: xpath - xpath: mtu - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: mtu + from: "{{ bookmarks['parent'] }}" subinterfaces: - _process: not_implemented + _process: unnecessary subinterface: _process: - mode: xpath - xpath: "unit" - key: name - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "unit" + key: name + from: "{{ bookmarks['parent'] }}" index: _process: unnecessary config: - _process: not_implemented + _process: unnecessary index: _process: not_implemented name: _process: - mode: value - value: "{{ subinterface_key }}" + - mode: value + value: "{{ subinterface_key }}" enabled: _process: - mode: is_absent - xpath: "disable" - from: "{{ bookmarks['parent'] }}" + - mode: is_absent + xpath: "disable" + from: "{{ bookmarks['parent'] }}" description: _process: - mode: xpath - xpath: description - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: description + from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml index b0db1a24..ae5eff7a 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml @@ -8,6 +8,6 @@ vlan: _process: unnecessary vlan-id: _process: - mode: xpath - xpath: "vlan-id" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "vlan-id" + from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index ebd61ec4..1ba450bd 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -7,13 +7,13 @@ metadata: get: "" interfaces: - _process: not_implemented + _process: unnecessary interface: _process: - mode: xpath - xpath: "physical-interface" - key: name - from: "{{ bookmarks.interfaces.0 }}" + - mode: xpath + xpath: "physical-interface" + key: name + from: "{{ bookmarks.interfaces.0 }}" config: _process: unnecessary hold-time: @@ -27,166 +27,166 @@ interfaces: up: _process: not_implemented state: - _process: not_implemented + _process: unnecessary admin-status: _process: - mode: map - xpath: "admin-status" - from: "{{ bookmarks['parent'] }}" - map: - up: UP - down: DOWN + - mode: map + xpath: "admin-status" + from: "{{ bookmarks['parent'] }}" + map: + up: UP + down: DOWN description: _process: - mode: xpath - xpath: "description" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "description" + from: "{{ bookmarks['parent'] }}" enabled: _process: - mode: map - xpath: "admin-status" - from: "{{ bookmarks['parent'] }}" - map: - up: true - down: false + - mode: map + xpath: "admin-status" + from: "{{ bookmarks['parent'] }}" + map: + up: true + down: false ifindex: _process: - mode: xpath - xpath: "snmp-index" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "snmp-index" + from: "{{ bookmarks['parent'] }}" last-change: _process: - mode: xpath - xpath: "interface-flapped" - attribute: "seconds" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "interface-flapped" + attribute: "seconds" + from: "{{ bookmarks['parent'] }}" mtu: _process: - mode: xpath - xpath: "mtu" - regexp: "(?P\\d+)" # Someone thought mixing strings and ints was a good idea - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "mtu" + regexp: "(?P\\d+)" # Someone thought mixing strings and ints was a good idea + from: "{{ bookmarks['parent'] }}" name: _process: unnecessary oper-status: _process: - mode: map - xpath: "oper-status" - from: "{{ bookmarks['parent'] }}" - map: - up: UP - down: DOWN + - mode: map + xpath: "oper-status" + from: "{{ bookmarks['parent'] }}" + map: + up: UP + down: DOWN type: _process: - mode: map - xpath: "if-type" - from: "{{ bookmarks['parent'] }}" - map: - GRE: tunnel - IPIP: tunnel - Logical-tunnel: tunnel - Multicast-GRE: tunnel - Secure-Tunnel: tunnel - Ethernet: ethernetCsmacd - Loopback: softwareLoopback - VLAN: l2vlan - Adaptive-Services: null - Software-Pseudo: null - PIMD: null - PIME: null - PPPoE: null + - mode: map + xpath: "if-type" + from: "{{ bookmarks['parent'] }}" + map: + GRE: tunnel + IPIP: tunnel + Logical-tunnel: tunnel + Multicast-GRE: tunnel + Secure-Tunnel: tunnel + Ethernet: ethernetCsmacd + Loopback: softwareLoopback + VLAN: l2vlan + Adaptive-Services: null + Software-Pseudo: null + PIMD: null + PIME: null + PPPoE: null counters: - _process: not_implemented + _process: unnecessary in-broadcast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/input-broadcasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/input-broadcasts" + from: "{{ bookmarks['parent'] }}" in-discards: _process: - mode: xpath - xpath: "input-error-list/input-discards" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "input-error-list/input-discards" + from: "{{ bookmarks['parent'] }}" in-errors: _process: - mode: xpath - xpath: "input-error-list/input-errors" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "input-error-list/input-errors" + from: "{{ bookmarks['parent'] }}" in-multicast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/input-multicasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/input-multicasts" + from: "{{ bookmarks['parent'] }}" in-octets: _process: not_implemented in-unicast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/input-unicasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/input-unicasts" + from: "{{ bookmarks['parent'] }}" in-unknown-protos: _process: not_implemented last-clear: _process: not_implemented out-broadcast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/output-broadcasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/output-broadcasts" + from: "{{ bookmarks['parent'] }}" out-discards: _process: not_implemented out-errors: _process: - mode: xpath - xpath: "output-error-list/output-errors" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "output-error-list/output-errors" + from: "{{ bookmarks['parent'] }}" out-multicast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/output-multicasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/output-multicasts" + from: "{{ bookmarks['parent'] }}" out-octets: _process: not_implemented out-unicast-pkts: _process: - mode: xpath - xpath: "ethernet-mac-statistics/output-unicasts" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "ethernet-mac-statistics/output-unicasts" + from: "{{ bookmarks['parent'] }}" subinterfaces: _process: unnecessary subinterface: _process: - mode: xpath - xpath: "logical-interface" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "logical-interface" + from: "{{ bookmarks['parent'] }}" index: _process: unnecessary config: _process: unnecessary state: - _process: not_implemented + _process: unnecessary index: _process: not_implemented description: _process: - mode: xpath - xpath: "description" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "description" + from: "{{ bookmarks['parent'] }}" enabled: _process: not_implemented admin-status: _process: not_implemented ifindex: _process: - mode: xpath - xpath: "snmp-index" - from: "{{ bookmarks['parent'] }}" + - mode: xpath + xpath: "snmp-index" + from: "{{ bookmarks['parent'] }}" last-change: _process: not_implemented name: _process: - mode: value - value: "{{ subinterface_key }}" + - mode: value + value: "{{ subinterface_key }}" oper-status: _process: not_implemented counters: diff --git a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml index 386fb5ae..1ade2475 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml @@ -4,9 +4,9 @@ metadata: ipv4: _process: - mode: container - container: family.inet - when: "{{ model.config.enabled or model.addresses.address|length }}" + - mode: container + container: family.inet + when: "{{ model.config.enabled or model.addresses.address|length }}" config: _process: unnecessary enabled: @@ -17,8 +17,8 @@ ipv4: _process: unnecessary address: _process: - mode: container - container: address + - mode: container + container: address ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml index 492d5892..6987a56a 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml @@ -5,15 +5,15 @@ metadata: interfaces: _process: - mode: container - container: interfaces - replace: true + - mode: container + container: interfaces + replace: true interface: _process: - mode: container - container: interface - key_element: name - key_value: "{{ interface_key }}" + - mode: container + container: interface + key_element: name + key_value: "{{ interface_key }}" name: _process: unnecessary hold-time: @@ -48,10 +48,10 @@ interfaces: _process: unnecessary subinterface: _process: - mode: container - container: unit - key_element: name - key_value: "{{ subinterface_key }}" + - mode: container + container: unit + key_element: name + key_value: "{{ subinterface_key }}" index: _process: unnecessary config: From d4a71df974cf811e4fc621f288d1c91d79d418d9 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 19:38:10 +0200 Subject: [PATCH 052/153] Everything is a list now --- napalm_yang/helpers.py | 4 +-- napalm_yang/parsers/base.py | 19 ++++++++----- napalm_yang/translator.py | 43 ++++++++++++++++------------- napalm_yang/translators/base.py | 48 +++++++++++++++++++++++---------- napalm_yang/translators/text.py | 8 +++--- napalm_yang/translators/xml.py | 4 +-- 6 files changed, 78 insertions(+), 48 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index beaa75d5..26ce83ce 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -96,9 +96,9 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, for r in rule] elif isinstance(rule, str): if rule in ["unnecessary"]: - return {"mode": "skip", "reason": rule} + return [{"mode": "skip", "reason": rule}] elif rule in ["not_implemented"]: - return {"mode": "gate", "reason": rule} + return [{"mode": "gate", "reason": rule}] else: raise Exception("Not sure what to do with rule {} on attribute {}".format(rule, attribute)) diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index bb524e34..46c50813 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -8,22 +8,27 @@ def init_config(cls, config): @classmethod def parse_list(cls, mapping): - mapping_rules = mapping if isinstance(mapping, list) else [mapping] - - for m in mapping_rules: + for m in mapping: method_name = "_parse_list_{}".format(m["mode"]) for key, block, extra_vars in getattr(cls, method_name)(m): yield key, block, extra_vars @classmethod def parse_leaf(cls, mapping): - method_name = "_parse_leaf_{}".format(mapping["mode"]) - return getattr(cls, method_name)(mapping) + for m in mapping: + method_name = "_parse_leaf_{}".format(m["mode"]) + result = getattr(cls, method_name)(m) + if result is not None: + return result @classmethod def parse_container(cls, mapping): - method_name = "_parse_container_{}".format(mapping["mode"]) - return getattr(cls, method_name)(mapping) + for m in mapping: + method_name = "_parse_container_{}".format(m["mode"]) + result, extra_vars = getattr(cls, method_name)(m) + if result or extra_vars: + break + return result, extra_vars @classmethod def _parse_leaf_skip(cls, mapping): diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index a124ccf7..d17f010d 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -5,15 +5,17 @@ logger = logging.getLogger("napalm-yang") -def _find_translation_point(rule, bookmarks, translation): - if "in" in rule.keys(): - t = bookmarks - for p in rule["in"].split("."): - try: - t = t[p] - except TypeError: - t = t[int(p)] - translation = t +def _find_translation_point(rules, bookmarks, translation): + for r in rules: + if "in" in r.keys(): + t = bookmarks + for p in r["in"].split("."): + try: + t = t[p] + except TypeError: + t = t[int(p)] + translation = t + break return translation @@ -71,11 +73,14 @@ def _translate_container(self, attribute, model, mapping, translation, other): None, model, self.bookmarks) translation_point = _find_translation_point(rule, self.bookmarks, translation) - et = self.translator.parse_container(attribute, model, other, rule, translation_point) + et = self.translator.translate_container(attribute, model, other, rule, + translation_point) + + if et is None: + return self.bookmarks[attribute] = et else: - translation_point = _find_translation_point(mapping, self.bookmarks, translation) et = translation for k, v in model: @@ -87,7 +92,7 @@ def _translate_container(self, attribute, model, mapping, translation, other): if v._defining_module != self._defining_module and v._defining_module is not None: logger.debug("Skipping attribute: {}:{}".format(v._defining_module, attribute)) - translator = Translator(v, self.profile, translation_point, self.keys, + translator = Translator(v, self.profile, et, self.keys, self.bookmarks, self.merge, self.replace, other_attr) translator.translate() else: @@ -117,6 +122,7 @@ def _translate_list(self, attribute, model, mapping, translation, other): translation_rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, element, self.bookmarks) + translation_point = _find_translation_point(translation_rule, self.bookmarks, translation) @@ -155,10 +161,9 @@ def _translate_list(self, attribute, model, mapping, translation, other): self.translator.default_element(translation_rule, translation_point) def _translate_leaf(self, attribute, model, mapping, translation, other): - rules = [mapping["_process"]] if isinstance(mapping["_process"], str) \ - else mapping["_process"] - for rule in rules: - rule = helpers.resolve_rule(rule, attribute, self.keys, None, model, self.bookmarks) - translation_point = _find_translation_point(rule, self.bookmarks, - translation) - self.translator.parse_leaf(attribute, model, other, rule, translation_point) + rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, + self.bookmarks) + translation_point = _find_translation_point(rule, self.bookmarks, + translation) + + self.translator.translate_leaf(attribute, model, other, rule, translation_point) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 035af341..ecc682ff 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -5,25 +5,45 @@ def __init__(self, merge, replace): self.replace = replace def init_element(self, attribute, model, other, mapping, translation): - method_name = "_init_element_{}".format(mapping["mode"]) - return getattr(self, method_name)(attribute, model, other, mapping, translation) + for m in mapping: + method_name = "_init_element_{}".format(m["mode"]) + t = getattr(self, method_name)(attribute, model, other, m, translation) + if t is False: + # if it's False we want to return None to signal we want to abort + return None + elif t is not None: + return t def default_element(self, mapping, translation, replacing=False): - method_name = "_default_element_{}".format(mapping["mode"]) - return getattr(self, method_name)(mapping, translation, replacing) + for m in mapping: + method_name = "_default_element_{}".format(m["mode"]) + getattr(self, method_name)(m, translation, replacing) - def parse_leaf(self, attribute, model, other, mapping, translation): - method_name = "_parse_leaf_{}".format(mapping["mode"]) - return getattr(self, method_name)(attribute, model, other, mapping, translation) + def translate_leaf(self, attribute, model, other, mapping, translation): + for m in mapping: + method_name = "_translate_leaf_{}".format(m["mode"]) + getattr(self, method_name)(attribute, model, other, m, translation) - def parse_container(self, attribute, model, other, mapping, translation): - method_name = "_parse_container_{}".format(mapping["mode"]) - return getattr(self, method_name)(attribute, model, other, mapping, translation) + def translate_container(self, attribute, model, other, mapping, translation): + for m in mapping: + method_name = "_translate_container_{}".format(m["mode"]) + t = getattr(self, method_name)(attribute, model, other, m, translation) + if t is False: + # if it's False we want to return None to signal we want to abort + return None + elif t is not None: + return t - def _parse_leaf_skip(self, attribute, model, other, mapping, translation): + def _translate_leaf_skip(self, attribute, model, other, mapping, translation): return translation - _init_element_skip = _parse_leaf_skip - _parse_container_skip = _parse_leaf_skip + + _init_element_skip = _translate_leaf_skip + _translate_leaf_gate = _translate_leaf_skip + + def _translate_container_gate(self, attribute, model, other, mapping, translation): + return None + + _translate_container_skip = _translate_leaf_skip def _default_element_skip(self, mapping, translation, replacing): - return + return None diff --git a/napalm_yang/translators/text.py b/napalm_yang/translators/text.py index 6dbec162..aab742cb 100644 --- a/napalm_yang/translators/text.py +++ b/napalm_yang/translators/text.py @@ -17,7 +17,7 @@ def init_translation(self, metadata, translation): def post_processing(self, translator): return self._xml_to_text(translator.translation) - def _parse_leaf_element(self, attribute, model, other, mapping, translation): + def _translate_leaf_element(self, attribute, model, other, mapping, translation): force = False if model == other and not self.replace: @@ -30,14 +30,14 @@ def _parse_leaf_element(self, attribute, model, other, mapping, translation): return mapping["element"] = "command" - super()._parse_leaf_element(attribute, model, other, mapping, translation, force) + super()._translate_leaf_element(attribute, model, other, mapping, translation, force) def _init_element_container(self, attribute, model, other, mapping, translation): if other is not None: if not napalm_yang.utils.diff(model, other) and not self.replace: # If objects are equal we return None as that aborts translating # the rest of the object - return + return False if not model._changed() and other is not None and not self.replace: mapping["key_value"] = mapping["negate"] @@ -56,7 +56,7 @@ def _init_element_container(self, attribute, model, other, mapping, translation) return t - # def _parse_container_container(self, attribute, model, other, mapping, translation): + # def _translate_container_container(self, attribute, model, other, mapping, translation): # mapping["key_element"] = "container" # mapping["container"] = model._yang_name # return super()._init_element_container(attribute, model, other, mapping, translation) diff --git a/napalm_yang/translators/xml.py b/napalm_yang/translators/xml.py index aa00dde7..653b61b1 100644 --- a/napalm_yang/translators/xml.py +++ b/napalm_yang/translators/xml.py @@ -34,7 +34,7 @@ def _init_element_container(self, attribute, model, other, mapping, translation) return t - _parse_container_container = _init_element_container + _translate_container_container = _init_element_container def _default_element_container(self, mapping, translation, replacing): if not self.merge: @@ -57,7 +57,7 @@ def _default_element_container(self, mapping, translation, replacing): return t - def _parse_leaf_element(self, attribute, model, other, mapping, translation, force=False): + def _translate_leaf_element(self, attribute, model, other, mapping, translation, force=False): delete = False if not model._changed() and other and self.merge: delete = True From 48c5137fbcafde3f86e3e28bd9e88eb7c357cba5 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 19:50:24 +0200 Subject: [PATCH 053/153] Find translation point per rule as before --- napalm_yang/translator.py | 34 +++++-------------------- napalm_yang/translators/base.py | 44 ++++++++++++++++++++++----------- 2 files changed, 36 insertions(+), 42 deletions(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index d17f010d..284fa970 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -5,20 +5,6 @@ logger = logging.getLogger("napalm-yang") -def _find_translation_point(rules, bookmarks, translation): - for r in rules: - if "in" in r.keys(): - t = bookmarks - for p in r["in"].split("."): - try: - t = t[p] - except TypeError: - t = t[int(p)] - translation = t - break - return translation - - class Translator(object): def __init__(self, model, profile, @@ -72,9 +58,8 @@ def _translate_container(self, attribute, model, mapping, translation, other): rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, self.bookmarks) - translation_point = _find_translation_point(rule, self.bookmarks, translation) et = self.translator.translate_container(attribute, model, other, rule, - translation_point) + translation, self.bookmarks) if et is None: return @@ -123,12 +108,10 @@ def _translate_list(self, attribute, model, mapping, translation, other): translation_rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, element, self.bookmarks) - translation_point = _find_translation_point(translation_rule, self.bookmarks, - translation) - - self.translator.default_element(translation_rule, translation_point, replacing=True) + self.translator.default_element(translation_rule, translation, self.bookmarks, + replacing=True) et = self.translator.init_element(attribute, element, other_element, translation_rule, - translation_point) + translation, self.bookmarks) if et is None: logger.info("Skipping {} as not implemented or objects are equal".format(attribute)) @@ -155,15 +138,10 @@ def _translate_list(self, attribute, model, mapping, translation, other): translation_rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, element, self.bookmarks) - translation_point = _find_translation_point(translation_rule, self.bookmarks, - translation) - self.translator.default_element(translation_rule, translation_point) + self.translator.default_element(translation_rule, translation, self.bookmarks) def _translate_leaf(self, attribute, model, mapping, translation, other): rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, self.bookmarks) - translation_point = _find_translation_point(rule, self.bookmarks, - translation) - - self.translator.translate_leaf(attribute, model, other, rule, translation_point) + self.translator.translate_leaf(attribute, model, other, rule, translation, self.bookmarks) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index ecc682ff..37f445f4 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -1,38 +1,54 @@ +def _find_translation_point(rule, bookmarks, translation): + if "in" in rule.keys(): + t = bookmarks + for p in rule["in"].split("."): + try: + t = t[p] + except TypeError: + t = t[int(p)] + translation = t + return translation + + class BaseTranslator(object): def __init__(self, merge, replace): self.merge = merge self.replace = replace - def init_element(self, attribute, model, other, mapping, translation): + def init_element(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + t = _find_translation_point(m, bookmarks, translation) method_name = "_init_element_{}".format(m["mode"]) - t = getattr(self, method_name)(attribute, model, other, m, translation) - if t is False: + et = getattr(self, method_name)(attribute, model, other, m, t) + if et is False: # if it's False we want to return None to signal we want to abort return None - elif t is not None: - return t + elif et is not None: + return et - def default_element(self, mapping, translation, replacing=False): + def default_element(self, mapping, translation, bookmarks, replacing=False): for m in mapping: + t = _find_translation_point(m, bookmarks, translation) method_name = "_default_element_{}".format(m["mode"]) - getattr(self, method_name)(m, translation, replacing) + getattr(self, method_name)(m, t, replacing) - def translate_leaf(self, attribute, model, other, mapping, translation): + def translate_leaf(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + t = _find_translation_point(m, bookmarks, translation) method_name = "_translate_leaf_{}".format(m["mode"]) - getattr(self, method_name)(attribute, model, other, m, translation) + getattr(self, method_name)(attribute, model, other, m, t) - def translate_container(self, attribute, model, other, mapping, translation): + def translate_container(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + t = _find_translation_point(m, bookmarks, translation) method_name = "_translate_container_{}".format(m["mode"]) - t = getattr(self, method_name)(attribute, model, other, m, translation) - if t is False: + et = getattr(self, method_name)(attribute, model, other, m, t) + if et is False: # if it's False we want to return None to signal we want to abort return None - elif t is not None: - return t + elif et is not None: + return et def _translate_leaf_skip(self, attribute, model, other, mapping, translation): return translation From ead9ea8a943c640a69d19b433ba3994ca1ec4dfb Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 1 May 2017 19:58:59 +0200 Subject: [PATCH 054/153] Adapted network instances model to lists --- .../includes/bgp.yaml | 56 +++++++++---------- .../includes/static_routes.yaml | 16 +++--- .../network-instances.yaml | 34 +++++------ test/integration/test_profiles.py | 4 +- 4 files changed, 55 insertions(+), 55 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml index afb8c81b..dd0a74b9 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -1,6 +1,6 @@ --- _process: - mode: gate + - mode: gate when: "{{ protocol_key != 'bgp bgp' }}" global: _process: unnecessary @@ -255,18 +255,18 @@ global: state: _process: not_implemented config: - _process: not_implemented + _process: unnecessary as: _process: - mode: search - regexp: "local-as (?P.*)" - from: "{{ bookmarks['protocol'][protocol_key] }}" - default: "{{ extra_vars.process_id|default(1) }}" + - mode: search + regexp: "local-as (?P.*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + default: "{{ extra_vars.process_id|default(1) }}" router-id: _process: - mode: search - regexp: "router-id (?P.*)" - from: "{{ bookmarks['protocol'][protocol_key] }}" + - mode: search + regexp: "router-id (?P.*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" default-route-distance: _process: not_implemented config: @@ -355,10 +355,10 @@ neighbors: _process: unnecessary neighbor: _process: - mode: block - regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" - from: "{{ bookmarks['protocol'][protocol_key] }}" - flat: true + - mode: block + regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + flat: true add-paths: _process: not_implemented config: @@ -625,29 +625,29 @@ neighbors: _process: not_implemented description: _process: - mode: search - regexp: "neighbor {{ neighbor_key }} description (?P.*)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: search + regexp: "neighbor {{ neighbor_key }} description (?P.*)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" enabled: _process: - mode: is_absent - regexp: "neighbor {{ neighbor_key }} (?Pshutdown)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: is_absent + regexp: "neighbor {{ neighbor_key }} (?Pshutdown)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" local-as: _process: - mode: search - regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: search + regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" neighbor-address: _process: - mode: value - value: "{{ neighbor_key }}" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: value + value: "{{ neighbor_key }}" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" peer-as: _process: - mode: search - regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" + - mode: search + regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" + from: "{{ bookmarks['neighbor'][neighbor_key] }}" peer-group: _process: not_implemented peer-type: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 06d4492c..6145522c 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -1,7 +1,7 @@ --- _process: - mode: gate - when: "{{ protocol_key != 'static static' }}" + - mode: gate + when: "{{ protocol_key != 'static static' }}" static: _process: - mode: block @@ -18,8 +18,8 @@ static: _process: not_implemented prefix: _process: - mode: value - value: "{{ static_key }}" + - mode: value + value: "{{ static_key }}" set-tag: _process: not_implemented next-hops: @@ -35,12 +35,12 @@ static: _process: not_implemented metric: _process: - mode: value - value: "{{ extra_vars.metric }}" + - mode: value + value: "{{ extra_vars.metric }}" next-hop: _process: - mode: value - value: "{{ next_hop_key }}" + - mode: value + value: "{{ next_hop_key }}" recurse: _process: not_implemented index: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 088b11d4..93d852a4 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -10,25 +10,25 @@ network-instances: _process: unnecessary network-instance: _process: - mode: block - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" - from: "{{ bookmarks['network-instances'][0] }}" - mandatory: - - key: "global" - block: "" - extra_vars: {} + - mode: block + regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + mandatory: + - key: "global" + block: "" + extra_vars: {} afts: !include includes/afts.yaml config: _process: unnecessary description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.parent }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.parent }}" enabled: _process: - mode: value - value: true + - mode: value + value: true enabled-address-families: _process: not_implemented mtu: @@ -37,15 +37,15 @@ network-instances: _process: unnecessary route-distinguisher: _process: - mode: search - regexp: "rd (?P.*)" - from: "{{ bookmarks.parent }}" + - mode: search + regexp: "rd (?P.*)" + from: "{{ bookmarks.parent }}" router-id: _process: not_implemented type: _process: - mode: value - value: L3VRF + - mode: value + value: L3VRF connection-points: _process: not_implemented connection-point: diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index f2451646..03a2df51 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -33,7 +33,7 @@ def pretty_json(dictionary): test_config_profile_models = [ - # ["ios", napalm_yang.models.openconfig_interfaces, "default"], + ["ios", napalm_yang.models.openconfig_interfaces, "default"], ["eos", napalm_yang.models.openconfig_network_instance, "default"], ] @@ -70,7 +70,7 @@ def test_parse_config(self, profile, model, case): print(pretty_json(config.get(filter=True))) - # assert not napalm_yang.utils.diff(config, expected) + assert not napalm_yang.utils.diff(config, expected) @pytest.mark.parametrize("profile, model, case", test_config_profile_models) def test_translate(self, profile, model, case): From 4b18d32a6e05fb02cc75f71f2f24389bf9c667e4 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Fri, 5 May 2017 11:22:07 +0200 Subject: [PATCH 055/153] Propagate attribute name rather than yang_name --- napalm_yang/translator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 284fa970..ab534b2f 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -81,7 +81,7 @@ def _translate_container(self, attribute, model, mapping, translation, other): self.bookmarks, self.merge, self.replace, other_attr) translator.translate() else: - self._translate(v._yang_name, v, mapping[v._yang_name], et, other_attr) + self._translate(k, v, mapping[v._yang_name], et, other_attr) def _translate_list(self, attribute, model, mapping, translation, other): # Saving state to restore them later From 781fc4bc02785b1a39b50d9798425dd615d83070 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Fri, 5 May 2017 13:54:52 +0200 Subject: [PATCH 056/153] Minor fixes to the logic of the lists --- napalm_yang/translators/base.py | 34 ++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 37f445f4..a1434f0a 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -18,6 +18,11 @@ def __init__(self, merge, replace): def init_element(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + if m["mode"] == "skip": + continue + elif m["mode"] == "gate": + return + t = _find_translation_point(m, bookmarks, translation) method_name = "_init_element_{}".format(m["mode"]) et = getattr(self, method_name)(attribute, model, other, m, t) @@ -26,21 +31,37 @@ def init_element(self, attribute, model, other, mapping, translation, bookmarks) return None elif et is not None: return et + return translation def default_element(self, mapping, translation, bookmarks, replacing=False): for m in mapping: + if m["mode"] == "skip": + continue + elif m["mode"] == "gate": + return + t = _find_translation_point(m, bookmarks, translation) method_name = "_default_element_{}".format(m["mode"]) getattr(self, method_name)(m, t, replacing) def translate_leaf(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + if m["mode"] == "skip": + continue + elif m["mode"] == "gate": + return + t = _find_translation_point(m, bookmarks, translation) method_name = "_translate_leaf_{}".format(m["mode"]) getattr(self, method_name)(attribute, model, other, m, t) def translate_container(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: + if m["mode"] == "skip": + continue + elif m["mode"] == "gate": + return + t = _find_translation_point(m, bookmarks, translation) method_name = "_translate_container_{}".format(m["mode"]) et = getattr(self, method_name)(attribute, model, other, m, t) @@ -49,17 +70,4 @@ def translate_container(self, attribute, model, other, mapping, translation, boo return None elif et is not None: return et - - def _translate_leaf_skip(self, attribute, model, other, mapping, translation): return translation - - _init_element_skip = _translate_leaf_skip - _translate_leaf_gate = _translate_leaf_skip - - def _translate_container_gate(self, attribute, model, other, mapping, translation): - return None - - _translate_container_skip = _translate_leaf_skip - - def _default_element_skip(self, mapping, translation, replacing): - return None From 5a891ff4fdaf27437d45ca08ad569e970d53d135 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 12:49:56 +0200 Subject: [PATCH 057/153] We can now remove elements recursively in cases where the nesting of YANG model doesnt reflect the nesting in native configuration --- napalm_yang/translator.py | 59 +++++++++++++++++++++++---------- napalm_yang/translators/base.py | 4 ++- 2 files changed, 45 insertions(+), 18 deletions(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index ab534b2f..2cff8a9f 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -51,6 +51,11 @@ def _translate(self, attribute, model, mapping, translation, other): else: self._translate_leaf(attribute, model, mapping, translation, other) + def _translate_leaf(self, attribute, model, mapping, translation, other): + rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, + self.bookmarks) + self.translator.translate_leaf(attribute, model, other, rule, translation, self.bookmarks) + def _translate_container(self, attribute, model, mapping, translation, other): if model._yang_type: self.bookmarks["parent"] = translation @@ -128,20 +133,40 @@ def _translate_list(self, attribute, model, mapping, translation, other): if other: # Let's default elements not present in the model - for key in other: - element = other[key] - if key not in model.keys(): - key_name = "{}_key".format(attribute) - self.keys[key_name] = key - self.keys["parent_key"] = key - - translation_rule = helpers.resolve_rule(mapping["_process"], attribute, - self.keys, None, element, - self.bookmarks) - - self.translator.default_element(translation_rule, translation, self.bookmarks) - - def _translate_leaf(self, attribute, model, mapping, translation, other): - rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, - self.bookmarks) - self.translator.translate_leaf(attribute, model, other, rule, translation, self.bookmarks) + self._default_element_list(attribute, other, mapping, translation, model) + + def _default_element_list(self, attribute, running, mapping, translation, candidate): + for key in running: + logger.info("Defaulting {}: {}".format(attribute, key)) + element = running[key] + + candidate = candidate or {} + + if key not in candidate.keys(): + key_name = "{}_key".format(attribute) + self.keys[key_name] = key + self.keys["parent_key"] = key + + translation_rule = helpers.resolve_rule(mapping["_process"], attribute, + self.keys, None, element, + self.bookmarks) + + self.translator.default_element(translation_rule, translation, self.bookmarks, + recursive=candidate is {}) + + if any([t.get("continue_negating", False) for t in translation_rule]): + self._default_child(attribute, element, mapping, translation) + + def _default_child(self, attribute, running, mapping, translation): + logger.debug("Defaulting child attribute: {}".format(running._yang_path())) + + if running._is_container in ("container", ): + for k, v in running: + if not v._is_config or k == "state": + continue + elif v._defining_module != self._defining_module and v._defining_module is not None: + continue + else: + self._default_child(k, v, mapping[v._yang_name], translation) + elif running._yang_type in ("list", ): + self._default_element_list(attribute, running, mapping, translation, None) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index a1434f0a..531488e3 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -33,13 +33,15 @@ def init_element(self, attribute, model, other, mapping, translation, bookmarks) return et return translation - def default_element(self, mapping, translation, bookmarks, replacing=False): + def default_element(self, mapping, translation, bookmarks, replacing=False, recursive=False): for m in mapping: if m["mode"] == "skip": continue elif m["mode"] == "gate": return + if recursive and not m.get("negate_recursively", False): + continue t = _find_translation_point(m, bookmarks, translation) method_name = "_default_element_{}".format(m["mode"]) getattr(self, method_name)(m, t, replacing) From 3fe372f2d8f98ca331de66d9798dd92da36fc5ba Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 12:50:18 +0200 Subject: [PATCH 058/153] Added network-instance parser/translator for EOS --- .../includes/afts.yaml | 55 + .../includes/bgp.yaml | 1169 +++++++++++++++++ .../includes/connection_points.yaml | 48 + .../includes/isis.yaml | 508 +++++++ .../includes/mpls.yaml | 585 +++++++++ .../includes/ospfv2.yaml | 224 ++++ .../includes/segment_routing.yaml | 38 + .../includes/static_routes.yaml | 63 + .../network-instances.yaml | 380 ++++++ 9 files changed, 3070 insertions(+) create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/afts.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/connection_points.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/isis.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/mpls.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/ospfv2.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/segment_routing.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/afts.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/afts.yaml new file mode 100644 index 00000000..86a8b9f7 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/afts.yaml @@ -0,0 +1,55 @@ +--- +_process: not_implemented +aft: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + match: + _process: not_implemented + interface-ref: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + next-hops: + _process: not_implemented + next-hop: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml new file mode 100644 index 00000000..8ddd1bf0 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml @@ -0,0 +1,1169 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" +global: + _process: unnecessary + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + confederation: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + member-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + as: + _process: unnecessary + router-id: + _process: + - mode: element + value: " router-id {{ model }}\n" + negate: " default router-id\n" + default-route-distance: + _process: not_implemented + config: + _process: not_implemented + external-route-distance: + _process: not_implemented + internal-route-distance: + _process: not_implemented + state: + _process: not_implemented + dynamic-neighbor-prefixes: + _process: not_implemented + dynamic-neighbor-prefix: + _process: not_implemented + config: + _process: not_implemented + peer-group: + _process: not_implemented + prefix: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +neighbors: + _process: unnecessary + neighbor: + _process: + - mode: container + key_value: " neighbor {{ neighbor_key }} remote-as {{ model.config.peer_as }}\n" + negate: " no neighbor {{ neighbor_key }}\n" + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + auth-password: + _process: not_implemented + description: + _process: + - mode: element + value: " neighbor {{ neighbor_key }} description {{ model }}\n" + negate: " default neighbor {{ neighbor_key }} description\n" + enabled: + _process: + - mode: element + value: " neighbor {{ neighbor_key }} shutdown\n" + negate: " default neighbor {{ neighbor_key }}\n" + when: "{{ not model }}" + local-as: + _process: + - mode: element + value: " neighbor {{ neighbor_key }} local-as {{ model }} no-prepend replace-as\n" + negate: " default neighbor {{ neighbor_key }} local-as\n" + neighbor-address: + _process: unnecessary + peer-as: + _process: unnecessary + peer-group: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + neighbor-address: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +peer-groups: + _process: not_implemented + peer-group: + _process: not_implemented + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + description: + _process: not_implemented + local-as: + _process: not_implemented + peer-as: + _process: not_implemented + peer-group-name: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + peer-group-name: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/connection_points.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/connection_points.yaml new file mode 100644 index 00000000..e4034df4 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/connection_points.yaml @@ -0,0 +1,48 @@ +--- +_process: not_implemented +connection-point: + _process: not_implemented + config: + _process: not_implemented + connection-point-id: + _process: not_implemented + connection-point-id: + _process: not_implemented + endpoints: + _process: not_implemented + endpoint: + _process: not_implemented + config: + _process: not_implemented + endpoint-id: + _process: not_implemented + precedence: + _process: not_implemented + type: + _process: not_implemented + endpoint-id: + _process: not_implemented + local: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + remote: + _process: not_implemented + config: + _process: not_implemented + remote-system: + _process: not_implemented + virtual-circuit-identifier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/isis.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/isis.yaml new file mode 100644 index 00000000..463623fd --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/isis.yaml @@ -0,0 +1,508 @@ +--- +_process: not_implemented +global: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + multi-topology: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + fast-flooding: + _process: not_implemented + iid-tlv: + _process: not_implemented + instance: + _process: not_implemented + level-capability: + _process: not_implemented + max-ecmp-paths: + _process: not_implemented + maximum-area-addresses: + _process: not_implemented + net: + _process: not_implemented + poi-tlv: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + afi: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + nh-type: + _process: not_implemented + state: + _process: not_implemented + inter-level-propagation-policies: + _process: not_implemented + level1-to-level2: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + level2-to-level1: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + lsp-bit: + _process: not_implemented + attached-bit: + _process: not_implemented + config: + _process: not_implemented + ignore-bit: + _process: not_implemented + suppress-bit: + _process: not_implemented + state: + _process: not_implemented + overload-bit: + _process: not_implemented + config: + _process: not_implemented + advertise-high-metric: + _process: not_implemented + set-bit: + _process: not_implemented + set-bit-on-boot: + _process: not_implemented + reset-triggers: + _process: not_implemented + reset-trigger: + _process: not_implemented + config: + _process: not_implemented + delay: + _process: not_implemented + reset-trigger: + _process: not_implemented + reset-trigger: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + nsr: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + config: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + state: + _process: not_implemented + segment-routing: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + srgb: + _process: not_implemented + srlb: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + lsp-lifetime-interval: + _process: not_implemented + lsp-refresh-interval: + _process: not_implemented + lsp-generation: + _process: not_implemented + config: + _process: not_implemented + lsp-first-wait-interval: + _process: not_implemented + lsp-max-wait-interval: + _process: not_implemented + lsp-second-wait-interval: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + spf-first-interval: + _process: not_implemented + spf-hold-interval: + _process: not_implemented + spf-second-interval: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + lsp-mtu-size: + _process: not_implemented + state: + _process: not_implemented +interfaces: + _process: not_implemented + interface: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + bfd: + _process: not_implemented + config: + _process: not_implemented + bfd-tlv: + _process: not_implemented + state: + _process: not_implemented + circuit-counters: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + circuit-type: + _process: not_implemented + enabled: + _process: not_implemented + hello-padding: + _process: not_implemented + interface-id: + _process: not_implemented + passive: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + levels: + _process: not_implemented + level: + _process: not_implemented + adjacencies: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + segment-routing: + _process: not_implemented + adjacency-sids: + _process: not_implemented + adjacency-sid: + _process: not_implemented + config: + _process: not_implemented + group: + _process: not_implemented + neighbor: + _process: not_implemented + protection-eligible: + _process: not_implemented + sid-id: + _process: not_implemented + neighbor: + _process: not_implemented + sid-id: + _process: not_implemented + state: + _process: not_implemented + prefix-sids: + _process: not_implemented + prefix-sid: + _process: not_implemented + config: + _process: not_implemented + label-options: + _process: not_implemented + prefix: + _process: not_implemented + sid-id: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + hello-authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + level-number: + _process: not_implemented + packet-counters: + _process: not_implemented + cnsp: + _process: not_implemented + state: + _process: not_implemented + esh: + _process: not_implemented + state: + _process: not_implemented + iih: + _process: not_implemented + state: + _process: not_implemented + ish: + _process: not_implemented + state: + _process: not_implemented + lsp: + _process: not_implemented + state: + _process: not_implemented + psnp: + _process: not_implemented + state: + _process: not_implemented + unknown: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + hello-multiplier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + csnp-interval: + _process: not_implemented + lsp-pacing-interval: + _process: not_implemented + state: + _process: not_implemented +levels: + _process: not_implemented + level: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + csnp-authentication: + _process: not_implemented + lsp-authentication: + _process: not_implemented + psnp-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + metric-style: + _process: not_implemented + level-number: + _process: not_implemented + link-state-database: + _process: not_implemented + route-preference: + _process: not_implemented + config: + _process: not_implemented + external-route-preference: + _process: not_implemented + internal-route-preference: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + system-level-counters: + _process: not_implemented + state: + _process: not_implemented + traffic-engineering: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ipv4-router-id: + _process: not_implemented + ipv6-router-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/mpls.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/mpls.yaml new file mode 100644 index 00000000..2922a092 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/mpls.yaml @@ -0,0 +1,585 @@ +--- +_process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + null-label: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + mpls-enabled: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + reserved-label-blocks: + _process: not_implemented + reserved-label-block: + _process: not_implemented + config: + _process: not_implemented + local-id: + _process: not_implemented + lower-bound: + _process: not_implemented + upper-bound: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +lsps: + _process: not_implemented + constrained-path: + _process: not_implemented + named-explicit-paths: + _process: not_implemented + named-explicit-path: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + sid-protection-required: + _process: not_implemented + sid-selection-mode: + _process: not_implemented + explicit-route-objects: + _process: not_implemented + explicit-route-object: + _process: not_implemented + config: + _process: not_implemented + address: + _process: not_implemented + hop-type: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + tunnels: + _process: not_implemented + tunnel: + _process: not_implemented + bandwidth: + _process: not_implemented + auto-bandwidth: + _process: not_implemented + config: + _process: not_implemented + adjust-interval: + _process: not_implemented + adjust-threshold: + _process: not_implemented + enabled: + _process: not_implemented + max-bw: + _process: not_implemented + min-bw: + _process: not_implemented + overflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + overflow-threshold: + _process: not_implemented + trigger-event-count: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + underflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + trigger-event-count: + _process: not_implemented + underflow-threshold: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + set-bandwidth: + _process: not_implemented + specification-type: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + admin-status: + _process: not_implemented + description: + _process: not_implemented + hold-priority: + _process: not_implemented + metric: + _process: not_implemented + metric-type: + _process: not_implemented + name: + _process: not_implemented + preference: + _process: not_implemented + protection-style-requested: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + shortcut-eligible: + _process: not_implemented + signaling-protocol: + _process: not_implemented + soft-preemption: + _process: not_implemented + source: + _process: not_implemented + type: + _process: not_implemented + name: + _process: not_implemented + p2p-tunnel-attributes: + _process: not_implemented + config: + _process: not_implemented + destination: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + candidate-secondary-paths: + _process: not_implemented + candidate-secondary-path: + _process: not_implemented + config: + _process: not_implemented + priority: + _process: not_implemented + secondary-path: + _process: not_implemented + secondary-path: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + p2p-secondary-paths: + _process: not_implemented + p2p-secondary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + static-lsps: + _process: not_implemented + static-lsp: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + egress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + ingress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + transit: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + unconstrained-path: + _process: not_implemented + path-setup-protocol: + _process: not_implemented +signaling-protocols: + _process: not_implemented + rsvp-te: + _process: not_implemented + global: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + recovery-time: + _process: not_implemented + restart-time: + _process: not_implemented + state: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + soft-preemption: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + soft-preemption-timeout: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + authentication-key: + _process: not_implemented + enable: + _process: not_implemented + state: + _process: not_implemented + bandwidth-reservations: + _process: not_implemented + bandwidth-reservation: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + protection: + _process: not_implemented + config: + _process: not_implemented + bypass-optimize-interval: + _process: not_implemented + link-protection-style-requested: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + subscription: + _process: not_implemented + config: + _process: not_implemented + subscription: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + sessions: + _process: not_implemented + session: + _process: not_implemented + segment-routing: + _process: not_implemented + aggregate-sid-counters: + _process: not_implemented + aggregate-sid-counter: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + sid-counters: + _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented +te-global-attributes: + _process: not_implemented + mpls-admin-groups: + _process: not_implemented + admin-group: + _process: not_implemented + admin-group-name: + _process: not_implemented + config: + _process: not_implemented + admin-group-name: + _process: not_implemented + bit-position: + _process: not_implemented + state: + _process: not_implemented + srlgs: + _process: not_implemented + srlg: + _process: not_implemented + config: + _process: not_implemented + cost: + _process: not_implemented + flooding-type: + _process: not_implemented + name: + _process: not_implemented + value: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + static-srlg-members: + _process: not_implemented + members-list: + _process: not_implemented + config: + _process: not_implemented + from-address: + _process: not_implemented + to-address: + _process: not_implemented + from-address: + _process: not_implemented + state: + _process: not_implemented + te-lsp-timers: + _process: not_implemented + config: + _process: not_implemented + cleanup-delay: + _process: not_implemented + install-delay: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + state: + _process: not_implemented +te-interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + admin-group: + _process: not_implemented + interface-id: + _process: not_implemented + srlg-membership: + _process: not_implemented + te-metric: + _process: not_implemented + igp-flooding-bandwidth: + _process: not_implemented + config: + _process: not_implemented + delta-percentage: + _process: not_implemented + down-thresholds: + _process: not_implemented + threshold-specification: + _process: not_implemented + threshold-type: + _process: not_implemented + up-down-thresholds: + _process: not_implemented + up-thresholds: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/ospfv2.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/ospfv2.yaml new file mode 100644 index 00000000..adf0afef --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/ospfv2.yaml @@ -0,0 +1,224 @@ +--- +_process: not_implemented +areas: + _process: not_implemented + area: + _process: not_implemented + config: + _process: not_implemented + identifier: + _process: not_implemented + identifier: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + authentication-type: + _process: not_implemented + hide-network: + _process: not_implemented + id: + _process: not_implemented + metric: + _process: not_implemented + multi-area-adjacency-primary: + _process: not_implemented + network-type: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + lsa-filter: + _process: not_implemented + config: + _process: not_implemented + all: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-metric: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + config: + _process: not_implemented + metric: + _process: not_implemented + router-id: + _process: not_implemented + router-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + dead-interval: + _process: not_implemented + hello-interval: + _process: not_implemented + retransmission-interval: + _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-enabled: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + virtual-links: + _process: not_implemented + virtual-link: + _process: not_implemented + config: + _process: not_implemented + remote-router-id: + _process: not_implemented + remote-router-id: + _process: not_implemented + state: + _process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + hide-transit-only-networks: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + log-adjacency-changes: + _process: not_implemented + router-id: + _process: not_implemented + summary-route-cost-mode: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + inter-area-propagation-policies: + _process: not_implemented + inter-area-propagation-policy: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-area: + _process: not_implemented + import-policy: + _process: not_implemented + src-area: + _process: not_implemented + dst-area: + _process: not_implemented + src-area: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-extensions: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + lsa-generation: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented + max-metric: + _process: not_implemented + config: + _process: not_implemented + include: + _process: not_implemented + set: + _process: not_implemented + timeout: + _process: not_implemented + trigger: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/segment_routing.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/segment_routing.yaml new file mode 100644 index 00000000..58593331 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/segment_routing.yaml @@ -0,0 +1,38 @@ +--- +_process: not_implemented +srgbs: + _process: not_implemented + srgb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefixes: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-blocks: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented +srlbs: + _process: not_implemented + srlb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefix: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-block: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml new file mode 100644 index 00000000..c92de95a --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml @@ -0,0 +1,63 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'static static' }}" +static: + _process: unnecessary + config: + _process: unnecessary + prefix: + _process: unnecessary + set-tag: + _process: not_implemented + next-hops: + _process: unnecessary + next-hop: + _process: + - mode: container + key_value: "ip route {{ static_key }} {{ next_hop_key }}\n" + negate: "no ip route {{ static_key }} {{ next_hop_key }}\n" + when: "{{ network_instance_key == 'global' }}" + in: "network-instances" + - mode: container + key_value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }}\n" + negate: "no ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }}\n" + when: "{{ network_instance_key != 'global' }}" + in: "network-instances" + config: + _process: unnecessary + index: + _process: not_implemented + metric: + _process: + - mode: element + value: "ip route {{ static_key }} {{ next_hop_key }} {{ model }}\n" + negate: "ip route {{ static_key }} {{ next_hop_key }} 1\n" + when: "{{ network_instance_key == 'global' }}" + - mode: element + value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }} {{ model }}\n" + negate: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }} 1\n" + when: "{{ network_instance_key != 'global' }}" + next-hop: + _process: unnecessary + recurse: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml new file mode 100644 index 00000000..5f9f8564 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml @@ -0,0 +1,380 @@ +--- +metadata: + processor: TextTranslator + root: true + +network-instances: + _process: unnecessary + network-instance: + _process: + - mode: container + key_value: "vrf definition {{ network_instance_key }}\n" + negate: "no vrf definition {{ network_instance_key }}\n" + continue_negating: true + end: " exit\n" + when: "{{ network_instance_key != 'global' }}" + afts: !include includes/afts.yaml + config: + _process: unnecessary + description: + _process: + - mode: element + value: " description {{ model }}\n" + negate: " default description\n" + enabled: + _process: unnecessary + enabled-address-families: + _process: not_implemented + mtu: + _process: not_implemented + name: + _process: unnecessary + route-distinguisher: + _process: + - mode: element + value: " rd {{ model }}\n" + negate: " default rd\n" + router-id: + _process: not_implemented + type: + _process: unnecessary + connection-points: !include includes/connection_points.yaml + encapsulation: + _process: not_implemented + config: + _process: not_implemented + control-word: + _process: not_implemented + encapsulation-type: + _process: not_implemented + label-allocation-mode: + _process: not_implemented + state: + _process: not_implemented + fdb: + _process: not_implemented + config: + _process: not_implemented + mac-aging-time: + _process: not_implemented + mac-learning: + _process: not_implemented + maximum-entries: + _process: not_implemented + mac-table: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + mac-address: + _process: not_implemented + vlan: + _process: not_implemented + interface: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + mac-address: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + inter-instance-policies: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + associated-address-families: + _process: not_implemented + id: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + id: + _process: not_implemented + state: + _process: not_implemented + mpls: !include includes/mpls.yaml + name: + _process: unnecessary + policy-forwarding: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + apply-forwarding-policy: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + path-selection-groups: + _process: not_implemented + path-selection-group: + _process: not_implemented + config: + _process: not_implemented + group-id: + _process: not_implemented + mpls-lsp: + _process: not_implemented + group-id: + _process: not_implemented + state: + _process: not_implemented + policies: + _process: not_implemented + policy: + _process: not_implemented + config: + _process: not_implemented + policy-id: + _process: not_implemented + policy-id: + _process: not_implemented + rules: + _process: not_implemented + rule: + _process: not_implemented + action: + _process: not_implemented + config: + _process: not_implemented + decapsulate-gre: + _process: not_implemented + discard: + _process: not_implemented + network-instance: + _process: not_implemented + next-hop: + _process: not_implemented + path-selection-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + sequence-id: + _process: not_implemented + ip: + _process: not_implemented + config: + _process: not_implemented + destination-ip-address: + _process: not_implemented + destination-ip-flow-label: + _process: not_implemented + dscp: + _process: not_implemented + hop-limit: + _process: not_implemented + ip-version: + _process: not_implemented + protocol: + _process: not_implemented + source-ip-address: + _process: not_implemented + source-ip-flow-label: + _process: not_implemented + state: + _process: not_implemented + l2: + _process: not_implemented + config: + _process: not_implemented + destination-mac: + _process: not_implemented + destination-mac-mask: + _process: not_implemented + ethertype: + _process: not_implemented + source-mac: + _process: not_implemented + source-mac-mask: + _process: not_implemented + state: + _process: not_implemented + sequence-id: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + destination-port: + _process: not_implemented + source-port: + _process: not_implemented + tcp-flags: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + protocols: + _process: unnecessary + protocol: + _process: + - mode: container + key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n" + negate: "no router bgp {{ model.bgp.global_.config.as_ }}\n" + negate_recursively: true + end: " exit\n" + when: "{{ protocol_key == 'bgp bgp' and network_instance_key == 'global' }}" + in: "network-instances" + - mode: container + key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n vrf {{ network_instance_key}}\n" + negate: "router bgp {{ model.bgp.global_.config.as_ }}\n no vrf {{ network_instance_key}}\n" + negate_recursively: true + end: " exit\n" + when: "{{ protocol_key == 'bgp bgp' and network_instance_key != 'global' }}" + replace: false + in: "network-instances" + bgp: !include includes/bgp.yaml + config: + _process: not_implemented + default-metric: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + name: + _process: not_implemented + identifier: + _process: unnecessary + isis: !include includes/isis.yaml + local-aggregates: + _process: not_implemented + aggregate: + _process: not_implemented + config: + _process: not_implemented + discard: + _process: not_implemented + prefix: + _process: not_implemented + set-tag: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + name: + _process: unnecessary + ospfv2: !include includes/ospfv2.yaml + state: + _process: not_implemented + static-routes: !include includes/static_routes.yaml + segment-routing: !include includes/segment_routing.yaml + state: + _process: not_implemented + table-connections: + _process: not_implemented + table-connection: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-protocol: + _process: not_implemented + import-policy: + _process: not_implemented + src-protocol: + _process: not_implemented + dst-protocol: + _process: not_implemented + src-protocol: + _process: not_implemented + state: + _process: not_implemented + tables: + _process: not_implemented + table: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + protocol: + _process: not_implemented + protocol: + _process: not_implemented + state: + _process: not_implemented + vlans: + _process: not_implemented + vlan: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + status: + _process: not_implemented + tpid: + _process: not_implemented + vlan-id: + _process: not_implemented + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented From 792e2a69bb34acb5d421a357e441195cd0da7b5d Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 13:22:40 +0200 Subject: [PATCH 059/153] Added tests for network-instance/eos --- .../default/candidate.json | 208 +++++++++++++++++ .../default/config.txt | 2 +- .../default/expected.json | 220 +++++++++++++++++- .../default/merge.txt | 23 ++ .../default/replace.txt | 45 ++++ .../default/translation.txt | 36 +++ test/integration/test_profiles.py | 2 +- 7 files changed, 533 insertions(+), 3 deletions(-) create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt create mode 100644 test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json b/test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json new file mode 100644 index 00000000..736f3e89 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json @@ -0,0 +1,208 @@ +{ + "network_instances": { + "network-instance": { + "devel": { + "config": { + "enabled": true, + "route-distinguisher": "1:2", + "type": "L3VRF" + }, + "name": "devel", + "protocols": { + "protocol": { + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "global": { + "config": { + "enabled": true, + "type": "L3VRF" + }, + "name": "global", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "1.1.1.1" + } + }, + "neighbors": { + "neighbor": { + "192.168.0.200": { + "config": { + "description": "asdasd qweq asdasd", + "enabled": true, + "neighbor-address": "192.168.0.200", + "peer-as": 65100 + }, + "neighbor-address": "192.168.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + }, + "192.168.0.3": { + "config": { + "metric": 1, + "next-hop": "192.168.0.3" + }, + "index": "192.168.0.3" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "frontend": { + "config": { + "description": "Production VRF", + "enabled": true, + "route-distinguisher": "1:1", + "type": "L3VRF" + }, + "name": "frontend", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "2.2.2.2" + } + }, + "neighbors": { + "neighbor": { + "172.20.0.200": { + "config": { + "enabled": true, + "local-as": 100, + "neighbor-address": "172.20.0.200", + "peer-as": 65100 + }, + "neighbor-address": "172.20.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + } + } + } +} + diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt index 52cc0e1e..d1d09b83 100755 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt @@ -1206,7 +1206,7 @@ ip virtual-router mac-address advertisement-interval 30 ! no ipv6 hardware fib nexthop-index ! -ip route 10.0.0.0/24 192.168.0.2 1 tag 0 +ip route 10.0.0.0/24 192.168.0.2 10 tag 0 ip route 10.0.0.0/24 192.168.0.3 1 tag 0 ip route 10.0.1.0/24 192.168.0.2 1 tag 0 ip route vrf prod 10.0.0.0/24 172.20.0.2 1 tag 0 diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json index 0967ef42..40d42873 100644 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json @@ -1 +1,219 @@ -{} +{ + "network_instances": { + "network-instance": { + "devel": { + "config": { + "enabled": true, + "route-distinguisher": "1:2", + "type": "L3VRF" + }, + "name": "devel", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "3.3.3.3" + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "global": { + "config": { + "enabled": true, + "type": "L3VRF" + }, + "name": "global", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "1.1.1.1" + } + }, + "neighbors": { + "neighbor": { + "192.168.0.200": { + "config": { + "description": "asdasd qweq asdasd", + "enabled": true, + "neighbor-address": "192.168.0.200", + "peer-as": 65100 + }, + "neighbor-address": "192.168.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 10, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + }, + "192.168.0.3": { + "config": { + "metric": 1, + "next-hop": "192.168.0.3" + }, + "index": "192.168.0.3" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "prod": { + "config": { + "description": "Production VRF", + "enabled": true, + "route-distinguisher": "1:1", + "type": "L3VRF" + }, + "name": "prod", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "2.2.2.2" + } + }, + "neighbors": { + "neighbor": { + "172.20.0.200": { + "config": { + "enabled": true, + "local-as": 100, + "neighbor-address": "172.20.0.200", + "peer-as": 65100 + }, + "neighbor-address": "172.20.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + } + } + } +} diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt new file mode 100644 index 00000000..a92907a2 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt @@ -0,0 +1,23 @@ +ip route 10.0.0.0/24 192.168.0.2 +ip route 10.0.0.0/24 192.168.0.2 1 +vrf definition frontend + rd 1:1 + description Production VRF + exit +router bgp 65001 + vrf frontend + neighbor 172.20.0.200 remote-as 65100 + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + router-id 2.2.2.2 + exit +ip route vrf frontend 10.0.0.0/24 172.20.0.2 +ip route vrf frontend 10.0.0.0/24 172.20.0.2 1 +ip route vrf frontend 10.0.1.0/24 172.20.0.2 +ip route vrf frontend 10.0.1.0/24 172.20.0.2 1 +vrf definition devel + exit +router bgp 65001 + no vrf devel +no vrf definition prod +router bgp 65001 + no vrf prod diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt new file mode 100644 index 00000000..5583cdfa --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt @@ -0,0 +1,45 @@ +no router bgp 65001 +router bgp 65001 + no neighbor 192.168.0.200 + neighbor 192.168.0.200 remote-as 65100 + neighbor 192.168.0.200 description asdasd qweq asdasd + router-id 1.1.1.1 + exit +no ip route 10.0.0.0/24 192.168.0.2 +ip route 10.0.0.0/24 192.168.0.2 +ip route 10.0.0.0/24 192.168.0.2 1 +no ip route 10.0.0.0/24 192.168.0.3 +ip route 10.0.0.0/24 192.168.0.3 +ip route 10.0.0.0/24 192.168.0.3 1 +no ip route 10.0.1.0/24 192.168.0.2 +ip route 10.0.1.0/24 192.168.0.2 +ip route 10.0.1.0/24 192.168.0.2 1 +no vrf definition frontend +vrf definition frontend + rd 1:1 + description Production VRF + exit +router bgp 65001 + vrf frontend + no neighbor 172.20.0.200 + neighbor 172.20.0.200 remote-as 65100 + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + router-id 2.2.2.2 + exit +no ip route vrf frontend 10.0.0.0/24 172.20.0.2 +ip route vrf frontend 10.0.0.0/24 172.20.0.2 +ip route vrf frontend 10.0.0.0/24 172.20.0.2 1 +no ip route vrf frontend 10.0.1.0/24 172.20.0.2 +ip route vrf frontend 10.0.1.0/24 172.20.0.2 +ip route vrf frontend 10.0.1.0/24 172.20.0.2 1 +no vrf definition devel +vrf definition devel + rd 1:2 + exit +no ip route vrf devel 10.0.0.0/24 192.168.2.2 +ip route vrf devel 10.0.0.0/24 192.168.2.2 +ip route vrf devel 10.0.0.0/24 192.168.2.2 1 +no ip route vrf devel 10.0.1.0/24 192.168.2.2 +ip route vrf devel 10.0.1.0/24 192.168.2.2 +ip route vrf devel 10.0.1.0/24 192.168.2.2 1 +no vrf definition prod diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt new file mode 100644 index 00000000..1b0bac91 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt @@ -0,0 +1,36 @@ +router bgp 65001 + neighbor 192.168.0.200 remote-as 65100 + neighbor 192.168.0.200 description asdasd qweq asdasd + router-id 1.1.1.1 + exit +ip route 10.0.0.0/24 192.168.0.2 +ip route 10.0.0.0/24 192.168.0.2 10 +ip route 10.0.0.0/24 192.168.0.3 +ip route 10.0.0.0/24 192.168.0.3 1 +ip route 10.0.1.0/24 192.168.0.2 +ip route 10.0.1.0/24 192.168.0.2 1 +vrf definition prod + rd 1:1 + description Production VRF + exit +router bgp 65001 + vrf prod + neighbor 172.20.0.200 remote-as 65100 + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + router-id 2.2.2.2 + exit +ip route vrf prod 10.0.0.0/24 172.20.0.2 +ip route vrf prod 10.0.0.0/24 172.20.0.2 1 +ip route vrf prod 10.0.1.0/24 172.20.0.2 +ip route vrf prod 10.0.1.0/24 172.20.0.2 1 +vrf definition devel + rd 1:2 + exit +router bgp 65001 + vrf devel + router-id 3.3.3.3 + exit +ip route vrf devel 10.0.0.0/24 192.168.2.2 +ip route vrf devel 10.0.0.0/24 192.168.2.2 1 +ip route vrf devel 10.0.1.0/24 192.168.2.2 +ip route vrf devel 10.0.1.0/24 192.168.2.2 1 diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 03a2df51..57321fcc 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -68,7 +68,7 @@ def test_parse_config(self, profile, model, case): expected.add_model(model) expected.load_dict(expected_json) - print(pretty_json(config.get(filter=True))) + # print(pretty_json(config.get(filter=True))) assert not napalm_yang.utils.diff(config, expected) From 0875698bd16aab43fd26b7dc1c17b63023265940 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 18:48:20 +0200 Subject: [PATCH 060/153] Minor fix to network-instance/eos --- .../includes/static_routes.yaml | 2 +- .../network-instances.yaml | 38 ++++++++++--------- .../default/expected.json | 20 +++++++++- 3 files changed, 41 insertions(+), 19 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 6145522c..68dd311d 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -15,7 +15,7 @@ static: when: "{{ network_instance_key != 'global' }}" flat: true config: - _process: not_implemented + _process: unnecessary prefix: _process: - mode: value diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 93d852a4..e5e7afce 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -10,25 +10,25 @@ network-instances: _process: unnecessary network-instance: _process: - - mode: block - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" - from: "{{ bookmarks['network-instances'][0] }}" - mandatory: - - key: "global" - block: "" - extra_vars: {} + - mode: block + regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + mandatory: + - key: "global" + block: "" + extra_vars: {} afts: !include includes/afts.yaml config: _process: unnecessary description: _process: - - mode: search - regexp: "description (?P.*)" - from: "{{ bookmarks.parent }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ bookmarks.parent }}" enabled: _process: - - mode: value - value: true + - mode: value + value: true enabled-address-families: _process: not_implemented mtu: @@ -37,15 +37,19 @@ network-instances: _process: unnecessary route-distinguisher: _process: - - mode: search - regexp: "rd (?P.*)" - from: "{{ bookmarks.parent }}" + - mode: search + regexp: "rd (?P.*)" + from: "{{ bookmarks.parent }}" router-id: _process: not_implemented type: _process: - - mode: value - value: L3VRF + - mode: value + value: DEFAULT_INSTANCE + when: "{{ network_instance_key == 'global' }}" + - mode: value + value: L3VRF + when: "{{ network_instance_key != 'global' }}" connection-points: _process: not_implemented connection-point: diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json index 40d42873..b6d7e08e 100644 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json @@ -28,6 +28,9 @@ "static-routes": { "static": { "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, "next-hops": { "next-hop": { "192.168.2.2": { @@ -42,6 +45,9 @@ "prefix": "10.0.0.0/24" }, "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, "next-hops": { "next-hop": { "192.168.2.2": { @@ -64,7 +70,7 @@ "global": { "config": { "enabled": true, - "type": "L3VRF" + "type": "DEFAULT_INSTANCE" }, "name": "global", "protocols": { @@ -100,6 +106,9 @@ "static-routes": { "static": { "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, "next-hops": { "next-hop": { "192.168.0.2": { @@ -121,6 +130,9 @@ "prefix": "10.0.0.0/24" }, "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, "next-hops": { "next-hop": { "192.168.0.2": { @@ -181,6 +193,9 @@ "static-routes": { "static": { "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, "next-hops": { "next-hop": { "172.20.0.2": { @@ -195,6 +210,9 @@ "prefix": "10.0.0.0/24" }, "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, "next-hops": { "next-hop": { "172.20.0.2": { From 0afabe2922de16acb08d165c329582d86b48180b Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 20:42:49 +0200 Subject: [PATCH 061/153] Various improvement to xml parser --- napalm_yang/parsers/xml.py | 116 ++++++++++++++++++++++++++++++++++++- 1 file changed, 113 insertions(+), 3 deletions(-) diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index 2784fd46..aa04f6d2 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -1,4 +1,7 @@ from lxml import etree + +import itertools + import re from napalm_yang.parsers.base import BaseParser @@ -10,9 +13,116 @@ class XMLParser(BaseParser): def _parse_list_xpath(cls, mapping): xml = etree.fromstring(mapping["from"]) - for element in xml.xpath(mapping["xpath"]): - key = element.xpath("name")[0].text.strip() - yield key, etree.tostring(element), {} + mandatory_elements = mapping.pop("mandatory", []) + + for element in itertools.chain(xml.xpath(mapping["xpath"]), mandatory_elements): + if isinstance(element, dict): + yield element["key"], element["block"], element["extra_vars"] + else: + key = element.xpath(mapping["key"])[0].text.strip() + yield key, etree.tostring(element), {} + + @classmethod + def _parse_list_nested(cls, mapping): + xml = etree.fromstring(mapping["from"]) + path = mapping["xpath"].split("/") + iterators = [] + list_vars = [] + cls._parse_list_nested_recursive(xml, path, iterators, list_vars) + return cls._parse_list_container_helper(mapping, iterators, xml, list_vars) + + @classmethod + def _parse_list_nested_recursive(cls, xml, path, iterators, list_vars, cur_vars=None): + """ + This helps parsing shit like: + + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + 192.168.100.3 + 65100 + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + + + """ + cur_vars = dict(cur_vars) if cur_vars else {} + if path: + p = path[0] + path = path[1:] + else: + for _ in xml: + list_vars.append(cur_vars) + iterators.append(xml) + return xml + + if p.startswith("?"): + for x in xml: + key, var_path = p.split(".") + cur_vars.update({key.lstrip("?"): x.xpath(var_path)[0].text}) + cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) + else: + x = xml.xpath(p) + cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) + + @classmethod + def _parse_list_container_helper(cls, mapping, iterators, root, list_vars=None): + mandatory_elements = mapping.pop("mandatory", []) + + iterators = itertools.chain.from_iterable(iterators) + + for element in itertools.chain(iterators, mandatory_elements): + if isinstance(element, dict): + yield element["key"], element["block"], element["extra_vars"] + else: + key_name = "{}_name".format(root.tag if mapping.get("nested", False) + else root[0].tag) + extra_vars = { + key_name: element.tag + } + + if list_vars: + extra_vars.update(list_vars.pop(0)) + + composite_key = mapping.get("composite_key", None) + forced_key = mapping.get("key", None) + key_attribute = mapping.get("key_attribute", None) + + if composite_key: + key = " ".join([extra_vars[k] for k in composite_key]) + elif forced_key: + key = forced_key + elif key_attribute: + key = element.xpath(key_attribute)[0].text.strip() + else: + key = element.tag + + yield key, etree.tostring(element), extra_vars + + @classmethod + def _parse_list_container(cls, mapping): + xml = etree.fromstring(mapping["from"]) + xml = xml.xpath(mapping["xpath"]) + + nested = mapping.get("nested", False) + root = xml[0] if nested and len(xml) else xml + + return cls._parse_list_container_helper(mapping, [root], root) @classmethod def _parse_leaf_xpath(cls, mapping, check_default=True, check_presence=False): From f51f4983411806219853f0ba320c3cd2bd53afdd Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 20:43:08 +0200 Subject: [PATCH 062/153] Added missing key --- .../junos/parsers/state/openconfig-interfaces/interfaces.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index 1ba450bd..af6f78c0 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -158,6 +158,7 @@ interfaces: _process: - mode: xpath xpath: "logical-interface" + key: name from: "{{ bookmarks['parent'] }}" index: _process: unnecessary From d15816c2f1c787f61fafdae7e345949f4fadc940 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 6 May 2017 20:53:28 +0200 Subject: [PATCH 063/153] Added config parser for network-instances/junos --- .../includes/afts.yaml | 54 + .../includes/bgp.yaml | 1176 +++++++++++++++++ .../includes/isis.yaml | 508 +++++++ .../includes/mpls.yaml | 584 ++++++++ .../includes/ospfv2.yaml | 224 ++++ .../includes/static_routes.yaml | 60 + .../network-instances.yaml | 472 +++++++ .../default/candidate.json | 208 +++ .../default/config.txt | 285 ++++ .../default/expected.json | 250 ++++ .../default/merge.txt | 1 + .../default/replace.txt | 1 + .../default/translation.txt | 1 + test/integration/test_profiles.py | 1 + 14 files changed, 3825 insertions(+) create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/afts.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/isis.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/mpls.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml create mode 100644 napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json create mode 100755 test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt create mode 100644 test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/afts.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/afts.yaml new file mode 100644 index 00000000..bd462863 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/afts.yaml @@ -0,0 +1,54 @@ +_process: not_implemented +aft: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + match: + _process: not_implemented + interface-ref: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + next-hops: + _process: not_implemented + next-hop: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml new file mode 100644 index 00000000..37d65f08 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -0,0 +1,1176 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" +global: + _process: unnecessary + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + confederation: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + member-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + as: + _process: + - mode: xpath + xpath: "routing-options/autonomous-system/as-number" + from: "{{ bookmarks['network_instance'][network_instance_key] }}" + router-id: + _process: + - mode: xpath + xpath: "routing-options/router-id" + from: "{{ bookmarks['network_instance'][network_instance_key] }}" + default-route-distance: + _process: not_implemented + config: + _process: not_implemented + external-route-distance: + _process: not_implemented + internal-route-distance: + _process: not_implemented + state: + _process: not_implemented + dynamic-neighbor-prefixes: + _process: not_implemented + dynamic-neighbor-prefix: + _process: not_implemented + config: + _process: not_implemented + peer-group: + _process: not_implemented + prefix: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +neighbors: + _process: unnecessary + neighbor: + _process: + - mode: nested + xpath: "group/?peer_group.name/neighbor" + key_attribute: name + from: "{{ bookmarks.parent }}" + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + auth-password: + _process: not_implemented + description: + _process: + - mode: xpath + xpath: "description" + from: "{{ bookmarks.parent }}" + enabled: + _process: not_implemented + local-as: + _process: + - mode: xpath + xpath: "local-as.as-number" + from: "{{ bookmarks.parent }}" + neighbor-address: + _process: + - mode: value + value: "{{ neighbor_key }}" + peer-as: + _process: + - mode: xpath + xpath: "peer-as" + from: "{{ bookmarks.parent }}" + peer-group: + _process: + - mode: value + value: "{{ extra_vars.peer_group }}" + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + neighbor-address: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +peer-groups: + _process: not_implemented + peer-group: + _process: not_implemented + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + description: + _process: not_implemented + local-as: + _process: not_implemented + peer-as: + _process: not_implemented + peer-group-name: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + peer-group-name: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/isis.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/isis.yaml new file mode 100644 index 00000000..463623fd --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/isis.yaml @@ -0,0 +1,508 @@ +--- +_process: not_implemented +global: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + multi-topology: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + fast-flooding: + _process: not_implemented + iid-tlv: + _process: not_implemented + instance: + _process: not_implemented + level-capability: + _process: not_implemented + max-ecmp-paths: + _process: not_implemented + maximum-area-addresses: + _process: not_implemented + net: + _process: not_implemented + poi-tlv: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + afi: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + nh-type: + _process: not_implemented + state: + _process: not_implemented + inter-level-propagation-policies: + _process: not_implemented + level1-to-level2: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + level2-to-level1: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + lsp-bit: + _process: not_implemented + attached-bit: + _process: not_implemented + config: + _process: not_implemented + ignore-bit: + _process: not_implemented + suppress-bit: + _process: not_implemented + state: + _process: not_implemented + overload-bit: + _process: not_implemented + config: + _process: not_implemented + advertise-high-metric: + _process: not_implemented + set-bit: + _process: not_implemented + set-bit-on-boot: + _process: not_implemented + reset-triggers: + _process: not_implemented + reset-trigger: + _process: not_implemented + config: + _process: not_implemented + delay: + _process: not_implemented + reset-trigger: + _process: not_implemented + reset-trigger: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + nsr: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + config: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + state: + _process: not_implemented + segment-routing: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + srgb: + _process: not_implemented + srlb: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + lsp-lifetime-interval: + _process: not_implemented + lsp-refresh-interval: + _process: not_implemented + lsp-generation: + _process: not_implemented + config: + _process: not_implemented + lsp-first-wait-interval: + _process: not_implemented + lsp-max-wait-interval: + _process: not_implemented + lsp-second-wait-interval: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + spf-first-interval: + _process: not_implemented + spf-hold-interval: + _process: not_implemented + spf-second-interval: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + lsp-mtu-size: + _process: not_implemented + state: + _process: not_implemented +interfaces: + _process: not_implemented + interface: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + bfd: + _process: not_implemented + config: + _process: not_implemented + bfd-tlv: + _process: not_implemented + state: + _process: not_implemented + circuit-counters: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + circuit-type: + _process: not_implemented + enabled: + _process: not_implemented + hello-padding: + _process: not_implemented + interface-id: + _process: not_implemented + passive: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + levels: + _process: not_implemented + level: + _process: not_implemented + adjacencies: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + segment-routing: + _process: not_implemented + adjacency-sids: + _process: not_implemented + adjacency-sid: + _process: not_implemented + config: + _process: not_implemented + group: + _process: not_implemented + neighbor: + _process: not_implemented + protection-eligible: + _process: not_implemented + sid-id: + _process: not_implemented + neighbor: + _process: not_implemented + sid-id: + _process: not_implemented + state: + _process: not_implemented + prefix-sids: + _process: not_implemented + prefix-sid: + _process: not_implemented + config: + _process: not_implemented + label-options: + _process: not_implemented + prefix: + _process: not_implemented + sid-id: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + hello-authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + level-number: + _process: not_implemented + packet-counters: + _process: not_implemented + cnsp: + _process: not_implemented + state: + _process: not_implemented + esh: + _process: not_implemented + state: + _process: not_implemented + iih: + _process: not_implemented + state: + _process: not_implemented + ish: + _process: not_implemented + state: + _process: not_implemented + lsp: + _process: not_implemented + state: + _process: not_implemented + psnp: + _process: not_implemented + state: + _process: not_implemented + unknown: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + hello-multiplier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + csnp-interval: + _process: not_implemented + lsp-pacing-interval: + _process: not_implemented + state: + _process: not_implemented +levels: + _process: not_implemented + level: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + csnp-authentication: + _process: not_implemented + lsp-authentication: + _process: not_implemented + psnp-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + metric-style: + _process: not_implemented + level-number: + _process: not_implemented + link-state-database: + _process: not_implemented + route-preference: + _process: not_implemented + config: + _process: not_implemented + external-route-preference: + _process: not_implemented + internal-route-preference: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + system-level-counters: + _process: not_implemented + state: + _process: not_implemented + traffic-engineering: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ipv4-router-id: + _process: not_implemented + ipv6-router-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/mpls.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/mpls.yaml new file mode 100644 index 00000000..ba853c58 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/mpls.yaml @@ -0,0 +1,584 @@ +--- +_process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + null-label: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + mpls-enabled: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + reserved-label-blocks: + _process: not_implemented + reserved-label-block: + _process: not_implemented + config: + _process: not_implemented + local-id: + _process: not_implemented + lower-bound: + _process: not_implemented + upper-bound: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +lsps: + _process: not_implemented + constrained-path: + _process: not_implemented + named-explicit-paths: + _process: not_implemented + named-explicit-path: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + sid-protection-required: + _process: not_implemented + sid-selection-mode: + _process: not_implemented + explicit-route-objects: + _process: not_implemented + explicit-route-object: + _process: not_implemented + config: + _process: not_implemented + address: + _process: not_implemented + hop-type: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + tunnels: + _process: not_implemented + tunnel: + _process: not_implemented + bandwidth: + _process: not_implemented + auto-bandwidth: + _process: not_implemented + config: + _process: not_implemented + adjust-interval: + _process: not_implemented + adjust-threshold: + _process: not_implemented + enabled: + _process: not_implemented + max-bw: + _process: not_implemented + min-bw: + _process: not_implemented + overflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + overflow-threshold: + _process: not_implemented + trigger-event-count: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + underflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + trigger-event-count: + _process: not_implemented + underflow-threshold: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + set-bandwidth: + _process: not_implemented + specification-type: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + admin-status: + _process: not_implemented + description: + _process: not_implemented + hold-priority: + _process: not_implemented + metric: + _process: not_implemented + metric-type: + _process: not_implemented + name: + _process: not_implemented + preference: + _process: not_implemented + protection-style-requested: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + shortcut-eligible: + _process: not_implemented + signaling-protocol: + _process: not_implemented + soft-preemption: + _process: not_implemented + source: + _process: not_implemented + type: + _process: not_implemented + name: + _process: not_implemented + p2p-tunnel-attributes: + _process: not_implemented + config: + _process: not_implemented + destination: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + candidate-secondary-paths: + _process: not_implemented + candidate-secondary-path: + _process: not_implemented + config: + _process: not_implemented + priority: + _process: not_implemented + secondary-path: + _process: not_implemented + secondary-path: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + p2p-secondary-paths: + _process: not_implemented + p2p-secondary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + static-lsps: + _process: not_implemented + static-lsp: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + egress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + ingress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + transit: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + unconstrained-path: + _process: not_implemented + path-setup-protocol: + _process: not_implemented +signaling-protocols: + _process: not_implemented + rsvp-te: + _process: not_implemented + global: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + recovery-time: + _process: not_implemented + restart-time: + _process: not_implemented + state: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + soft-preemption: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + soft-preemption-timeout: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + authentication-key: + _process: not_implemented + enable: + _process: not_implemented + state: + _process: not_implemented + bandwidth-reservations: + _process: not_implemented + bandwidth-reservation: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + protection: + _process: not_implemented + config: + _process: not_implemented + bypass-optimize-interval: + _process: not_implemented + link-protection-style-requested: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + subscription: + _process: not_implemented + config: + _process: not_implemented + subscription: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + sessions: + _process: not_implemented + session: + _process: not_implemented + segment-routing: + _process: not_implemented + aggregate-sid-counters: + _process: not_implemented + aggregate-sid-counter: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + sid-counters: + _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented +te-global-attributes: + _process: not_implemented + mpls-admin-groups: + _process: not_implemented + admin-group: + _process: not_implemented + admin-group-name: + _process: not_implemented + config: + _process: not_implemented + admin-group-name: + _process: not_implemented + bit-position: + _process: not_implemented + state: + _process: not_implemented + srlgs: + _process: not_implemented + srlg: + _process: not_implemented + config: + _process: not_implemented + cost: + _process: not_implemented + flooding-type: + _process: not_implemented + name: + _process: not_implemented + value: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + static-srlg-members: + _process: not_implemented + members-list: + _process: not_implemented + config: + _process: not_implemented + from-address: + _process: not_implemented + to-address: + _process: not_implemented + from-address: + _process: not_implemented + state: + _process: not_implemented + te-lsp-timers: + _process: not_implemented + config: + _process: not_implemented + cleanup-delay: + _process: not_implemented + install-delay: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + state: + _process: not_implemented +te-interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + admin-group: + _process: not_implemented + interface-id: + _process: not_implemented + srlg-membership: + _process: not_implemented + te-metric: + _process: not_implemented + igp-flooding-bandwidth: + _process: not_implemented + config: + _process: not_implemented + delta-percentage: + _process: not_implemented + down-thresholds: + _process: not_implemented + threshold-specification: + _process: not_implemented + threshold-type: + _process: not_implemented + up-down-thresholds: + _process: not_implemented + up-thresholds: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml new file mode 100644 index 00000000..adf0afef --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/ospfv2.yaml @@ -0,0 +1,224 @@ +--- +_process: not_implemented +areas: + _process: not_implemented + area: + _process: not_implemented + config: + _process: not_implemented + identifier: + _process: not_implemented + identifier: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + authentication-type: + _process: not_implemented + hide-network: + _process: not_implemented + id: + _process: not_implemented + metric: + _process: not_implemented + multi-area-adjacency-primary: + _process: not_implemented + network-type: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + lsa-filter: + _process: not_implemented + config: + _process: not_implemented + all: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-metric: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + config: + _process: not_implemented + metric: + _process: not_implemented + router-id: + _process: not_implemented + router-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + dead-interval: + _process: not_implemented + hello-interval: + _process: not_implemented + retransmission-interval: + _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-enabled: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + virtual-links: + _process: not_implemented + virtual-link: + _process: not_implemented + config: + _process: not_implemented + remote-router-id: + _process: not_implemented + remote-router-id: + _process: not_implemented + state: + _process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + hide-transit-only-networks: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + log-adjacency-changes: + _process: not_implemented + router-id: + _process: not_implemented + summary-route-cost-mode: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + inter-area-propagation-policies: + _process: not_implemented + inter-area-propagation-policy: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-area: + _process: not_implemented + import-policy: + _process: not_implemented + src-area: + _process: not_implemented + dst-area: + _process: not_implemented + src-area: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-extensions: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + lsa-generation: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented + max-metric: + _process: not_implemented + config: + _process: not_implemented + include: + _process: not_implemented + set: + _process: not_implemented + timeout: + _process: not_implemented + trigger: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml new file mode 100644 index 00000000..dbaaa7f3 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -0,0 +1,60 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'static static' }}" +static: + _process: + - mode: container + xpath: "route" + key_attribute: name + from: "{{ bookmarks.parent }}" + config: + _process: unnecessary + prefix: + _process: + - mode: value + value: "{{ static_key }}" + set-tag: + _process: not_implemented + next-hops: + _process: unnecessary + next-hop: + _process: + - mode: container + xpath: "qualified-next-hop" + key_attribute: name + from: "{{ bookmarks.parent }}" + config: + _process: unnecessary + index: + _process: not_implemented + metric: + _process: + - mode: xpath + xpath: "metric" + from: "{{ bookmarks.parent }}" + next-hop: + _process: + - mode: value + value: "{{ next_hop_key }}" + recurse: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml new file mode 100644 index 00000000..d9a11746 --- /dev/null +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -0,0 +1,472 @@ +--- +metadata: + processor: XMLParser + execute: + - method: _rpc + args: + get: "" + +network-instances: + _process: unnecessary + network-instance: + _process: + - mode: container + xpath: "routing-instances/instance" + key_attribute: name + from: "{{ bookmarks['network-instances'].0 }}" + mandatory: + - key: "global" + block: "{{ bookmarks['network-instances'].0 }}" + extra_vars: {} + afts: !include includes/afts.yaml + config: + _process: unnecessary + description: + _process: + - mode: xpath + xpath: description + from: "{{ bookmarks.parent }}" + enabled: + _process: + - mode: value + value: true + enabled-address-families: + _process: not_implemented + mtu: + _process: not_implemented + name: + _process: unnecessary + route-distinguisher: + _process: not_implemented + router-id: + _process: not_implemented + type: + _process: + - mode: value + value: DEFAULT_INSTANCE + when: "{{ network_instance_key == 'global' }}" + - mode: map + xpath: instance-type + from: "{{ bookmarks.parent }}" + map: + vrf: L3VRF + virtual-router: L2L3 + when: "{{ network_instance_key != 'global' }}" + connection-points: + _process: not_implemented + connection-point: + _process: not_implemented + config: + _process: not_implemented + connection-point-id: + _process: not_implemented + connection-point-id: + _process: not_implemented + endpoints: + _process: not_implemented + endpoint: + _process: not_implemented + config: + _process: not_implemented + endpoint-id: + _process: not_implemented + precedence: + _process: not_implemented + type: + _process: not_implemented + endpoint-id: + _process: not_implemented + local: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + remote: + _process: not_implemented + config: + _process: not_implemented + remote-system: + _process: not_implemented + virtual-circuit-identifier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + encapsulation: + _process: not_implemented + config: + _process: not_implemented + control-word: + _process: not_implemented + encapsulation-type: + _process: not_implemented + label-allocation-mode: + _process: not_implemented + state: + _process: not_implemented + fdb: + _process: not_implemented + config: + _process: not_implemented + mac-aging-time: + _process: not_implemented + mac-learning: + _process: not_implemented + maximum-entries: + _process: not_implemented + mac-table: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + mac-address: + _process: not_implemented + vlan: + _process: not_implemented + interface: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + mac-address: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + inter-instance-policies: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + interfaces: + _process: unnecessary + interface: + _process: not_implemented + config: + _process: not_implemented + associated-address-families: + _process: not_implemented + id: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + id: + _process: not_implemented + state: + _process: not_implemented + mpls: !include includes/mpls.yaml + name: + _process: not_implemented + policy-forwarding: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + apply-forwarding-policy: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + path-selection-groups: + _process: not_implemented + path-selection-group: + _process: not_implemented + config: + _process: not_implemented + group-id: + _process: not_implemented + mpls-lsp: + _process: not_implemented + group-id: + _process: not_implemented + state: + _process: not_implemented + policies: + _process: not_implemented + policy: + _process: not_implemented + config: + _process: not_implemented + policy-id: + _process: not_implemented + policy-id: + _process: not_implemented + rules: + _process: not_implemented + rule: + _process: not_implemented + action: + _process: not_implemented + config: + _process: not_implemented + decapsulate-gre: + _process: not_implemented + discard: + _process: not_implemented + network-instance: + _process: not_implemented + next-hop: + _process: not_implemented + path-selection-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + sequence-id: + _process: not_implemented + ip: + _process: not_implemented + config: + _process: not_implemented + destination-ip-address: + _process: not_implemented + destination-ip-flow-label: + _process: not_implemented + dscp: + _process: not_implemented + hop-limit: + _process: not_implemented + ip-version: + _process: not_implemented + protocol: + _process: not_implemented + source-ip-address: + _process: not_implemented + source-ip-flow-label: + _process: not_implemented + state: + _process: not_implemented + l2: + _process: not_implemented + config: + _process: not_implemented + destination-mac: + _process: not_implemented + destination-mac-mask: + _process: not_implemented + ethertype: + _process: not_implemented + source-mac: + _process: not_implemented + source-mac-mask: + _process: not_implemented + state: + _process: not_implemented + sequence-id: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + destination-port: + _process: not_implemented + source-port: + _process: not_implemented + tcp-flags: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + protocols: + _process: unnecessary + protocol: + _process: + - mode: container + xpath: "protocols" + from: "{{ bookmarks.parent }}" + nested: true + composite_key: [protocols_name, protocols_name] + - mode: container + xpath: "routing-options/static" + from: "{{ bookmarks.parent }}" + key: "static static" + bgp: !include includes/bgp.yaml + config: + _process: not_implemented + default-metric: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + name: + _process: not_implemented + identifier: + _process: unnecessary + isis: !include includes/isis.yaml + local-aggregates: + _process: not_implemented + aggregate: + _process: not_implemented + config: + _process: not_implemented + discard: + _process: not_implemented + prefix: + _process: not_implemented + set-tag: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + name: + _process: unnecessary + ospfv2: !include includes/ospfv2.yaml + state: + _process: not_implemented + static-routes: !include includes/static_routes.yaml + segment-routing: + _process: not_implemented + srgbs: + _process: not_implemented + srgb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefixes: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-blocks: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + srlbs: + _process: not_implemented + srlb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefix: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-block: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + table-connections: + _process: not_implemented + table-connection: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-protocol: + _process: not_implemented + import-policy: + _process: not_implemented + src-protocol: + _process: not_implemented + dst-protocol: + _process: not_implemented + src-protocol: + _process: not_implemented + state: + _process: not_implemented + tables: + _process: not_implemented + table: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + protocol: + _process: not_implemented + protocol: + _process: not_implemented + state: + _process: not_implemented + vlans: + _process: not_implemented + vlan: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + status: + _process: not_implemented + tpid: + _process: not_implemented + vlan-id: + _process: not_implemented + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json b/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json new file mode 100644 index 00000000..736f3e89 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json @@ -0,0 +1,208 @@ +{ + "network_instances": { + "network-instance": { + "devel": { + "config": { + "enabled": true, + "route-distinguisher": "1:2", + "type": "L3VRF" + }, + "name": "devel", + "protocols": { + "protocol": { + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.2.2": { + "config": { + "metric": 1, + "next-hop": "192.168.2.2" + }, + "index": "192.168.2.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "global": { + "config": { + "enabled": true, + "type": "L3VRF" + }, + "name": "global", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "1.1.1.1" + } + }, + "neighbors": { + "neighbor": { + "192.168.0.200": { + "config": { + "description": "asdasd qweq asdasd", + "enabled": true, + "neighbor-address": "192.168.0.200", + "peer-as": 65100 + }, + "neighbor-address": "192.168.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + }, + "192.168.0.3": { + "config": { + "metric": 1, + "next-hop": "192.168.0.3" + }, + "index": "192.168.0.3" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "192.168.0.2": { + "config": { + "metric": 1, + "next-hop": "192.168.0.2" + }, + "index": "192.168.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + }, + "frontend": { + "config": { + "description": "Production VRF", + "enabled": true, + "route-distinguisher": "1:1", + "type": "L3VRF" + }, + "name": "frontend", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65001, + "router-id": "2.2.2.2" + } + }, + "neighbors": { + "neighbor": { + "172.20.0.200": { + "config": { + "enabled": true, + "local-as": 100, + "neighbor-address": "172.20.0.200", + "peer-as": 65100 + }, + "neighbor-address": "172.20.0.200" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.0.1.0/24": { + "next-hops": { + "next-hop": { + "172.20.0.2": { + "config": { + "metric": 1, + "next-hop": "172.20.0.2" + }, + "index": "172.20.0.2" + } + } + }, + "prefix": "10.0.1.0/24" + } + } + } + } + } + } + } + } + } +} + diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt new file mode 100755 index 00000000..0d5e362c --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt @@ -0,0 +1,285 @@ + + 12.1X47-D20.7 + + vsrx + + $1$5MhDFyrI$NBBMndW1POqbN.0QEA4z0. + + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyacKJHfFzAPflQADs7NSgeFwbX59e+k71zy85hT7WTRA5XQ9KW2WapjlFzRiBT2lHUa4brPcXbn6vnBWSaPNq2Ltt1QIu+WPShVz4+WBbc4ommEyaLQVerxTfgPAwWh92A3/PnUFB78auZFg+kj7GiEJuzsMGS7bpppq1lhQt370RD6HdymIutsmA3SFOj0o0BFpaCS3C6XWlMgkBDrcXBoAqGIYU/lKL3XN0IwbF0NCHg4Gr4RyzK0Sw4+0cTrkTQnX3S2B8sHN/6yycMceInt7DkAHSBjBYKct0+hx+qdZWONu8iwQj40841UZGugOpIE/vxQTvDY4L+/e7PUG/ vagrant + + + + + vagrant + 2000 + super-user + + + ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key + + + + + + + allow + + + + + + + + ge-0/0/0.0 + + + + + + * + + any + + + + + messages + + any + + + + authorization + + + + + interactive-commands + + interactive-commands + + + + + + + + https://ae1.juniper.net/junos/key_retrieval + + + + + + + + 16 + + + + + + ge-0/0/0 + management interface + 1400 + + 0 + ge-0/0/0.0 + + + + + + + + + + ge-0/0/1 + ge-0/0/1 + + 1514 + + + ae0 + ae0 + + 1514 + + 0 + ASDASDASD + 100 + + +
+ 192.168.100.1/24 +
+
+ 172.20.100.1/24 +
+
+
+
+ + 1 + ae0.1 + 1 + + +
+ 192.168.101.1/24 +
+
+
+
+ + 2 + ae0.2 + 2 + + +
+ 192.168.102.1/24 +
+
+
+
+
+ + lo0 + lo0 + + 0 + lo0.0 + + +
+ + + + 10.0.0.0/24 + + 192.168.100.100 + 100 + + + 192.168.100.101 + 200 + + + + 10.100.0.0/24 + + 192.168.100.200 + + + + 1.1.1.1 + + 65000 + + + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + 192.168.100.3 + 65100 + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + + + + + + packet-based + + + packet-based + + + + + + + devel + virtual-router + + + + 10.0.2.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.2.0/24 + + 192.168.100.200 + + + + + + + prod + production vrf + virtual-router + + + + 10.0.1.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.1.0/24 + + 192.168.100.200 + + + + + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + 192.168.100.3 + 65100 + + 123 + + + + + + + +
diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json b/test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json new file mode 100644 index 00000000..72864ba0 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json @@ -0,0 +1,250 @@ +{ + "network_instances": { + "network-instance": { + "devel": { + "config": { + "enabled": true, + "type": "L2L3" + }, + "name": "devel", + "protocols": { + "protocol": { + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.2.0/24": { + "config": { + "prefix": "10.0.2.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.100": { + "config": { + "next-hop": "192.168.100.100" + }, + "index": "192.168.100.100" + }, + "192.168.100.101": { + "config": { + "metric": 200, + "next-hop": "192.168.100.101" + }, + "index": "192.168.100.101" + } + } + }, + "prefix": "10.0.2.0/24" + }, + "10.100.2.0/24": { + "config": { + "prefix": "10.100.2.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.200": { + "config": { + "next-hop": "192.168.100.200" + }, + "index": "192.168.100.200" + } + } + }, + "prefix": "10.100.2.0/24" + } + } + } + } + } + } + }, + "global": { + "config": { + "enabled": true, + "type": "DEFAULT_INSTANCE" + }, + "name": "global", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "global": { + "config": { + "as": 65000, + "router-id": "1.1.1.1" + } + }, + "neighbors": { + "neighbor": { + "172.20.0.1": { + "config": { + "neighbor-address": "172.20.0.1", + "peer-as": 65200, + "peer-group": "my_other_peers" + }, + "neighbor-address": "172.20.0.1" + }, + "192.168.100.2": { + "config": { + "description": "adsasd", + "neighbor-address": "192.168.100.2", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.2" + }, + "192.168.100.3": { + "config": { + "neighbor-address": "192.168.100.3", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.3" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.100": { + "config": { + "metric": 100, + "next-hop": "192.168.100.100" + }, + "index": "192.168.100.100" + }, + "192.168.100.101": { + "config": { + "metric": 200, + "next-hop": "192.168.100.101" + }, + "index": "192.168.100.101" + } + } + }, + "prefix": "10.0.0.0/24" + }, + "10.100.0.0/24": { + "config": { + "prefix": "10.100.0.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.200": { + "config": { + "next-hop": "192.168.100.200" + }, + "index": "192.168.100.200" + } + } + }, + "prefix": "10.100.0.0/24" + } + } + } + } + } + } + }, + "prod": { + "config": { + "description": "production vrf", + "enabled": true, + "type": "L2L3" + }, + "name": "prod", + "protocols": { + "protocol": { + "bgp bgp": { + "bgp": { + "neighbors": { + "neighbor": { + "192.168.100.2": { + "config": { + "description": "adsasd", + "neighbor-address": "192.168.100.2", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.2" + }, + "192.168.100.3": { + "config": { + "neighbor-address": "192.168.100.3", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.3" + } + } + } + }, + "identifier": "bgp", + "name": "bgp" + }, + "static static": { + "identifier": "static", + "name": "static", + "static-routes": { + "static": { + "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.100": { + "config": { + "next-hop": "192.168.100.100" + }, + "index": "192.168.100.100" + }, + "192.168.100.101": { + "config": { + "metric": 200, + "next-hop": "192.168.100.101" + }, + "index": "192.168.100.101" + } + } + }, + "prefix": "10.0.1.0/24" + }, + "10.100.1.0/24": { + "config": { + "prefix": "10.100.1.0/24" + }, + "next-hops": { + "next-hop": { + "192.168.100.200": { + "config": { + "next-hop": "192.168.100.200" + }, + "index": "192.168.100.200" + } + } + }, + "prefix": "10.100.1.0/24" + } + } + } + } + } + } + } + } + } +} diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt new file mode 100644 index 00000000..0b330168 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt @@ -0,0 +1 @@ +asdads diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt new file mode 100644 index 00000000..bf7e8990 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt @@ -0,0 +1 @@ +asdasd diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt new file mode 100644 index 00000000..0b330168 --- /dev/null +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt @@ -0,0 +1 @@ +asdads diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 57321fcc..0e4d6860 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -35,6 +35,7 @@ def pretty_json(dictionary): test_config_profile_models = [ ["ios", napalm_yang.models.openconfig_interfaces, "default"], ["eos", napalm_yang.models.openconfig_network_instance, "default"], + ["junos", napalm_yang.models.openconfig_network_instance, "default"], ] test_state_profile_models = [ From 78b636fc2914b8ac7f80973b4bf172ac7f566cf4 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 7 May 2017 15:14:45 +0200 Subject: [PATCH 064/153] Added _translate_leaf_map --- napalm_yang/translators/xml.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/napalm_yang/translators/xml.py b/napalm_yang/translators/xml.py index 653b61b1..088c18fd 100644 --- a/napalm_yang/translators/xml.py +++ b/napalm_yang/translators/xml.py @@ -77,3 +77,7 @@ def _translate_leaf_element(self, attribute, model, other, mapping, translation, if value is not None: e.text = "{}".format(value) + + def _translate_leaf_map(self, attribute, model, other, mapping, translation): + mapping["value"] = mapping["map"][model] + self._translate_leaf_element(attribute, model, other, mapping, translation) From dc631606b3f63e86fe4d579f8a743e07e283ef17 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 8 May 2017 14:51:10 +0200 Subject: [PATCH 065/153] When using lists of actions allow advancing containers in xml --- napalm_yang/translators/base.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 531488e3..11ccb195 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -17,23 +17,23 @@ def __init__(self, merge, replace): self.replace = replace def init_element(self, attribute, model, other, mapping, translation, bookmarks): + et = translation for m in mapping: if m["mode"] == "skip": continue elif m["mode"] == "gate": return - t = _find_translation_point(m, bookmarks, translation) + t = _find_translation_point(m, bookmarks, et) method_name = "_init_element_{}".format(m["mode"]) et = getattr(self, method_name)(attribute, model, other, m, t) if et is False: # if it's False we want to return None to signal we want to abort return None - elif et is not None: - return et - return translation + return et def default_element(self, mapping, translation, bookmarks, replacing=False, recursive=False): + t = translation for m in mapping: if m["mode"] == "skip": continue @@ -42,9 +42,9 @@ def default_element(self, mapping, translation, bookmarks, replacing=False, recu if recursive and not m.get("negate_recursively", False): continue - t = _find_translation_point(m, bookmarks, translation) + t = _find_translation_point(m, bookmarks, t) method_name = "_default_element_{}".format(m["mode"]) - getattr(self, method_name)(m, t, replacing) + t = getattr(self, method_name)(m, t, replacing) def translate_leaf(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: @@ -58,18 +58,17 @@ def translate_leaf(self, attribute, model, other, mapping, translation, bookmark getattr(self, method_name)(attribute, model, other, m, t) def translate_container(self, attribute, model, other, mapping, translation, bookmarks): + et = translation for m in mapping: if m["mode"] == "skip": continue elif m["mode"] == "gate": return - t = _find_translation_point(m, bookmarks, translation) + t = _find_translation_point(m, bookmarks, et) method_name = "_translate_container_{}".format(m["mode"]) et = getattr(self, method_name)(attribute, model, other, m, t) if et is False: # if it's False we want to return None to signal we want to abort return None - elif et is not None: - return et - return translation + return et From b8cad0dc0ecb140185a8928977c61279fc1edf28 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 8 May 2017 14:51:52 +0200 Subject: [PATCH 066/153] Added reuse and replace_on_merge --- napalm_yang/translators/xml.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/napalm_yang/translators/xml.py b/napalm_yang/translators/xml.py index 088c18fd..b98c0c88 100644 --- a/napalm_yang/translators/xml.py +++ b/napalm_yang/translators/xml.py @@ -17,8 +17,14 @@ def init_translation(self, metadata, translation): def _init_element_container(self, attribute, model, other, mapping, translation): t = translation - for element in mapping["container"].split("."): - t = etree.SubElement(t, element) + for element in mapping["container"].split("/"): + try: + if mapping.get("reuse", False): + t = t.xpath(element)[0] + else: + t = etree.SubElement(t, element) + except IndexError: + t = etree.SubElement(t, element) key_element = mapping.get("key_element", None) if key_element: @@ -53,7 +59,8 @@ def _default_element_container(self, mapping, translation, replacing): key = etree.SubElement(t, key_element) key.text = "{}".format(mapping["key_value"]) - t.set("delete", "delete") + if mapping.get("delete_on_merge", True): + t.set("delete", "delete") return t @@ -70,7 +77,9 @@ def _translate_leaf_element(self, attribute, model, other, mapping, translation, except Exception: value = None if not model._changed() else model - e = etree.SubElement(translation, mapping["element"]) + e = translation + for element in mapping["element"].split("/"): + e = etree.SubElement(e, element) if delete: e.set("delete", "delete") From 9717f1dfa928c942adf91f33dde3e6c42532d0e0 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 8 May 2017 14:52:12 +0200 Subject: [PATCH 067/153] Added network-instance/junos translator --- .../translators/openconfig-if-ip/ipv4.yaml | 2 +- .../includes/afts.yaml | 55 + .../includes/bgp.yaml | 1174 +++++++++++++++++ .../includes/connection_points.yaml | 48 + .../includes/isis.yaml | 508 +++++++ .../includes/mpls.yaml | 585 ++++++++ .../includes/ospfv2.yaml | 224 ++++ .../includes/segment_routing.yaml | 38 + .../includes/static_routes.yaml | 55 + .../network-instances.yaml | 379 ++++++ .../default/candidate.json | 170 ++- .../default/merge.txt | 142 +- .../default/replace.txt | 128 +- .../default/translation.txt | 128 +- test/integration/test_profiles.py | 28 +- 15 files changed, 3593 insertions(+), 71 deletions(-) create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/afts.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/connection_points.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/isis.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/mpls.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/ospfv2.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/segment_routing.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml create mode 100644 napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml diff --git a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml index 1ade2475..2c2ee9af 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml @@ -5,7 +5,7 @@ metadata: ipv4: _process: - mode: container - container: family.inet + container: "family/inet" when: "{{ model.config.enabled or model.addresses.address|length }}" config: _process: unnecessary diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/afts.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/afts.yaml new file mode 100644 index 00000000..86a8b9f7 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/afts.yaml @@ -0,0 +1,55 @@ +--- +_process: not_implemented +aft: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + match: + _process: not_implemented + interface-ref: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + next-hops: + _process: not_implemented + next-hop: + _process: not_implemented + config: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml new file mode 100644 index 00000000..3e71d714 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml @@ -0,0 +1,1174 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" +global: + _process: unnecessary + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + confederation: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + member-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + as: + _process: + - mode: element + element: "routing-options/autonomous-system/as-number" + in: "network_instance.{{ network_instance_key }}" + router-id: + _process: + - mode: element + element: "routing-options/router-id" + in: "network_instance.{{ network_instance_key }}" + default-route-distance: + _process: not_implemented + config: + _process: not_implemented + external-route-distance: + _process: not_implemented + internal-route-distance: + _process: not_implemented + state: + _process: not_implemented + dynamic-neighbor-prefixes: + _process: not_implemented + dynamic-neighbor-prefix: + _process: not_implemented + config: + _process: not_implemented + peer-group: + _process: not_implemented + prefix: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +neighbors: + _process: unnecessary + neighbor: + _process: + - mode: container + container: "group" + delete_on_merge: false + key_element: name + key_value: "{{ model.config.peer_group }}" + - mode: container + container: "neighbor" + key_element: name + key_value: "{{ neighbor_key }}" + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: unnecessary + auth-password: + _process: not_implemented + description: + _process: + - mode: element + element: description + enabled: + _process: not_implemented + local-as: + _process: + - mode: element + element: "local-as/as-number" + neighbor-address: + _process: unnecessary + peer-as: + _process: + - mode: element + element: "peer-as" + peer-group: + _process: unnecessary + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + neighbor-address: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +peer-groups: + _process: not_implemented + peer-group: + _process: not_implemented + add-paths: + _process: not_implemented + config: + _process: not_implemented + eligible-prefix-policy: + _process: not_implemented + receive: + _process: not_implemented + send-max: + _process: not_implemented + state: + _process: not_implemented + afi-safis: + _process: not_implemented + afi-safi: + _process: not_implemented + afi-safi-name: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + afi-safi-name: + _process: not_implemented + enabled: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + ipv4-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv4-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + ipv6-labeled-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + ipv6-unicast: + _process: not_implemented + config: + _process: not_implemented + send-default-route: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + l2vpn-evpn: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l2vpn-vpls: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv4-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-multicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + l3vpn-ipv6-unicast: + _process: not_implemented + prefix-limit: + _process: not_implemented + config: + _process: not_implemented + max-prefixes: + _process: not_implemented + prevent-teardown: + _process: not_implemented + restart-timer: + _process: not_implemented + shutdown-threshold-pct: + _process: not_implemented + state: + _process: not_implemented + route-selection-options: + _process: not_implemented + config: + _process: not_implemented + advertise-inactive-routes: + _process: not_implemented + always-compare-med: + _process: not_implemented + enable-aigp: + _process: not_implemented + external-compare-router-id: + _process: not_implemented + ignore-as-path-length: + _process: not_implemented + ignore-next-hop-igp-metric: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + as-path-options: + _process: not_implemented + config: + _process: not_implemented + allow-own-as: + _process: not_implemented + replace-peer-as: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + description: + _process: not_implemented + local-as: + _process: not_implemented + peer-as: + _process: not_implemented + peer-group-name: + _process: not_implemented + peer-type: + _process: not_implemented + remove-private-as: + _process: not_implemented + route-flap-damping: + _process: not_implemented + send-community: + _process: not_implemented + ebgp-multihop: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + multihop-ttl: + _process: not_implemented + state: + _process: not_implemented + error-handling: + _process: not_implemented + config: + _process: not_implemented + treat-as-withdraw: + _process: not_implemented + state: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + restart-time: + _process: not_implemented + stale-routes-time: + _process: not_implemented + state: + _process: not_implemented + logging-options: + _process: not_implemented + config: + _process: not_implemented + log-neighbor-state-changes: + _process: not_implemented + state: + _process: not_implemented + peer-group-name: + _process: not_implemented + route-reflector: + _process: not_implemented + config: + _process: not_implemented + route-reflector-client: + _process: not_implemented + route-reflector-cluster-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + connect-retry: + _process: not_implemented + hold-time: + _process: not_implemented + keepalive-interval: + _process: not_implemented + minimum-advertisement-interval: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + local-address: + _process: not_implemented + mtu-discovery: + _process: not_implemented + passive-mode: + _process: not_implemented + tcp-mss: + _process: not_implemented + state: + _process: not_implemented + use-multiple-paths: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ebgp: + _process: not_implemented + config: + _process: not_implemented + allow-multiple-as: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + ibgp: + _process: not_implemented + config: + _process: not_implemented + maximum-paths: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/connection_points.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/connection_points.yaml new file mode 100644 index 00000000..e4034df4 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/connection_points.yaml @@ -0,0 +1,48 @@ +--- +_process: not_implemented +connection-point: + _process: not_implemented + config: + _process: not_implemented + connection-point-id: + _process: not_implemented + connection-point-id: + _process: not_implemented + endpoints: + _process: not_implemented + endpoint: + _process: not_implemented + config: + _process: not_implemented + endpoint-id: + _process: not_implemented + precedence: + _process: not_implemented + type: + _process: not_implemented + endpoint-id: + _process: not_implemented + local: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + remote: + _process: not_implemented + config: + _process: not_implemented + remote-system: + _process: not_implemented + virtual-circuit-identifier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/isis.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/isis.yaml new file mode 100644 index 00000000..463623fd --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/isis.yaml @@ -0,0 +1,508 @@ +--- +_process: not_implemented +global: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + multi-topology: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + fast-flooding: + _process: not_implemented + iid-tlv: + _process: not_implemented + instance: + _process: not_implemented + level-capability: + _process: not_implemented + max-ecmp-paths: + _process: not_implemented + maximum-area-addresses: + _process: not_implemented + net: + _process: not_implemented + poi-tlv: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + afi: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + nh-type: + _process: not_implemented + state: + _process: not_implemented + inter-level-propagation-policies: + _process: not_implemented + level1-to-level2: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + level2-to-level1: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + lsp-bit: + _process: not_implemented + attached-bit: + _process: not_implemented + config: + _process: not_implemented + ignore-bit: + _process: not_implemented + suppress-bit: + _process: not_implemented + state: + _process: not_implemented + overload-bit: + _process: not_implemented + config: + _process: not_implemented + advertise-high-metric: + _process: not_implemented + set-bit: + _process: not_implemented + set-bit-on-boot: + _process: not_implemented + reset-triggers: + _process: not_implemented + reset-trigger: + _process: not_implemented + config: + _process: not_implemented + delay: + _process: not_implemented + reset-trigger: + _process: not_implemented + reset-trigger: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + nsr: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + state: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + config: + _process: not_implemented + reference-bandwidth: + _process: not_implemented + state: + _process: not_implemented + segment-routing: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + srgb: + _process: not_implemented + srlb: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + lsp-lifetime-interval: + _process: not_implemented + lsp-refresh-interval: + _process: not_implemented + lsp-generation: + _process: not_implemented + config: + _process: not_implemented + lsp-first-wait-interval: + _process: not_implemented + lsp-max-wait-interval: + _process: not_implemented + lsp-second-wait-interval: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + spf-first-interval: + _process: not_implemented + spf-hold-interval: + _process: not_implemented + spf-second-interval: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + lsp-mtu-size: + _process: not_implemented + state: + _process: not_implemented +interfaces: + _process: not_implemented + interface: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + state: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + bfd: + _process: not_implemented + config: + _process: not_implemented + bfd-tlv: + _process: not_implemented + state: + _process: not_implemented + circuit-counters: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + circuit-type: + _process: not_implemented + enabled: + _process: not_implemented + hello-padding: + _process: not_implemented + interface-id: + _process: not_implemented + passive: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + levels: + _process: not_implemented + level: + _process: not_implemented + adjacencies: + _process: not_implemented + afi-safi: + _process: not_implemented + af: + _process: not_implemented + afi-name: + _process: not_implemented + config: + _process: not_implemented + afi-name: + _process: not_implemented + enabled: + _process: not_implemented + metric: + _process: not_implemented + safi-name: + _process: not_implemented + safi-name: + _process: not_implemented + segment-routing: + _process: not_implemented + adjacency-sids: + _process: not_implemented + adjacency-sid: + _process: not_implemented + config: + _process: not_implemented + group: + _process: not_implemented + neighbor: + _process: not_implemented + protection-eligible: + _process: not_implemented + sid-id: + _process: not_implemented + neighbor: + _process: not_implemented + sid-id: + _process: not_implemented + state: + _process: not_implemented + prefix-sids: + _process: not_implemented + prefix-sid: + _process: not_implemented + config: + _process: not_implemented + label-options: + _process: not_implemented + prefix: + _process: not_implemented + sid-id: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + hello-authentication: + _process: not_implemented + config: + _process: not_implemented + hello-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + level-number: + _process: not_implemented + packet-counters: + _process: not_implemented + cnsp: + _process: not_implemented + state: + _process: not_implemented + esh: + _process: not_implemented + state: + _process: not_implemented + iih: + _process: not_implemented + state: + _process: not_implemented + ish: + _process: not_implemented + state: + _process: not_implemented + lsp: + _process: not_implemented + state: + _process: not_implemented + psnp: + _process: not_implemented + state: + _process: not_implemented + unknown: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + hello-multiplier: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + csnp-interval: + _process: not_implemented + lsp-pacing-interval: + _process: not_implemented + state: + _process: not_implemented +levels: + _process: not_implemented + level: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + csnp-authentication: + _process: not_implemented + lsp-authentication: + _process: not_implemented + psnp-authentication: + _process: not_implemented + key: + _process: not_implemented + config: + _process: not_implemented + auth-password: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + authentication-check: + _process: not_implemented + enabled: + _process: not_implemented + level-number: + _process: not_implemented + metric-style: + _process: not_implemented + level-number: + _process: not_implemented + link-state-database: + _process: not_implemented + route-preference: + _process: not_implemented + config: + _process: not_implemented + external-route-preference: + _process: not_implemented + internal-route-preference: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + system-level-counters: + _process: not_implemented + state: + _process: not_implemented + traffic-engineering: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + ipv4-router-id: + _process: not_implemented + ipv6-router-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/mpls.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/mpls.yaml new file mode 100644 index 00000000..2922a092 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/mpls.yaml @@ -0,0 +1,585 @@ +--- +_process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + null-label: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + mpls-enabled: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + reserved-label-blocks: + _process: not_implemented + reserved-label-block: + _process: not_implemented + config: + _process: not_implemented + local-id: + _process: not_implemented + lower-bound: + _process: not_implemented + upper-bound: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented +lsps: + _process: not_implemented + constrained-path: + _process: not_implemented + named-explicit-paths: + _process: not_implemented + named-explicit-path: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + sid-protection-required: + _process: not_implemented + sid-selection-mode: + _process: not_implemented + explicit-route-objects: + _process: not_implemented + explicit-route-object: + _process: not_implemented + config: + _process: not_implemented + address: + _process: not_implemented + hop-type: + _process: not_implemented + index: + _process: not_implemented + index: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + tunnels: + _process: not_implemented + tunnel: + _process: not_implemented + bandwidth: + _process: not_implemented + auto-bandwidth: + _process: not_implemented + config: + _process: not_implemented + adjust-interval: + _process: not_implemented + adjust-threshold: + _process: not_implemented + enabled: + _process: not_implemented + max-bw: + _process: not_implemented + min-bw: + _process: not_implemented + overflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + overflow-threshold: + _process: not_implemented + trigger-event-count: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + underflow: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + trigger-event-count: + _process: not_implemented + underflow-threshold: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + set-bandwidth: + _process: not_implemented + specification-type: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + admin-status: + _process: not_implemented + description: + _process: not_implemented + hold-priority: + _process: not_implemented + metric: + _process: not_implemented + metric-type: + _process: not_implemented + name: + _process: not_implemented + preference: + _process: not_implemented + protection-style-requested: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + shortcut-eligible: + _process: not_implemented + signaling-protocol: + _process: not_implemented + soft-preemption: + _process: not_implemented + source: + _process: not_implemented + type: + _process: not_implemented + name: + _process: not_implemented + p2p-tunnel-attributes: + _process: not_implemented + config: + _process: not_implemented + destination: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + p2p-primary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + candidate-secondary-paths: + _process: not_implemented + candidate-secondary-path: + _process: not_implemented + config: + _process: not_implemented + priority: + _process: not_implemented + secondary-path: + _process: not_implemented + secondary-path: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + p2p-secondary-paths: + _process: not_implemented + p2p-secondary-path: + _process: not_implemented + admin-groups: + _process: not_implemented + config: + _process: not_implemented + exclude-group: + _process: not_implemented + include-all-group: + _process: not_implemented + include-any-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + cspf-tiebreaker: + _process: not_implemented + explicit-path-name: + _process: not_implemented + hold-priority: + _process: not_implemented + name: + _process: not_implemented + path-computation-method: + _process: not_implemented + path-computation-server: + _process: not_implemented + preference: + _process: not_implemented + retry-timer: + _process: not_implemented + setup-priority: + _process: not_implemented + use-cspf: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + static-lsps: + _process: not_implemented + static-lsp: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + egress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + ingress: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + transit: + _process: not_implemented + config: + _process: not_implemented + incoming-label: + _process: not_implemented + next-hop: + _process: not_implemented + push-label: + _process: not_implemented + state: + _process: not_implemented + unconstrained-path: + _process: not_implemented + path-setup-protocol: + _process: not_implemented +signaling-protocols: + _process: not_implemented + rsvp-te: + _process: not_implemented + global: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + recovery-time: + _process: not_implemented + restart-time: + _process: not_implemented + state: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + soft-preemption: + _process: not_implemented + config: + _process: not_implemented + enable: + _process: not_implemented + soft-preemption-timeout: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + authentication: + _process: not_implemented + config: + _process: not_implemented + authentication-key: + _process: not_implemented + enable: + _process: not_implemented + state: + _process: not_implemented + bandwidth-reservations: + _process: not_implemented + bandwidth-reservation: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + hellos: + _process: not_implemented + config: + _process: not_implemented + hello-interval: + _process: not_implemented + refresh-reduction: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + protection: + _process: not_implemented + config: + _process: not_implemented + bypass-optimize-interval: + _process: not_implemented + link-protection-style-requested: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + subscription: + _process: not_implemented + config: + _process: not_implemented + subscription: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + sessions: + _process: not_implemented + session: + _process: not_implemented + segment-routing: + _process: not_implemented + aggregate-sid-counters: + _process: not_implemented + aggregate-sid-counter: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + sid-counters: + _process: not_implemented + sid-counter: + _process: not_implemented + state: + _process: not_implemented +te-global-attributes: + _process: not_implemented + mpls-admin-groups: + _process: not_implemented + admin-group: + _process: not_implemented + admin-group-name: + _process: not_implemented + config: + _process: not_implemented + admin-group-name: + _process: not_implemented + bit-position: + _process: not_implemented + state: + _process: not_implemented + srlgs: + _process: not_implemented + srlg: + _process: not_implemented + config: + _process: not_implemented + cost: + _process: not_implemented + flooding-type: + _process: not_implemented + name: + _process: not_implemented + value: + _process: not_implemented + name: + _process: not_implemented + state: + _process: not_implemented + static-srlg-members: + _process: not_implemented + members-list: + _process: not_implemented + config: + _process: not_implemented + from-address: + _process: not_implemented + to-address: + _process: not_implemented + from-address: + _process: not_implemented + state: + _process: not_implemented + te-lsp-timers: + _process: not_implemented + config: + _process: not_implemented + cleanup-delay: + _process: not_implemented + install-delay: + _process: not_implemented + reoptimize-timer: + _process: not_implemented + state: + _process: not_implemented +te-interface-attributes: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + admin-group: + _process: not_implemented + interface-id: + _process: not_implemented + srlg-membership: + _process: not_implemented + te-metric: + _process: not_implemented + igp-flooding-bandwidth: + _process: not_implemented + config: + _process: not_implemented + delta-percentage: + _process: not_implemented + down-thresholds: + _process: not_implemented + threshold-specification: + _process: not_implemented + threshold-type: + _process: not_implemented + up-down-thresholds: + _process: not_implemented + up-thresholds: + _process: not_implemented + state: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/ospfv2.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/ospfv2.yaml new file mode 100644 index 00000000..adf0afef --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/ospfv2.yaml @@ -0,0 +1,224 @@ +--- +_process: not_implemented +areas: + _process: not_implemented + area: + _process: not_implemented + config: + _process: not_implemented + identifier: + _process: not_implemented + identifier: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + authentication-type: + _process: not_implemented + hide-network: + _process: not_implemented + id: + _process: not_implemented + metric: + _process: not_implemented + multi-area-adjacency-primary: + _process: not_implemented + network-type: + _process: not_implemented + passive: + _process: not_implemented + priority: + _process: not_implemented + id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + lsa-filter: + _process: not_implemented + config: + _process: not_implemented + all: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-metric: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + neighbors: + _process: not_implemented + neighbor: + _process: not_implemented + config: + _process: not_implemented + metric: + _process: not_implemented + router-id: + _process: not_implemented + router-id: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + config: + _process: not_implemented + dead-interval: + _process: not_implemented + hello-interval: + _process: not_implemented + retransmission-interval: + _process: not_implemented + state: + _process: not_implemented + lsdb: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-enabled: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + virtual-links: + _process: not_implemented + virtual-link: + _process: not_implemented + config: + _process: not_implemented + remote-router-id: + _process: not_implemented + remote-router-id: + _process: not_implemented + state: + _process: not_implemented +global: + _process: not_implemented + config: + _process: not_implemented + hide-transit-only-networks: + _process: not_implemented + igp-shortcuts: + _process: not_implemented + log-adjacency-changes: + _process: not_implemented + router-id: + _process: not_implemented + summary-route-cost-mode: + _process: not_implemented + graceful-restart: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + helper-only: + _process: not_implemented + state: + _process: not_implemented + inter-area-propagation-policies: + _process: not_implemented + inter-area-propagation-policy: + _process: not_implemented + config: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-area: + _process: not_implemented + import-policy: + _process: not_implemented + src-area: + _process: not_implemented + dst-area: + _process: not_implemented + src-area: + _process: not_implemented + state: + _process: not_implemented + mpls: + _process: not_implemented + config: + _process: not_implemented + traffic-engineering-extensions: + _process: not_implemented + igp-ldp-sync: + _process: not_implemented + config: + _process: not_implemented + enabled: + _process: not_implemented + post-session-up-delay: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + timers: + _process: not_implemented + lsa-generation: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented + max-metric: + _process: not_implemented + config: + _process: not_implemented + include: + _process: not_implemented + set: + _process: not_implemented + timeout: + _process: not_implemented + trigger: + _process: not_implemented + state: + _process: not_implemented + spf: + _process: not_implemented + config: + _process: not_implemented + initial-delay: + _process: not_implemented + maximum-delay: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/segment_routing.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/segment_routing.yaml new file mode 100644 index 00000000..58593331 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/segment_routing.yaml @@ -0,0 +1,38 @@ +--- +_process: not_implemented +srgbs: + _process: not_implemented + srgb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefixes: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-blocks: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented +srlbs: + _process: not_implemented + srlb: + _process: not_implemented + config: + _process: not_implemented + dataplane-type: + _process: not_implemented + ipv6-prefix: + _process: not_implemented + local-id: + _process: not_implemented + mpls-label-block: + _process: not_implemented + local-id: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml new file mode 100644 index 00000000..549be135 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml @@ -0,0 +1,55 @@ +--- +_process: + - mode: gate + when: "{{ protocol_key != 'static static' }}" +static: + _process: + - mode: container + container: "route" + key_element: name + key_value: "{{ static_key }}" + config: + _process: unnecessary + prefix: + _process: unnecessary + set-tag: + _process: not_implemented + next-hops: + _process: unnecessary + next-hop: + _process: + - mode: container + container: "qualified-next-hop" + key_element: name + key_value: "{{ next_hop_key }}" + config: + _process: unnecessary + index: + _process: not_implemented + metric: + _process: + - mode: element + element: metric + next-hop: + _process: unnecessary + recurse: + _process: not_implemented + index: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml new file mode 100644 index 00000000..80562e11 --- /dev/null +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml @@ -0,0 +1,379 @@ +--- +metadata: + processor: XMLTranslator + xml_root: configuration + +network-instances: + _process: unnecessary + network-instance: + _process: + - mode: container + container: "routing-instances" + replace: true + delete_on_merge: false + reuse: true + when: "{{ network_instance_key != 'global' }}" + - mode: container + container: instance + key_element: name + key_value: "{{ network_instance_key }}" + when: "{{ network_instance_key != 'global' }}" + afts: !include includes/afts.yaml + config: + _process: unnecessary + description: + _process: + - mode: element + element: description + enabled: + _process: unnecessary + enabled-address-families: + _process: not_implemented + mtu: + _process: not_implemented + name: + _process: unnecessary + route-distinguisher: + _process: not_implemented + router-id: + _process: not_implemented + type: + _process: + - mode: map + element: instance-type + map: + L3VRF: vrf + L2L3: virtual-router + when: "{{ network_instance_key != 'global' }}" + connection-points: !include includes/connection_points.yaml + encapsulation: + _process: not_implemented + config: + _process: not_implemented + control-word: + _process: not_implemented + encapsulation-type: + _process: not_implemented + label-allocation-mode: + _process: not_implemented + state: + _process: not_implemented + fdb: + _process: not_implemented + config: + _process: not_implemented + mac-aging-time: + _process: not_implemented + mac-learning: + _process: not_implemented + maximum-entries: + _process: not_implemented + mac-table: + _process: not_implemented + entries: + _process: not_implemented + entry: + _process: not_implemented + config: + _process: not_implemented + mac-address: + _process: not_implemented + vlan: + _process: not_implemented + interface: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + mac-address: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + inter-instance-policies: + _process: not_implemented + apply-policy: + _process: not_implemented + config: + _process: not_implemented + default-export-policy: + _process: not_implemented + default-import-policy: + _process: not_implemented + export-policy: + _process: not_implemented + import-policy: + _process: not_implemented + state: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + associated-address-families: + _process: not_implemented + id: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + id: + _process: not_implemented + state: + _process: not_implemented + mpls: !include includes/mpls.yaml + name: + _process: unnecessary + policy-forwarding: + _process: not_implemented + interfaces: + _process: not_implemented + interface: + _process: not_implemented + config: + _process: not_implemented + apply-forwarding-policy: + _process: not_implemented + interface-id: + _process: not_implemented + interface-id: + _process: not_implemented + interface-ref: + _process: not_implemented + config: + _process: not_implemented + interface: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + path-selection-groups: + _process: not_implemented + path-selection-group: + _process: not_implemented + config: + _process: not_implemented + group-id: + _process: not_implemented + mpls-lsp: + _process: not_implemented + group-id: + _process: not_implemented + state: + _process: not_implemented + policies: + _process: not_implemented + policy: + _process: not_implemented + config: + _process: not_implemented + policy-id: + _process: not_implemented + policy-id: + _process: not_implemented + rules: + _process: not_implemented + rule: + _process: not_implemented + action: + _process: not_implemented + config: + _process: not_implemented + decapsulate-gre: + _process: not_implemented + discard: + _process: not_implemented + network-instance: + _process: not_implemented + next-hop: + _process: not_implemented + path-selection-group: + _process: not_implemented + state: + _process: not_implemented + config: + _process: not_implemented + sequence-id: + _process: not_implemented + ip: + _process: not_implemented + config: + _process: not_implemented + destination-ip-address: + _process: not_implemented + destination-ip-flow-label: + _process: not_implemented + dscp: + _process: not_implemented + hop-limit: + _process: not_implemented + ip-version: + _process: not_implemented + protocol: + _process: not_implemented + source-ip-address: + _process: not_implemented + source-ip-flow-label: + _process: not_implemented + state: + _process: not_implemented + l2: + _process: not_implemented + config: + _process: not_implemented + destination-mac: + _process: not_implemented + destination-mac-mask: + _process: not_implemented + ethertype: + _process: not_implemented + source-mac: + _process: not_implemented + source-mac-mask: + _process: not_implemented + state: + _process: not_implemented + sequence-id: + _process: not_implemented + state: + _process: not_implemented + transport: + _process: not_implemented + config: + _process: not_implemented + destination-port: + _process: not_implemented + source-port: + _process: not_implemented + tcp-flags: + _process: not_implemented + state: + _process: not_implemented + state: + _process: not_implemented + protocols: + _process: unnecessary + protocol: + _process: + - mode: container + container: "protocols/{{ model.identifier }}" + replace: true + when: "{{ protocol_key != 'static static' }}" + - mode: container + container: "routing-options/static" + when: "{{ protocol_key == 'static static' }}" + bgp: !include includes/bgp.yaml + config: + _process: not_implemented + default-metric: + _process: not_implemented + enabled: + _process: not_implemented + identifier: + _process: not_implemented + name: + _process: not_implemented + identifier: + _process: unnecessary + isis: !include includes/isis.yaml + local-aggregates: + _process: not_implemented + aggregate: + _process: not_implemented + config: + _process: not_implemented + discard: + _process: not_implemented + prefix: + _process: not_implemented + set-tag: + _process: not_implemented + prefix: + _process: not_implemented + state: + _process: not_implemented + name: + _process: unnecessary + ospfv2: !include includes/ospfv2.yaml + state: + _process: not_implemented + static-routes: !include includes/static_routes.yaml + segment-routing: !include includes/segment_routing.yaml + state: + _process: not_implemented + table-connections: + _process: not_implemented + table-connection: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + default-import-policy: + _process: not_implemented + dst-protocol: + _process: not_implemented + import-policy: + _process: not_implemented + src-protocol: + _process: not_implemented + dst-protocol: + _process: not_implemented + src-protocol: + _process: not_implemented + state: + _process: not_implemented + tables: + _process: not_implemented + table: + _process: not_implemented + address-family: + _process: not_implemented + config: + _process: not_implemented + address-family: + _process: not_implemented + protocol: + _process: not_implemented + protocol: + _process: not_implemented + state: + _process: not_implemented + vlans: + _process: not_implemented + vlan: + _process: not_implemented + config: + _process: not_implemented + name: + _process: not_implemented + status: + _process: not_implemented + tpid: + _process: not_implemented + vlan-id: + _process: not_implemented + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json b/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json index 736f3e89..b4aa3bca 100644 --- a/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json @@ -4,8 +4,7 @@ "devel": { "config": { "enabled": true, - "route-distinguisher": "1:2", - "type": "L3VRF" + "type": "L2L3" }, "name": "devel", "protocols": { @@ -15,33 +14,44 @@ "name": "static", "static-routes": { "static": { - "10.0.0.0/24": { + "10.0.2.0/24": { + "config": { + "prefix": "10.0.2.0/24" + }, "next-hops": { "next-hop": { - "192.168.2.2": { + "192.168.100.200": { + "config": { + "next-hop": "192.168.100.200" + }, + "index": "192.168.100.200" + }, + "192.168.100.101": { "config": { - "metric": 1, - "next-hop": "192.168.2.2" + "metric": 200, + "next-hop": "192.168.100.101" }, - "index": "192.168.2.2" + "index": "192.168.100.101" } } }, - "prefix": "10.0.0.0/24" + "prefix": "10.0.2.0/24" }, - "10.0.1.0/24": { + "10.100.2.0/24": { + "config": { + "prefix": "10.100.2.0/24" + }, "next-hops": { "next-hop": { - "192.168.2.2": { + "192.168.100.200": { "config": { - "metric": 1, - "next-hop": "192.168.2.2" + "next-hop": "192.168.100.200" }, - "index": "192.168.2.2" + "index": "192.168.100.200" } } }, - "prefix": "10.0.1.0/24" + "prefix": "10.100.2.0/24" } } } @@ -52,7 +62,7 @@ "global": { "config": { "enabled": true, - "type": "L3VRF" + "type": "DEFAULT_INSTANCE" }, "name": "global", "protocols": { @@ -61,20 +71,36 @@ "bgp": { "global": { "config": { - "as": 65001, + "as": 65000, "router-id": "1.1.1.1" } }, "neighbors": { "neighbor": { - "192.168.0.200": { + "172.20.0.1": { "config": { - "description": "asdasd qweq asdasd", - "enabled": true, - "neighbor-address": "192.168.0.200", - "peer-as": 65100 + "neighbor-address": "172.20.0.1", + "peer-as": 65200, + "peer-group": "my_other_peers" }, - "neighbor-address": "192.168.0.200" + "neighbor-address": "172.20.0.1" + }, + "192.168.100.2": { + "config": { + "description": "adsasd", + "neighbor-address": "192.168.100.2", + "peer-as": 65101, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.2" + }, + "192.168.100.30": { + "config": { + "neighbor-address": "192.168.100.30", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.30" } } } @@ -88,39 +114,44 @@ "static-routes": { "static": { "10.0.0.0/24": { + "config": { + "prefix": "10.0.0.0/24" + }, "next-hops": { "next-hop": { - "192.168.0.2": { + "192.168.100.100": { "config": { - "metric": 1, - "next-hop": "192.168.0.2" + "metric": 100, + "next-hop": "192.168.100.100" }, - "index": "192.168.0.2" + "index": "192.168.100.100" }, - "192.168.0.3": { + "192.168.100.101": { "config": { - "metric": 1, - "next-hop": "192.168.0.3" + "metric": 200, + "next-hop": "192.168.100.101" }, - "index": "192.168.0.3" + "index": "192.168.100.101" } } }, "prefix": "10.0.0.0/24" }, - "10.0.1.0/24": { + "10.100.0.0/24": { + "config": { + "prefix": "10.100.0.0/24" + }, "next-hops": { "next-hop": { - "192.168.0.2": { + "192.168.100.200": { "config": { - "metric": 1, - "next-hop": "192.168.0.2" + "next-hop": "192.168.100.200" }, - "index": "192.168.0.2" + "index": "192.168.100.200" } } }, - "prefix": "10.0.1.0/24" + "prefix": "10.100.0.0/24" } } } @@ -130,32 +161,33 @@ }, "frontend": { "config": { - "description": "Production VRF", + "description": "production vrf", "enabled": true, - "route-distinguisher": "1:1", - "type": "L3VRF" + "type": "L2L3" }, "name": "frontend", "protocols": { "protocol": { "bgp bgp": { "bgp": { - "global": { - "config": { - "as": 65001, - "router-id": "2.2.2.2" - } - }, "neighbors": { "neighbor": { - "172.20.0.200": { + "192.168.100.2": { "config": { - "enabled": true, - "local-as": 100, - "neighbor-address": "172.20.0.200", - "peer-as": 65100 + "description": "adsasd", + "neighbor-address": "192.168.100.2", + "peer-as": 65100, + "peer-group": "my_peers" }, - "neighbor-address": "172.20.0.200" + "neighbor-address": "192.168.100.2" + }, + "192.168.100.3": { + "config": { + "neighbor-address": "192.168.100.3", + "peer-as": 65100, + "peer-group": "my_peers" + }, + "neighbor-address": "192.168.100.3" } } } @@ -168,33 +200,44 @@ "name": "static", "static-routes": { "static": { - "10.0.0.0/24": { + "10.0.1.0/24": { + "config": { + "prefix": "10.0.1.0/24" + }, "next-hops": { "next-hop": { - "172.20.0.2": { + "192.168.100.100": { "config": { - "metric": 1, - "next-hop": "172.20.0.2" + "next-hop": "192.168.100.100" }, - "index": "172.20.0.2" + "index": "192.168.100.100" + }, + "192.168.100.101": { + "config": { + "metric": 200, + "next-hop": "192.168.100.101" + }, + "index": "192.168.100.101" } } }, - "prefix": "10.0.0.0/24" + "prefix": "10.0.1.0/24" }, - "10.0.1.0/24": { + "10.100.1.0/24": { + "config": { + "prefix": "10.100.1.0/24" + }, "next-hops": { "next-hop": { - "172.20.0.2": { + "192.168.100.200": { "config": { - "metric": 1, - "next-hop": "172.20.0.2" + "next-hop": "192.168.100.200" }, - "index": "172.20.0.2" + "index": "192.168.100.200" } } }, - "prefix": "10.0.1.0/24" + "prefix": "10.100.1.0/24" } } } @@ -205,4 +248,3 @@ } } } - diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt index 0b330168..530d8f86 100644 --- a/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt @@ -1 +1,141 @@ -asdads + + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + my_peers + + 192.168.100.2 + adsasd + 65101 + + + + my_peers + + 192.168.100.30 + 65100 + + + + my_peers + + 192.168.100.3 + + + + + + 1.1.1.1 + + + + 65000 + + + + + + 10.100.0.0/24 + + 192.168.100.200 + + + + 10.0.0.0/24 + + 192.168.100.100 + 100 + + + 192.168.100.101 + 200 + + + + + + + frontend + virtual-router + production vrf + + + + my_peers + + 192.168.100.3 + 65100 + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + + + + + + 10.0.1.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.1.0/24 + + 192.168.100.200 + + + + + + + devel + virtual-router + + + + 10.0.2.0/24 + + 192.168.100.200 + + + 192.168.100.101 + 200 + + + 192.168.100.100 + + + + 10.100.2.0/24 + + 192.168.100.200 + + + + + + + + + prod + + + diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt index bf7e8990..b572452e 100644 --- a/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt @@ -1 +1,127 @@ -asdasd + + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + my_peers + + 192.168.100.2 + adsasd + 65101 + + + + my_peers + + 192.168.100.30 + 65100 + + + + + + 1.1.1.1 + + + + 65000 + + + + + + 10.100.0.0/24 + + 192.168.100.200 + + + + 10.0.0.0/24 + + 192.168.100.100 + 100 + + + 192.168.100.101 + 200 + + + + + + + frontend + virtual-router + production vrf + + + + my_peers + + 192.168.100.3 + 65100 + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + + + + + + 10.0.1.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.1.0/24 + + 192.168.100.200 + + + + + + + devel + virtual-router + + + + 10.0.2.0/24 + + 192.168.100.200 + + + 192.168.100.101 + 200 + + + + 10.100.2.0/24 + + 192.168.100.200 + + + + + + + diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt b/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt index 0b330168..235b21d3 100644 --- a/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt +++ b/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt @@ -1 +1,127 @@ -asdads + + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + my_peers + + 192.168.100.3 + 65100 + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + + + + 1.1.1.1 + + + + 65000 + + + + + + 10.100.0.0/24 + + 192.168.100.200 + + + + 10.0.0.0/24 + + 192.168.100.100 + 100 + + + 192.168.100.101 + 200 + + + + + + + prod + virtual-router + production vrf + + + + my_peers + + 192.168.100.3 + 65100 + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + + + + + + 10.0.1.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.1.0/24 + + 192.168.100.200 + + + + + + + devel + virtual-router + + + + 10.0.2.0/24 + + 192.168.100.100 + + + 192.168.100.101 + 200 + + + + 10.100.2.0/24 + + 192.168.100.200 + + + + + + + diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 0e4d6860..57a8a8ee 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -1,5 +1,7 @@ from __future__ import unicode_literals +from napalm_base import get_network_driver + import napalm_yang import pytest @@ -14,6 +16,16 @@ logger = logging.getLogger("napalm-yang") +device_configuration = { + "junos": { + 'hostname': '127.0.0.1', + 'username': 'vagrant', + 'password': '', + 'optional_args': {'port': 12203, 'config_lock': False} + } +} + + def config_logging(): logger.setLevel(logging.DEBUG) ch = logging.StreamHandler(sys.stdout) @@ -33,8 +45,8 @@ def pretty_json(dictionary): test_config_profile_models = [ - ["ios", napalm_yang.models.openconfig_interfaces, "default"], - ["eos", napalm_yang.models.openconfig_network_instance, "default"], + # ["ios", napalm_yang.models.openconfig_interfaces, "default"], + # ["eos", napalm_yang.models.openconfig_network_instance, "default"], ["junos", napalm_yang.models.openconfig_network_instance, "default"], ] @@ -83,7 +95,11 @@ def test_translate(self, profile, model, case): config.load_dict(json_blob) configuration = config.translate_config(profile=[profile]) - # print(configuration) + + # driver = get_network_driver(profile) + # with driver(**device_configuration[profile]) as d: + # d.load_merge_candidate(config=configuration) + # print(d.compare_config()) assert configuration == expected_translation @@ -111,6 +127,12 @@ def test_translate_merge(self, action, profile, model, case): # print(pretty_json(napalm_yang.utils.diff(candidate, running))) # print(configuration) + # driver = get_network_driver(profile) + # with driver(**device_configuration[profile]) as d: + # d.load_merge_candidate(config=configuration) + # print(d.compare_config()) + # d.discard_config() + assert configuration == expected_translation @pytest.mark.parametrize("profile, model, case", test_state_profile_models) From e451478303124b1c8f2fff77cfdfbf762468d3e3 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 15 May 2017 10:13:14 +0200 Subject: [PATCH 068/153] Removed negate_recursively as it's unnecessary --- .../openconfig-network-instance/network-instances.yaml | 2 -- napalm_yang/translator.py | 3 +-- napalm_yang/translators/base.py | 4 +--- test/integration/test_profiles.py | 4 ++-- 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml index 5f9f8564..307bbc0c 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml @@ -265,14 +265,12 @@ network-instances: - mode: container key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n" negate: "no router bgp {{ model.bgp.global_.config.as_ }}\n" - negate_recursively: true end: " exit\n" when: "{{ protocol_key == 'bgp bgp' and network_instance_key == 'global' }}" in: "network-instances" - mode: container key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n vrf {{ network_instance_key}}\n" negate: "router bgp {{ model.bgp.global_.config.as_ }}\n no vrf {{ network_instance_key}}\n" - negate_recursively: true end: " exit\n" when: "{{ protocol_key == 'bgp bgp' and network_instance_key != 'global' }}" replace: false diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 2cff8a9f..8d2e2f8a 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -151,8 +151,7 @@ def _default_element_list(self, attribute, running, mapping, translation, candid self.keys, None, element, self.bookmarks) - self.translator.default_element(translation_rule, translation, self.bookmarks, - recursive=candidate is {}) + self.translator.default_element(translation_rule, translation, self.bookmarks) if any([t.get("continue_negating", False) for t in translation_rule]): self._default_child(attribute, element, mapping, translation) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 11ccb195..9cec9d3a 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -32,7 +32,7 @@ def init_element(self, attribute, model, other, mapping, translation, bookmarks) return None return et - def default_element(self, mapping, translation, bookmarks, replacing=False, recursive=False): + def default_element(self, mapping, translation, bookmarks, replacing=False): t = translation for m in mapping: if m["mode"] == "skip": @@ -40,8 +40,6 @@ def default_element(self, mapping, translation, bookmarks, replacing=False, recu elif m["mode"] == "gate": return - if recursive and not m.get("negate_recursively", False): - continue t = _find_translation_point(m, bookmarks, t) method_name = "_default_element_{}".format(m["mode"]) t = getattr(self, method_name)(m, t, replacing) diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 57a8a8ee..2337cfce 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -45,8 +45,8 @@ def pretty_json(dictionary): test_config_profile_models = [ - # ["ios", napalm_yang.models.openconfig_interfaces, "default"], - # ["eos", napalm_yang.models.openconfig_network_instance, "default"], + ["ios", napalm_yang.models.openconfig_interfaces, "default"], + ["eos", napalm_yang.models.openconfig_network_instance, "default"], ["junos", napalm_yang.models.openconfig_network_instance, "default"], ] From 2cbeb108c3380cc467b451dd76f5b3077df4e38d Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 15 May 2017 10:19:48 +0200 Subject: [PATCH 069/153] Updated docs --- docs/index.rst | 1 + docs/yang/faq.rst | 24 +++++++ docs/yang/parsers.rst | 54 +++++++++++++-- docs/yang/parsers/TextParser.rst | 85 +++++++++++++++++++++--- docs/yang/parsers/XMLParser.rst | 11 ++- docs/yang/profiles.rst | 20 +++--- docs/yang/translators.rst | 83 +++++++++++++++++++++++ docs/yang/translators/TextTranslator.rst | 4 +- docs/yang/translators/XMLTranslator.rst | 4 +- docs/yang/writing_profiles.rst | 2 +- 10 files changed, 252 insertions(+), 36 deletions(-) create mode 100644 docs/yang/faq.rst diff --git a/docs/index.rst b/docs/index.rst index 0245be3c..1599accd 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -29,3 +29,4 @@ Documentation yang/translators/TextTranslator yang/api yang/jinja_filters + yang/faq diff --git a/docs/yang/faq.rst b/docs/yang/faq.rst new file mode 100644 index 00000000..e3fb09ed --- /dev/null +++ b/docs/yang/faq.rst @@ -0,0 +1,24 @@ +FAQ +=== + +Some YAML files are insanely largely. Can I break them down into multiple files? +________________________________________________________________________________ + + Yes, you can with the ``!include relative/path/to/file.yaml`` directive. For example:: + + # ./main.yaml + my_key: + blah: asdasdasd + bleh: !include includes/bleh.yaml + + # ./includes/bleh.yaml + qwe: 1 + asd: 2 + + Will result in the final object:: + + my_key: + blah: asdasdasd + bleh: + qwe: 1 + asd: 2 diff --git a/docs/yang/parsers.rst b/docs/yang/parsers.rst index 955ea16e..470b2f04 100644 --- a/docs/yang/parsers.rst +++ b/docs/yang/parsers.rst @@ -3,6 +3,52 @@ Parsers Parsers are responsible for mapping native configuration/show_commands to a YANG model. +Special actions +=============== + +Most actions depend on the parser you are using, however, some are common to all of them: + +unnecessary +----------- + +This makes the parser skip the field and continue processing the tree. + +not_implemented +--------------- + +This makes the parser stop processing the tree underneath this value. For example:: + + field_1: + process: unnecessary + field_2: + process: not_implemented + subfield_1: + process: ... + subfield_2: + process: ... + field_3: + ... + +The ``not_implemented`` action will stop the parser from processing ``subfield_1`` and ``subfield_2`` +and move directly onto ``field_3``. + +gate +---- + +Works like ``not_implemented`` but accepts a condition. For example:: + + protocols: + protocol: + bgp: + _process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" + global: + ... + +The snippet above will only process the ``bgp`` subtree if the condition is **not** met. + + Special fields ============== @@ -17,7 +63,7 @@ mode * **Example**: Parse the description field with a simple regular expression:: _process: - mode: search + - mode: search regexp: "description (?P.*)" from: "{{ bookmarks.interface[interface_key] }}" @@ -52,7 +98,7 @@ from address: _process: - mode: xpath + - mode: xpath xpath: "family/inet/address" key: name from: "{{ bookmarks['parent'] }}" @@ -112,14 +158,14 @@ Some actions let's you provide additional information for later use. Those will address: _process: - mode: block + - mode: block regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" from: "{{ bookmarks['parent'] }}" config: _process: unnecessary ip: _process: - mode: value + - mode: value value: "{{ extra_vars.ip }}" The first regexp captures a bunch of vars that later can be used by just reading them from diff --git a/docs/yang/parsers/TextParser.rst b/docs/yang/parsers/TextParser.rst index 743d9587..16cbc6cb 100644 --- a/docs/yang/parsers/TextParser.rst +++ b/docs/yang/parsers/TextParser.rst @@ -30,14 +30,19 @@ Arguments: * **regexp** (mandatory) - Regular expression to apply. Note that it must capture two things at least; ``block``, which will be the entire block of configuration relevant for the interface and ``key``, which will be the key of the element. - + * **mandatory** (optional) will force the creation of one or more elements by specifying them manually + in a dict the ``key``, ``block`` (can be empty string) and any potential ``extra_vars`` you may want to specify. + * **composite_key** (optional) is a list of attributes captured in the regexp to be used as the key for the element. + * **flat** (optional) if set to ``true`` (default is ``false``) the parser will understand the configuration for the + element consists of flat commands instead of nested (for example BGP neighbors or static routes) + * **key** (optional) set key manually Example 1 Capture the interfaces:: _process: - mode: block + - mode: block regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" from: "{{ bookmarks.interfaces }}" @@ -66,22 +71,81 @@ Example 2 subinterface: _process: - mode: block + - mode: block regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" from: "{{ bookmarks.interfaces }}" -Example 3. +Example 3 Sometimes we can get easily more information in one go than just the ``key`` and the ``block``. For those cases we can capture more groups and they will be stored in the ``extra_vars`` dictionary:: address: _process: - mode: block + - mode: block regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" from: "{{ bookmarks['parent'] }}" +Example 4 + + In some cases native configuration might be "flat" but nested in a YANG model. This is the case of the `global` + or `default` VRF, in those cases, it is hard you may want to ensure that `global` VRF is always created:: + + _process: + - mode: block + regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + mandatory: + - key: "global" + block: "" + extra_vars: {} + +Example 5 + + Some list elements have composite keys, if that's the case, use the composite key to tell the parser how to map + captured elements to the composite key:: + + protocols: + _process: unnecessary + protocol: + _process: + - mode: block + regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" + from: "{{ bookmarks['network-instances'][0] }}" + composite_key: [protocol_name, protocol_name] + when: "{{ network_instance_key == 'global' }}" + +Example 6 + + Some list elements (like static routes or BGP neighbors) are configured as a flat list of commands instead of + nested. By default, if you would try to parse each command individually the parser would try to create + a new element with each line and fail as multiple lines belong to the same element but they are treated independently. + By setting ``flat: true`` this behavior is changed and subsequent commands will update an already created object:: + + bgp: + neighbors: + neighbor: + _process: + - mode: block + regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" + from: "{{ bookmarks['protocol'][protocol_key] }}" + flat: true + +Example 7 + + In some rare cases you might not be able to extract the key directly from the configuration. For example, + the ``static`` protocol consists of ``ip route`` commands. In that case you can set the key yourself:: + + protocols: + protocol: + _process: + - mode: block + regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" + from: "{{ bookmarks['network-instances'][0] }}" + key: "static static" + + Leaf - search ------------- @@ -99,7 +163,7 @@ Example. description: _process: - mode: search + - mode: search regexp: "description (?P.*)" from: "{{ bookmarks.interface[interface_key] }}" @@ -118,7 +182,7 @@ Example. secondary: _process: - mode: value + - mode: value value: "{{ extra_vars.secondary != None }}" Leaf - is_absent @@ -136,7 +200,7 @@ Example. _process: unnecessary enabled: _process: - mode: is_absent + - mode: is_absent regexp: "(?P^\\W*switchport$)" from: "{{ bookmarks['parent'] }}" @@ -151,7 +215,7 @@ Example. enabled: _process: - mode: is_present + - mode: is_present regexp: "(?Pno shutdown)" from: "{{ bookmarks.interface[interface_key] }}" @@ -172,7 +236,7 @@ Example. Check type of interface by extracting the name and doing a lookup:: _process: - mode: map + - mode: map regexp: "(?P(\\w|-)*)\\d+" from: "{{ interface_key }}" map: @@ -181,4 +245,3 @@ Example. Loopback: softwareLoopback Port-Channel: ieee8023adLag Vlan: l3ipvlan - diff --git a/docs/yang/parsers/XMLParser.rst b/docs/yang/parsers/XMLParser.rst index e244734f..c075bb91 100644 --- a/docs/yang/parsers/XMLParser.rst +++ b/docs/yang/parsers/XMLParser.rst @@ -35,7 +35,7 @@ Example: interface: _process: - mode: xpath + - mode: xpath xpath: "interfaces/interface" key: name from: "{{ bookmarks.interfaces }}" @@ -73,7 +73,7 @@ Example: description: _process: - mode: xpath + - mode: xpath xpath: description from: "{{ bookmarks['parent'] }}" @@ -92,7 +92,7 @@ Example: name: _process: - mode: value + - mode: value value: "{{ interface_key }}" Leaf - map @@ -114,7 +114,7 @@ Example: type: _process: - mode: map + - mode: map xpath: name regexp: "(?P[a-z]+).*" from: "{{ bookmarks['parent'] }}" @@ -137,7 +137,7 @@ Example: enabled: _process: - mode: is_absent + - mode: is_absent xpath: "disable" from: "{{ bookmarks['parent'] }}" @@ -148,4 +148,3 @@ Leaf - is_present ----------------- Works exactly like ``xpath`` but if the evaluation is ``None``, it will return ``False``. - diff --git a/docs/yang/profiles.rst b/docs/yang/profiles.rst index a4154638..5e4023c3 100644 --- a/docs/yang/profiles.rst +++ b/docs/yang/profiles.rst @@ -22,7 +22,7 @@ If you are using a napalm driver and have access to your device, you will have a is useful as there might be small variances between different systems but not enough to justify reimplementing everything. -You can find the profiles `here `_ but what is exactly is a profile? A profile is a bunch of YAML files that follows the structure of a YANG model and describes two things: +You can find the profiles `here `_ but what exactly is a profile? A profile is a bunch of YAML files that follows the structure of a YANG model and describes two things: #. How to parse native configuration/state and map it into a model. #. How to translate a model and map it into native configuration. @@ -31,19 +31,19 @@ For example, for a given interface, the snippet below specifies how to map confi enabled: _process: - mode: is_present - regexp: "(?Pno shutdown)" - from: "{{ parse_bookmarks.interface[interface_key] }}" + - mode: is_present + regexp: "(?Pno shutdown)" + from: "{{ parse_bookmarks.interface[interface_key] }}" description: _process: - mode: search - regexp: "description (?P.*)" - from: "{{ parse_bookmarks.interface[interface_key] }}" + - mode: search + regexp: "description (?P.*)" + from: "{{ parse_bookmarks.interface[interface_key] }}" mtu: _process: - mode: search - regexp: "mtu (?P[0-9]+)" - from: "{{ parse_bookmarks.interface[interface_key] }}" + - mode: search + regexp: "mtu (?P[0-9]+)" + from: "{{ parse_bookmarks.interface[interface_key] }}" And the following snippet how to map the same attributes from the ``openconfig_interface`` to native configuration:: diff --git a/docs/yang/translators.rst b/docs/yang/translators.rst index 6012a04d..af3a790a 100644 --- a/docs/yang/translators.rst +++ b/docs/yang/translators.rst @@ -3,6 +3,51 @@ Translators Translators are responsible for transforming a model into native configuration. +Special actions +=============== + +Most actions depend on the parser you are using, however, some are common to all of them: + +unnecessary +----------- + +This makes the parser skip the field and continue processing the tree. + +not_implemented +--------------- + +This makes the parser stop processing the tree underneath this value. For example:: + + field_1: + process: unnecessary + field_2: + process: not_implemented + subfield_1: + process: ... + subfield_2: + process: ... + field_3: + ... + +The ``not_implemented`` action will stop the parser from processing ``subfield_1`` and ``subfield_2`` +and move directly onto ``field_3``. + +gate +---- + +Works like ``not_implemented`` but accepts a condition. For example:: + + protocols: + protocol: + bgp: + _process: + - mode: gate + when: "{{ protocol_key != 'bgp bgp' }}" + global: + ... + +The snippet above will only process the ``bgp`` subtree if the condition is **not** met. + Special fields ============== @@ -78,6 +123,44 @@ in .. note:: This field follows the same logic as the :ref:`yang_special_field_bookmarks` special field. +continue_negating +----------------- + +* **mandatory**: no +* **description**: This option, when added to a container, will make the framework to also negate children. +* **example**: We can use as an example the "network-instances" model. In the model, BGP is inside the ``network-instance`` container, however, in EOS and other platforms that BGP configuration is decoupled from the VRF, so in order to tell the framework to delete also the direct children you will have to use this option. For example:: + + network-instance: + _process: + - mode: container + key_value: "vrf definition {{ network_instance_key }}\n" + negate: "no vrf definition {{ network_instance_key }}\n" + continue_negating: true + end: " exit\n" + when: "{{ network_instance_key != 'global' }}" + ... + protocols: + _process: unnecessary + protocol: + _process: + - mode: container + key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n vrf {{ network_instance_key}}\n" + negate: "router bgp {{ model.bgp.global_.config.as_ }}\n no vrf {{ network_instance_key}}\n" + end: " exit\n" + when: "{{ protocol_key == 'bgp bgp' and network_instance_key != 'global' }}" + replace: false + in: "network-instances" + +The example above will generate:: + + no vrf definition blah + router bgp ASN + no vrf blah + +Without ``continue_negating`` it would just generate:: + + no vrf definition blah + Special variables ================= diff --git a/docs/yang/translators/TextTranslator.rst b/docs/yang/translators/TextTranslator.rst index 1fe73977..2b3076e7 100644 --- a/docs/yang/translators/TextTranslator.rst +++ b/docs/yang/translators/TextTranslator.rst @@ -28,7 +28,7 @@ Example 1: _process: unnecessary interface: _process: - mode: container + . mode: container key_value: "interface {{ interface_key }}\n" negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" end: " exit\n" @@ -39,7 +39,7 @@ Example 2: address: _process: - mode: container + . mode: container key_value: " ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" negate: " default ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" replace: false diff --git a/docs/yang/translators/XMLTranslator.rst b/docs/yang/translators/XMLTranslator.rst index 73f18a3c..ac1a70db 100644 --- a/docs/yang/translators/XMLTranslator.rst +++ b/docs/yang/translators/XMLTranslator.rst @@ -34,7 +34,7 @@ Example: Create the ``interfaces`` container:: _process: - mode: container + . mode: container container: interfaces replace: true @@ -57,7 +57,7 @@ Example: interface: _process: - mode: container + . mode: container container: interface key_element: name key_value: "{{ interface_key }}" diff --git a/docs/yang/writing_profiles.rst b/docs/yang/writing_profiles.rst index f88aca84..9eca4057 100644 --- a/docs/yang/writing_profiles.rst +++ b/docs/yang/writing_profiles.rst @@ -68,7 +68,7 @@ RPC call for a junos device. _process: unnecessary vlan_id: _process: - mode: xpath + - mode: xpath xpath: "vlan-id" from: "{{ parse_bookmarks['parent'] }}" From eeeac74dcd9e9fac252de47ae8f29f21a585a654 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 15 May 2017 10:20:42 +0200 Subject: [PATCH 070/153] Updated CHANGELOG --- CHANGELOG.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 CHANGELOG.rst diff --git a/CHANGELOG.rst b/CHANGELOG.rst new file mode 100644 index 00000000..f1696fbb --- /dev/null +++ b/CHANGELOG.rst @@ -0,0 +1,14 @@ +0.0.2 ++++++ + + - Translators now accept ``continue_negating`` option + - YAML files can now include other files via the ``!include relative/path/to/file.yaml`` directive + - ``TextParser``, ``list - block`` supports manual keys via the ``key`` argument + - ``TextParser``, ``list - block`` now supports flat list of commands (i.e. BGP neighbors and static routes) via the ``flat`` argument + - ``TextParser``, ``list - block`` now supports composite keys via the ``composite_key`` argument + - ``TextParser``, ``list - block`` now supports creating elements manually via the ``mandatory`` argument + +0.0.1 ++++++ + + - Initial version From ba53faf5f696790ea9d3361d3044002d04980a9c Mon Sep 17 00:00:00 2001 From: bewing Date: Sat, 10 Jun 2017 06:21:37 -0500 Subject: [PATCH 071/153] Allow each parser to modify native on start (#28) * Allow each parser to modify native on start * Use builtins super() * Move parser.init_native(), revert some assumptions. * Don't forget pylama * Update bookmark when running init_native * Syntax --- napalm_yang/parser.py | 14 ++++++++------ napalm_yang/parsers/base.py | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index 4b2566d1..895e32c7 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -26,17 +26,17 @@ def __init__(self, model, device=None, profile=None, is_config=None, self.extra_vars = extra_vars or {} if self.mapping and device: - device_config = self._execute_methods(device, + device_output = self._execute_methods(device, self.mapping["metadata"].get("execute", [])) else: - device_config = [] + device_output = [] native = native or [] self.native = [] - for n in native + device_config: + for n in native + device_output: if isinstance(n, basestring): self.native.append(n.replace("\r", "")) # Parsing will be easier else: @@ -45,12 +45,12 @@ def __init__(self, model, device=None, profile=None, is_config=None, if not self.native: raise Exception("I don't have any data to operate with") - self.bookmarks = {self._yang_name: self.native, "parent": self.native} - self.bookmarks = bookmarks or self.bookmarks - if self.mapping: self.parser = helpers.get_parser(self.mapping["metadata"]["processor"]) + self.bookmarks = {self._yang_name: self.native, "parent": self.native} + self.bookmarks = bookmarks or self.bookmarks + def _execute_methods(self, device, methods): result = [] for m in methods: @@ -70,6 +70,8 @@ def _execute_methods(self, device, methods): def parse(self): if not self.mapping: return + self.native = self.parser.init_native(self.native) + self.bookmarks.update({self._yang_name: self.native}) self._parse(self._yang_name, self.model, self.mapping[self._yang_name]) def _parse(self, attribute, model, mapping): diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 46c50813..e4069e44 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -3,8 +3,8 @@ class BaseParser(object): @classmethod - def init_config(cls, config): - return config + def init_native(cls, native): + return native @classmethod def parse_list(cls, mapping): From 3cc18d51789a7ac170248d75c3d40a6c0d0eabb9 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 10 Jun 2017 16:12:58 +0200 Subject: [PATCH 072/153] Added the possibility to parse only a subset of loaded models --- napalm_yang/base.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/napalm_yang/base.py b/napalm_yang/base.py index 505dfb38..65159d46 100644 --- a/napalm_yang/base.py +++ b/napalm_yang/base.py @@ -183,7 +183,7 @@ def to_dict(self, filter=True): result[k] = r return result - def parse_config(self, device=None, profile=None, native=None): + def parse_config(self, device=None, profile=None, native=None, attrs=None): """ Parse native configuration and load it into the corresponding models. Only models that have been added to the root object will be parsed. @@ -212,12 +212,14 @@ def parse_config(self, device=None, profile=None, native=None): >>> running_config.add_model(napalm_yang.models.openconfig_interfaces) >>> running_config.parse_config(native=config, profile="junos") """ + if attrs is None: + attrs = [a for _, a in self] - for k, v in self: + for v in attrs: parser = Parser(v, device=device, profile=profile, native=native, is_config=True) parser.parse() - def parse_state(self, device=None, profile=None, native=None): + def parse_state(self, device=None, profile=None, native=None, attrs=None): """ Parse native state and load it into the corresponding models. Only models that have been added to the root object will be parsed. @@ -246,7 +248,10 @@ def parse_state(self, device=None, profile=None, native=None): >>> state.add_model(napalm_yang.models.openconfig_interfaces) >>> state.parse_config(native=state_data, profile="junos") """ - for k, v in self: + if attrs is None: + attrs = [a for _, a in self] + + for v in attrs: parser = Parser(v, device=device, profile=profile, native=native, is_config=False) parser.parse() From d41976bd5deab23063700d7981b9a9336594fb20 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Sun, 11 Jun 2017 11:16:27 +0200 Subject: [PATCH 073/153] add post-process-filter attribute to text parser (#59) * add post-process-filter attribute to text parser * make post_process_filter an actual Jinja2 template that will get rendered * move get_parser * cleanup imports * make post_process_filter available to xmlparser as well * document post_process_filter --- docs/yang/parsers/TextParser.rst | 15 ++++++++++++++ docs/yang/parsers/XMLParser.rst | 1 + napalm_yang/helpers.py | 27 +++++++------------------ napalm_yang/jinja_filters/__init__.py | 16 +++++++++++++++ napalm_yang/jinja_filters/ip_filters.py | 13 ++++++++++++ napalm_yang/parser.py | 3 ++- napalm_yang/parsers/__init__.py | 15 ++++++++++++++ napalm_yang/parsers/base.py | 9 +++++++++ napalm_yang/parsers/text.py | 4 ++++ napalm_yang/parsers/xml.py | 3 +++ napalm_yang/translator.py | 3 ++- 11 files changed, 87 insertions(+), 22 deletions(-) diff --git a/docs/yang/parsers/TextParser.rst b/docs/yang/parsers/TextParser.rst index 16cbc6cb..9d8b5905 100644 --- a/docs/yang/parsers/TextParser.rst +++ b/docs/yang/parsers/TextParser.rst @@ -36,6 +36,8 @@ Arguments: * **flat** (optional) if set to ``true`` (default is ``false``) the parser will understand the configuration for the element consists of flat commands instead of nested (for example BGP neighbors or static routes) * **key** (optional) set key manually + * **post_process_filter** (optional) - Modify the key with this Jinja expression. ``key`` and ``extra_vars`` + variables are available. Example 1 @@ -145,6 +147,19 @@ Example 7 from: "{{ bookmarks['network-instances'][0] }}" key: "static static" +Example 8 + + Sometimes you need to transform the key value. For example, static routes require the prefix in CIDR format, + but Cisco IOS outputs routes in `` `` format. In that case you can use ``post_process_filter`` to + apply additional filters:: + + static: + _process: + - mode: block + regexp: "(?Pip route (?P\\d+\\S+ \\d+\\S+).*)" + from: "{{ bookmarks['network-instances'][0] }}" + post_process_filter: "{{ key|addrmask_to_cidr }}" + Leaf - search ------------- diff --git a/docs/yang/parsers/XMLParser.rst b/docs/yang/parsers/XMLParser.rst index c075bb91..83a488db 100644 --- a/docs/yang/parsers/XMLParser.rst +++ b/docs/yang/parsers/XMLParser.rst @@ -27,6 +27,7 @@ Arguments: * **xpath** (mandatory): elements to traverse * **key** (mandatory): which element is the key of the list +* **post_process_filter** (optional): modify the key with this Jinja2 expression Example: diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 26ce83ce..703b6fa9 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -1,15 +1,8 @@ import yaml - -from napalm_yang.parsers.text import TextParser -from napalm_yang.parsers.xml import XMLParser - -from napalm_yang.translators.text import TextTranslator -from napalm_yang.translators.xml import XMLTranslator - import os import jinja2 -from napalm_yang.jinja_filters import ip_filters +from napalm_yang import jinja_filters import logging logger = logging.getLogger("napalm-yang") @@ -26,16 +19,6 @@ def yaml_include(loader, node): yaml.add_constructor("!include", yaml_include) -def get_parser(parser): - parsers = { - "TextParser": TextParser, - "XMLParser": XMLParser, - "TextTranslator": TextTranslator, - "XMLTranslator": XMLTranslator, - } - return parsers[parser] - - def find_yang_file(profile, filename, path): """ Find the necessary file for the given test case. @@ -110,7 +93,11 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, kwargs["extra_vars"] = extra_vars for k, v in rule.items(): - rule[k] = _resolve_rule(v, **kwargs) + if k.startswith('post_process_'): + # don't process post processing rules now, they'll be processed on a second pass + rule[k] = v + else: + rule[k] = _resolve_rule(v, **kwargs) if "when" in rule.keys(): w = rule["when"] @@ -131,7 +118,7 @@ def template(string, **kwargs): undefined=jinja2.StrictUndefined, keep_trailing_newline=True, ) - env.filters.update(ip_filters.filters()) + env.filters.update(jinja_filters.load_filters()) template = env.from_string(string) diff --git a/napalm_yang/jinja_filters/__init__.py b/napalm_yang/jinja_filters/__init__.py index e69de29b..d2db2a0f 100644 --- a/napalm_yang/jinja_filters/__init__.py +++ b/napalm_yang/jinja_filters/__init__.py @@ -0,0 +1,16 @@ +import ip_filters + +JINJA_FILTERS = [ + ip_filters, +] + + +def load_filters(): + """ + Loads and returns all filters. + """ + all_filters = {} + for m in JINJA_FILTERS: + if hasattr(m, 'filters'): + all_filters.update(m.filters()) + return all_filters diff --git a/napalm_yang/jinja_filters/ip_filters.py b/napalm_yang/jinja_filters/ip_filters.py index e5b36565..a006bef5 100644 --- a/napalm_yang/jinja_filters/ip_filters.py +++ b/napalm_yang/jinja_filters/ip_filters.py @@ -5,6 +5,7 @@ def filters(): return { "netmask_to_cidr": netmask_to_cidr, "cidr_to_netmask": cidr_to_netmask, + "addrmask_to_cidr": addrmask_to_cidr, } @@ -26,3 +27,15 @@ def cidr_to_netmask(value): >>> "{{ '24'|cidr_to_netmask }}" -> "255.255.255.0" """ return netaddr.IPNetwork("1.1.1.1/{}".format(value)).netmask + + +def addrmask_to_cidr(value): + """ + Converts an address and network mask to it's CIDR representation. + + Examples: + >>> "{{ '192.168.0.0 255.255.255.0'|addrmask_to_cidr }}" -> "192.168.0.0/24" + """ + value = value.replace(' ', '/') + return str(netaddr.IPNetwork(value)) + diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index 895e32c7..f1c41d40 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -2,6 +2,7 @@ import copy from napalm_yang import helpers +from napalm_yang.parsers import get_parser import logging logger = logging.getLogger("napalm-yang") @@ -46,7 +47,7 @@ def __init__(self, model, device=None, profile=None, is_config=None, raise Exception("I don't have any data to operate with") if self.mapping: - self.parser = helpers.get_parser(self.mapping["metadata"]["processor"]) + self.parser = get_parser(self.mapping["metadata"]["processor"]) self.bookmarks = {self._yang_name: self.native, "parent": self.native} self.bookmarks = bookmarks or self.bookmarks diff --git a/napalm_yang/parsers/__init__.py b/napalm_yang/parsers/__init__.py index e69de29b..8dfc41f6 100644 --- a/napalm_yang/parsers/__init__.py +++ b/napalm_yang/parsers/__init__.py @@ -0,0 +1,15 @@ +from napalm_yang.parsers.text import TextParser +from napalm_yang.parsers.xml import XMLParser + +from napalm_yang.translators.text import TextTranslator +from napalm_yang.translators.xml import XMLTranslator + + +def get_parser(parser): + parsers = { + "TextParser": TextParser, + "XMLParser": XMLParser, + "TextTranslator": TextTranslator, + "XMLTranslator": XMLTranslator, + } + return parsers[parser] diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index e4069e44..33e5a647 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -1,3 +1,4 @@ +from napalm_yang.helpers import template class BaseParser(object): @@ -55,6 +56,14 @@ def _parse_container_gate(cls, mapping): """This basically stops parsing the tree by returning None""" return None, {} + @classmethod + def _parse_post_process_filter(cls, post_process_filter, key, extra_vars={}): + kwargs = dict() + kwargs['key'] = key + kwargs["extra_vars"] = extra_vars + key = template(post_process_filter, **kwargs) + return key + """ @classmethod def _parse_leaf_key(cls, mapping, texts, keys, extra_vars): diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 2d89cdd3..6808d64b 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -19,6 +19,7 @@ def _parse_list_block(cls, mapping): else: composite_key = mapping.get("composite_key", None) forced_key = mapping.get("key", None) + post_process_filter = mapping.get("post_process_filter", None) extra_vars = match.groupdict() block = extra_vars.pop("block") @@ -30,6 +31,9 @@ def _parse_list_block(cls, mapping): else: key = extra_vars.pop("key") + if post_process_filter: + key = cls._parse_post_process_filter(post_process_filter, key, extra_vars) + extra_vars["_get_duplicates"] = mapping.get("flat", False) yield key, block, extra_vars diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index aa04f6d2..231698b2 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -14,12 +14,15 @@ def _parse_list_xpath(cls, mapping): xml = etree.fromstring(mapping["from"]) mandatory_elements = mapping.pop("mandatory", []) + post_process_filter = mapping.pop("post_process_filter", None) for element in itertools.chain(xml.xpath(mapping["xpath"]), mandatory_elements): if isinstance(element, dict): yield element["key"], element["block"], element["extra_vars"] else: key = element.xpath(mapping["key"])[0].text.strip() + if post_process_filter: + key = cls._parse_post_process_filter(post_process_filter, key) yield key, etree.tostring(element), {} @classmethod diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 8d2e2f8a..3f7d1c3c 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -1,4 +1,5 @@ from napalm_yang import helpers +from napalm_yang.parsers import get_parser import logging @@ -27,7 +28,7 @@ def __init__(self, model, profile, self.profile, "translators") if self.mapping: - translator = helpers.get_parser(self.mapping["metadata"]["processor"]) + translator = get_parser(self.mapping["metadata"]["processor"]) self.translator = translator(merge=bool(merge), replace=bool(replace)) if translation is None: From 2178665bb14a07ce34c44d758f43b3015276825f Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 11 Jun 2017 12:36:01 +0200 Subject: [PATCH 074/153] Verify SUPPORTED_MODELS before adding them to the root object --- napalm_yang/__init__.py | 4 ++++ napalm_yang/base.py | 11 ++++++++--- test/unit/test_supported_models.py | 12 ++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 test/unit/test_supported_models.py diff --git a/napalm_yang/__init__.py b/napalm_yang/__init__.py index 4c2c4f03..e28cc1b8 100644 --- a/napalm_yang/__init__.py +++ b/napalm_yang/__init__.py @@ -2,8 +2,12 @@ from napalm_yang import models from napalm_yang import utils +from napalm_yang.supported_models import SUPPORTED_MODELS + + __all__ = [ "base", "models", "utils", + "SUPPORTED_MODELS", ] diff --git a/napalm_yang/base.py b/napalm_yang/base.py index 65159d46..d25ca47b 100644 --- a/napalm_yang/base.py +++ b/napalm_yang/base.py @@ -1,6 +1,7 @@ import ast +from napalm_yang.supported_models import SUPPORTED_MODELS from napalm_yang.parser import Parser from napalm_yang.translator import Translator @@ -33,7 +34,7 @@ def elements(self): return self._elements "base", - def add_model(self, model): + def add_model(self, model, force=False): """ Add a model. @@ -41,6 +42,7 @@ def add_model(self, model): Args: model (PybindBase): Model to add. + force (bool): If not set, verify the model is in SUPPORTED_MODELS Examples: @@ -55,6 +57,9 @@ def add_model(self, model): except Exception: pass + if model._yang_name not in [a[0] for a in SUPPORTED_MODELS]: + raise ValueError("Only models in SUPPORTED_MODELS can be added without `force=True`") + for k, v in model: self._elements[k] = v setattr(self, k, v) @@ -213,7 +218,7 @@ def parse_config(self, device=None, profile=None, native=None, attrs=None): >>> running_config.parse_config(native=config, profile="junos") """ if attrs is None: - attrs = [a for _, a in self] + attrs = self.elements().values() for v in attrs: parser = Parser(v, device=device, profile=profile, native=native, is_config=True) @@ -249,7 +254,7 @@ def parse_state(self, device=None, profile=None, native=None, attrs=None): >>> state.parse_config(native=state_data, profile="junos") """ if attrs is None: - attrs = [a for _, a in self] + attrs = self.elements().values() for v in attrs: parser = Parser(v, device=device, profile=profile, native=native, is_config=False) diff --git a/test/unit/test_supported_models.py b/test/unit/test_supported_models.py new file mode 100644 index 00000000..1211b5b2 --- /dev/null +++ b/test/unit/test_supported_models.py @@ -0,0 +1,12 @@ +import pytest + +import napalm_yang + + +class Tests(object): + + @pytest.mark.parametrize("module, models", napalm_yang.SUPPORTED_MODELS) + def test_supported_models(self, module, models): + obj = getattr(napalm_yang.models, module.replace("-", "_"), None) + assert obj, "{} not supported" + assert obj._pyangbind_elements.keys() == models From e78124686e67c5edcfe561dace7ec33a1250a314 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 11 Jun 2017 13:40:58 +0200 Subject: [PATCH 075/153] Added possibility to filter by config, state to model_to_dict --- napalm_yang/utils.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/napalm_yang/utils.py b/napalm_yang/utils.py index 62d67209..f52e75c4 100644 --- a/napalm_yang/utils.py +++ b/napalm_yang/utils.py @@ -1,7 +1,7 @@ from napalm_yang import base -def model_to_dict(model): +def model_to_dict(model, mode=""): """ Given a model, return a representation of the model in a dict. @@ -10,6 +10,7 @@ def model_to_dict(model): Args: model (PybindBase): Model to transform. + mode (string): Whether to print config, state or all elements ("" for all) Returns: @@ -41,6 +42,16 @@ def model_to_dict(model): >>> "up [rw]": "uint32" (trimmed for clarity) """ + def is_mode(obj, mode): + if mode == "": + return True + elif mode == "config": + return obj._yang_name == "config" or obj._is_config + elif mode == "state": + return obj._yang_name == "state" or not obj._is_config + else: + raise ValueError("mode can only be config, state or ''. Passed: {}".format(mode)) + def get_key(key, model, parent_defining_module): key = "{} {}".format(key, "[rw]" if model._is_config else "[ro]") @@ -48,14 +59,16 @@ def get_key(key, model, parent_defining_module): key = "{}:{}".format(model._defining_module, key) return key - if model._yang_type in ("container", ): - return {get_key(k, v, model._defining_module): model_to_dict(v) - for k, v in model} - elif model._yang_type in ("list", ): - return {get_key(k, v, model._defining_module): model_to_dict(v) - for k, v in model._contained_class()} + if model._yang_type in ("container", "list", ): + cls = model if model._yang_type in ("container", ) else model._contained_class() + result = {} + for k, v in cls: + r = model_to_dict(v, mode) + if r: + result[get_key(k, v, model._defining_module)] = r + return result else: - return model._yang_type + return model._yang_type if is_mode(model, mode) else None def _diff_root(f, s): From cc337344c067bcb48f58ffc04caba6aec65eade2 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 12 Jun 2017 09:12:21 +0200 Subject: [PATCH 076/153] Added supported_models --- napalm_yang/supported_models.py | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 napalm_yang/supported_models.py diff --git a/napalm_yang/supported_models.py b/napalm_yang/supported_models.py new file mode 100644 index 00000000..11b00d73 --- /dev/null +++ b/napalm_yang/supported_models.py @@ -0,0 +1,7 @@ +SUPPORTED_MODELS = ( + # module_name, models + ("openconfig-interfaces", ["interfaces"]), + ("openconfig-network-instance", ["network_instances"]), + ("openconfig-platform", ["components"]), + ("openconfig-vlan", ["vlans"]), +) From a5d792cc22b194e184848ef1128943f661c82509 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Tue, 13 Jun 2017 09:13:29 +0200 Subject: [PATCH 077/153] make post_process_filter available in other key-setting modes (#63) --- napalm_yang/parsers/xml.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index 231698b2..adf80d6c 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -105,6 +105,7 @@ def _parse_list_container_helper(cls, mapping, iterators, root, list_vars=None): composite_key = mapping.get("composite_key", None) forced_key = mapping.get("key", None) key_attribute = mapping.get("key_attribute", None) + post_process_filter = mapping.pop("post_process_filter", None) if composite_key: key = " ".join([extra_vars[k] for k in composite_key]) @@ -115,6 +116,9 @@ def _parse_list_container_helper(cls, mapping, iterators, root, list_vars=None): else: key = element.tag + if post_process_filter: + key = cls._parse_post_process_filter(post_process_filter, key, extra_vars) + yield key, etree.tostring(element), extra_vars @classmethod From d70d0c3c36c422fab775f1d4e7c61b8110c7a077 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Fri, 16 Jun 2017 20:41:04 +0200 Subject: [PATCH 078/153] text translator - add prefix and negate_prefix to container napalm-automation/napalm-yang#66 --- napalm_yang/translator.py | 17 ++++++++++------- napalm_yang/translators/base.py | 19 ++++++++++++------- napalm_yang/translators/text.py | 14 ++++++++++---- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 3f7d1c3c..0bfba3b7 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -10,7 +10,7 @@ class Translator(object): def __init__(self, model, profile, translation=None, keys=None, bookmarks=None, - merge=None, replace=None, other=None): + merge=None, replace=None, other=None, extra_vars=None): self.model = model self.profile = profile self._defining_module = model._defining_module @@ -19,6 +19,7 @@ def __init__(self, model, profile, self.translation = translation self.keys = keys or {"parent_key": None} self.bookmarks = bookmarks or {self._yang_name: translation, "parent": translation} + self.extra_vars = extra_vars or {} self.merge = merge self.replace = replace @@ -62,15 +63,16 @@ def _translate_container(self, attribute, model, mapping, translation, other): self.bookmarks["parent"] = translation rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, - None, model, self.bookmarks) + self.extra_vars, model, self.bookmarks) - et = self.translator.translate_container(attribute, model, other, rule, + et, extra_vars = self.translator.translate_container(attribute, model, other, rule, translation, self.bookmarks) if et is None: return self.bookmarks[attribute] = et + self.extra_vars.update(extra_vars) else: et = translation @@ -84,7 +86,7 @@ def _translate_container(self, attribute, model, mapping, translation, other): if v._defining_module != self._defining_module and v._defining_module is not None: logger.debug("Skipping attribute: {}:{}".format(v._defining_module, attribute)) translator = Translator(v, self.profile, et, self.keys, - self.bookmarks, self.merge, self.replace, other_attr) + self.bookmarks, self.merge, self.replace, other_attr, self.extra_vars) translator.translate() else: self._translate(k, v, mapping[v._yang_name], et, other_attr) @@ -112,11 +114,11 @@ def _translate_list(self, attribute, model, mapping, translation, other): self.keys["parent_key"] = key translation_rule = helpers.resolve_rule(mapping["_process"], attribute, - self.keys, None, element, self.bookmarks) + self.keys, self.extra_vars, element, self.bookmarks) self.translator.default_element(translation_rule, translation, self.bookmarks, replacing=True) - et = self.translator.init_element(attribute, element, other_element, translation_rule, + et, extra_vars = self.translator.init_element(attribute, element, other_element, translation_rule, translation, self.bookmarks) if et is None: @@ -125,6 +127,7 @@ def _translate_list(self, attribute, model, mapping, translation, other): self.bookmarks[attribute][key] = et self.bookmarks["parent"] = et + self.extra_vars.update(extra_vars) self._translate(attribute, element, mapping, et, other_element) @@ -149,7 +152,7 @@ def _default_element_list(self, attribute, running, mapping, translation, candid self.keys["parent_key"] = key translation_rule = helpers.resolve_rule(mapping["_process"], attribute, - self.keys, None, element, + self.keys, self.extra_vars, element, self.bookmarks) self.translator.default_element(translation_rule, translation, self.bookmarks) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 9cec9d3a..5b05905e 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -18,19 +18,23 @@ def __init__(self, merge, replace): def init_element(self, attribute, model, other, mapping, translation, bookmarks): et = translation + extra_vars = {} for m in mapping: if m["mode"] == "skip": continue elif m["mode"] == "gate": - return + return None, {} t = _find_translation_point(m, bookmarks, et) method_name = "_init_element_{}".format(m["mode"]) et = getattr(self, method_name)(attribute, model, other, m, t) + if isinstance(et, tuple): + extra_vars = et[1] + et = et[0] if et is False: # if it's False we want to return None to signal we want to abort - return None - return et + return None, {} + return et, extra_vars def default_element(self, mapping, translation, bookmarks, replacing=False): t = translation @@ -57,16 +61,17 @@ def translate_leaf(self, attribute, model, other, mapping, translation, bookmark def translate_container(self, attribute, model, other, mapping, translation, bookmarks): et = translation + extra_vars = {} for m in mapping: if m["mode"] == "skip": continue elif m["mode"] == "gate": - return + return None, {} t = _find_translation_point(m, bookmarks, et) method_name = "_translate_container_{}".format(m["mode"]) - et = getattr(self, method_name)(attribute, model, other, m, t) + et, extra_vars = getattr(self, method_name)(attribute, model, other, m, t) if et is False: # if it's False we want to return None to signal we want to abort - return None - return et + return None, {} + return et, extra_vars diff --git a/napalm_yang/translators/text.py b/napalm_yang/translators/text.py index aab742cb..7c7fd433 100644 --- a/napalm_yang/translators/text.py +++ b/napalm_yang/translators/text.py @@ -33,20 +33,26 @@ def _translate_leaf_element(self, attribute, model, other, mapping, translation) super()._translate_leaf_element(attribute, model, other, mapping, translation, force) def _init_element_container(self, attribute, model, other, mapping, translation): + extra_vars = {} + if other is not None: if not napalm_yang.utils.diff(model, other) and not self.replace: # If objects are equal we return None as that aborts translating # the rest of the object - return False + return False, {} if not model._changed() and other is not None and not self.replace: mapping["key_value"] = mapping["negate"] if not model._changed() and other is not None and self.replace: - return translation + return translation, {} mapping["key_element"] = "command" mapping["container"] = model._yang_name + for i in ('prefix', 'negate_prefix'): + if i in mapping: + extra_vars[i] = mapping.pop(i) + t = super()._init_element_container(attribute, model, other, mapping, translation) end = mapping.get("end", "") @@ -54,7 +60,7 @@ def _init_element_container(self, attribute, model, other, mapping, translation) e = etree.SubElement(translation, "command") e.text = end - return t + return t, extra_vars # def _translate_container_container(self, attribute, model, other, mapping, translation): # mapping["key_element"] = "container" @@ -76,7 +82,7 @@ def _default_element_container(self, mapping, translation, replacing): def _xml_to_text(self, xml, text=""): for element in xml: - if element.tag == "command": + if element.tag == "command" and element.text is not None: text += element.text text += self._xml_to_text(element) return text From b9d758d2c95595f8d154874f16273a4336f1e119 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Fri, 16 Jun 2017 20:54:04 +0200 Subject: [PATCH 079/153] update eos translator to use prefix and negate_prefix --- .../includes/static_routes.yaml | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml index c92de95a..67832601 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml @@ -3,7 +3,19 @@ _process: - mode: gate when: "{{ protocol_key != 'static static' }}" static: - _process: unnecessary + _process: + - mode: container + prefix: "ip route {{ static_key }}" + negate: "no ip route {{ static_key }}\n" + negate_prefix: "no ip route {{ static_key }}" + when: "{{ network_instance_key == 'global' }}" + in: "network-instances" + - mode: container + prefix: "ip route vrf {{ network_instance_key }} {{ static_key }}" + negate: "no ip route vrf {{ network_instance_key }} {{ static_key }}\n" + negate_prefix: "no ip route vrf {{ network_instance_key }} {{ static_key }}" + when: "{{ network_instance_key != 'global' }}" + in: "network-instances" config: _process: unnecessary prefix: @@ -15,15 +27,9 @@ static: next-hop: _process: - mode: container - key_value: "ip route {{ static_key }} {{ next_hop_key }}\n" - negate: "no ip route {{ static_key }} {{ next_hop_key }}\n" - when: "{{ network_instance_key == 'global' }}" - in: "network-instances" - - mode: container - key_value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }}\n" - negate: "no ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }}\n" - when: "{{ network_instance_key != 'global' }}" - in: "network-instances" + key_value: "{{ extra_vars.prefix }} {{ next_hop_key }}" + negate: "{{ extra_vars.negate_prefix }} {{ next_hop_key }}" + end: "\n" config: _process: unnecessary index: @@ -31,13 +37,8 @@ static: metric: _process: - mode: element - value: "ip route {{ static_key }} {{ next_hop_key }} {{ model }}\n" - negate: "ip route {{ static_key }} {{ next_hop_key }} 1\n" - when: "{{ network_instance_key == 'global' }}" - - mode: element - value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }} {{ model }}\n" - negate: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }} 1\n" - when: "{{ network_instance_key != 'global' }}" + value: " {{ model }}" + negate: " 1" next-hop: _process: unnecessary recurse: From 771e1d34c3966e2637ee70d973cf8e5f7dbe642a Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Sun, 18 Jun 2017 16:44:23 +0200 Subject: [PATCH 080/153] Add normalize_address normalize_prefix Jinja filters (#64) * add normalize_address jinja filter and rename addrmask_to_cidr to normalize_prefix * add unit tests for normalize_prefix and normalize_address * add unit tests fot the rest of ip_filters * add filter prefix_to_addrmask that curns CIDR represented subnets into address mask representation * make cidr_to_netmask return str --- napalm_yang/jinja_filters/ip_filters.py | 45 ++++++++-- test/unit/test_jinja_filters.py | 115 ++++++++++++++++++++++++ 2 files changed, 155 insertions(+), 5 deletions(-) create mode 100644 test/unit/test_jinja_filters.py diff --git a/napalm_yang/jinja_filters/ip_filters.py b/napalm_yang/jinja_filters/ip_filters.py index a006bef5..127b5d56 100644 --- a/napalm_yang/jinja_filters/ip_filters.py +++ b/napalm_yang/jinja_filters/ip_filters.py @@ -5,7 +5,9 @@ def filters(): return { "netmask_to_cidr": netmask_to_cidr, "cidr_to_netmask": cidr_to_netmask, - "addrmask_to_cidr": addrmask_to_cidr, + "normalize_prefix": normalize_prefix, + "normalize_address": normalize_address, + "prefix_to_addrmask": prefix_to_addrmask, } @@ -26,16 +28,49 @@ def cidr_to_netmask(value): Examples: >>> "{{ '24'|cidr_to_netmask }}" -> "255.255.255.0" """ - return netaddr.IPNetwork("1.1.1.1/{}".format(value)).netmask + return str(netaddr.IPNetwork("1.1.1.1/{}".format(value)).netmask) -def addrmask_to_cidr(value): +def normalize_prefix(value): """ - Converts an address and network mask to it's CIDR representation. + Converts an IPv4 or IPv6 prefix writen in various formats to its CIDR representation. + + This filter works only on prefixes. Use normalize_address if you wish to normalize an address + without a network mask. Examples: - >>> "{{ '192.168.0.0 255.255.255.0'|addrmask_to_cidr }}" -> "192.168.0.0/24" + >>> "{{ '192.168.0.0 255.255.255.0'|normalize_prefix }}" -> "192.168.0.0/24" + >>> "{{ '192.168/255.255.255.0'|normalize_prefix }}" -> "192.168.0.0/24" + >>> "{{ '2001:DB8:0:0:1:0:0:1/64'|normalize_prefix }}" -> "2001:db8::1:0:0:1/64" """ value = value.replace(' ', '/') return str(netaddr.IPNetwork(value)) + +def normalize_address(value): + """ + Converts an IPv4 or IPv6 address writen in various formats to a standard textual representation. + + This filter works only on addresses without network mask. Use normalize_prefix to normalize + networks. + + Examples: + >>> "{{ '192.168.0.1'|normalize_address }}" -> "192.168.0.1" + >>> "{{ '192.168.1'|normalize_address }}" -> "192.168.0.1" + >>> "{{ '2001:DB8:0:0:1:0:0:1'|normalize_address }}" -> "2001:db8::1:0:0:1" + + """ + return str(netaddr.IPAddress(value)) + + +def prefix_to_addrmask(value, sep=' '): + """ + Converts a CIDR formatted prefix into an address netmask representation. + Argument sep specifies the separator between the address and netmask parts. By default it's a single space. + + Examples: + >>> "{{ '192.168.0.1/24|prefix_to_addrmask }}" -> "192.168.0.1 255.255.255.0" + >>> "{{ '192.168.0.1/24|prefix_to_addrmask('/') }}" -> "192.168.0.1/255.255.255.0" + """ + prefix = netaddr.IPNetwork(value) + return '{}{}{}'.format(prefix.ip, sep, prefix.netmask) diff --git a/test/unit/test_jinja_filters.py b/test/unit/test_jinja_filters.py new file mode 100644 index 00000000..64d6209c --- /dev/null +++ b/test/unit/test_jinja_filters.py @@ -0,0 +1,115 @@ +""" +Test Jinja filters +""" + +# Python3 support +from __future__ import print_function +from __future__ import unicode_literals + +# Python std lib +import unittest + +# third party libs +try: + from netaddr.core import AddrFormatError + HAS_NETADDR = True +except ImportError: + HAS_NETADDR = False + +from napalm_yang.jinja_filters import ip_filters, load_filters + + +class TestJinjaFilters(unittest.TestCase): + def test_netmask_to_cidr(self): + """ + Tests Jinja2 filter ```netmask_to_cidr```: + + * check if load_filters returns the correct function + * check if raises AddrFormatError on invalid mask + * check if prefix length is returned as expected + """ + + self.assertTrue(HAS_NETADDR) + + self.assertEqual(load_filters()['netmask_to_cidr'], ip_filters.netmask_to_cidr) + + self.assertRaises(AddrFormatError, ip_filters.netmask_to_cidr, 'bad') + + self.assertEqual(ip_filters.netmask_to_cidr('255.255.255.0'), 24) + self.assertEqual(ip_filters.netmask_to_cidr('255.255.255.255'), 32) + + def test_cidr_to_netmask(self): + """ + Tests Jinja2 filter ```cidr_to_netmask```: + + * check if load_filters returns the correct function + * check if raises AddrFormatError on invalid prefix length + * check if network mask is returned as expected + """ + + self.assertTrue(HAS_NETADDR) + + self.assertEqual(load_filters()['cidr_to_netmask'], ip_filters.cidr_to_netmask) + + self.assertRaises(AddrFormatError, ip_filters.cidr_to_netmask, 'bad') + + self.assertEqual(ip_filters.cidr_to_netmask(24), '255.255.255.0') + self.assertEqual(ip_filters.cidr_to_netmask('24'), '255.255.255.0') + self.assertEqual(ip_filters.cidr_to_netmask(32), '255.255.255.255') + + def test_normalize_prefix(self): + """ + Tests Jinja2 filter ```normalize_prefix```: + + * check if load_filters returns the correct function + * check if raises AddrFormatError on invalid prefix + * check if IPv4 and IPv6 prefix format is returned as expected + """ + + self.assertTrue(HAS_NETADDR) + + self.assertEqual(load_filters()['normalize_prefix'], ip_filters.normalize_prefix) + + self.assertRaises(AddrFormatError, ip_filters.normalize_prefix, 'bad') + + self.assertEqual(ip_filters.normalize_prefix('192.168.0.1'), '192.168.0.1/32') + self.assertEqual(ip_filters.normalize_prefix('192.168.0.55 255.255.255.0'), '192.168.0.55/24') + self.assertEqual(ip_filters.normalize_prefix('192.168.0.55/255.255.255.0'), '192.168.0.55/24') + self.assertEqual(ip_filters.normalize_prefix('2001:0DB8:0:0000:1:0:0:1/64'), '2001:db8::1:0:0:1/64') + + def test_normalize_address(self): + """ + Tests Jinja2 filter ```normalize_address```: + + * check if load_filters returns the correct function + * check if raises AddrFormatError on invalid address + * check if IPv4 and IPv6 address format is returned as expected + """ + + self.assertTrue(HAS_NETADDR) + + self.assertEqual(load_filters()['normalize_address'], ip_filters.normalize_address) + + self.assertRaises(AddrFormatError, ip_filters.normalize_address, 'bad') + + self.assertEqual(ip_filters.normalize_address('192.168.0.1'), '192.168.0.1') + self.assertEqual(ip_filters.normalize_address('192.168.1'), '192.168.0.1') + self.assertEqual(ip_filters.normalize_address('2001:0DB8:0:0000:1:0:0:1'), '2001:db8::1:0:0:1') + + def test_prefix_to_addrmask(self): + """ + Tests Jinja2 filter ```prefix_to_addrmask```: + + * check if load_filters returns the correct function + * check if raises AddrFormatError on invalid prefix + * check if IPv4 address and netmask format is returned as expected + """ + + self.assertTrue(HAS_NETADDR) + + self.assertEqual(load_filters()['prefix_to_addrmask'], ip_filters.prefix_to_addrmask) + + self.assertRaises(AddrFormatError, ip_filters.prefix_to_addrmask, 'bad') + + self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.1/24'), '192.168.0.1 255.255.255.0') + self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.0/32', '/'), '192.168.0.0/255.255.255.255') From 80cd38f9a70f34273a69f462e918c94709fe381e Mon Sep 17 00:00:00 2001 From: bewing Date: Sun, 18 Jun 2017 10:01:10 -0500 Subject: [PATCH 081/153] JSON Parser (#38) * Allow each parser to modify native on start * Use builtins super() * Move parser.init_native(), revert some assumptions. * Don't forget pylama * Update bookmark when running init_native * Syntax * Add JSONParser to handle JSON objects This parser can understand Python dictionaries from devices and JSON strings injected into native. * Add components state template * EOS oc-platform framework and test * Fix leaf parser type * More platform parsing * Update profile for unified naming * Update ex. profile for native dict * Update unit tests Yes, the JSON in matches the JSON out. Go figure. * Change value mapping * Test case for JSON Parser and EOS interfaces --- napalm_yang/helpers.py | 1 + napalm_yang/jinja_filters/__init__.py | 2 + napalm_yang/jinja_filters/json_filters.py | 6 + .../openconfig-interfaces/interfaces.yaml | 188 ++++++++++++++++++ .../transceiver.yaml | 125 ++++++++++++ .../state/openconfig-platform/components.yaml | 117 +++++++++++ .../state/openconfig-platform/components.yaml | 71 +++++++ napalm_yang/parsers/__init__.py | 2 + napalm_yang/parsers/json.py | 59 ++++++ .../default/openconfig-interfaces.expected | 40 ++++ .../default/openconfig-interfaces.native | 1 + .../default/openconfig-platform.expected | 1 + .../default/openconfig-platform.native | 1 + test/integration/test_profiles.py | 1 + 14 files changed, 615 insertions(+) create mode 100644 napalm_yang/jinja_filters/json_filters.py create mode 100644 napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml create mode 100644 napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml create mode 100644 napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml create mode 100644 napalm_yang/mappings/templates/parsers/state/openconfig-platform/components.yaml create mode 100644 napalm_yang/parsers/json.py create mode 100644 test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected create mode 100644 test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native create mode 100644 test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.expected create mode 100644 test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.native diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 703b6fa9..e2042828 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -116,6 +116,7 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, def template(string, **kwargs): env = jinja2.Environment( undefined=jinja2.StrictUndefined, + extensions=['jinja2.ext.do'], keep_trailing_newline=True, ) env.filters.update(jinja_filters.load_filters()) diff --git a/napalm_yang/jinja_filters/__init__.py b/napalm_yang/jinja_filters/__init__.py index d2db2a0f..54583cd6 100644 --- a/napalm_yang/jinja_filters/__init__.py +++ b/napalm_yang/jinja_filters/__init__.py @@ -1,7 +1,9 @@ import ip_filters +import json_filters JINJA_FILTERS = [ ip_filters, + json_filters, ] diff --git a/napalm_yang/jinja_filters/json_filters.py b/napalm_yang/jinja_filters/json_filters.py new file mode 100644 index 00000000..3e13dec4 --- /dev/null +++ b/napalm_yang/jinja_filters/json_filters.py @@ -0,0 +1,6 @@ +import json + +def filters(): + return { + "json": lambda obj: json.dumps(obj), + } diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml new file mode 100644 index 00000000..4350bc79 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -0,0 +1,188 @@ +--- +metadata: + processor: JSONParser + execute: + - method: "device.run_commands" + args: + commands: ["show interfaces", "show snmp mib ifmib ifindex"] + +interfaces: + _process: unnecessary + interface: + _process: + - mode: dict + from: "{{ bookmarks.interfaces.0.interfaces|json }}" + config: + _process: unnecessary + hold-time: + _process: not_implemented + state: + _process: not_implemented + down: + _process: not_implemented + up: + _process: not_implemented + state: + _process: unnecessary + admin-status: + _process: + - mode: map + value: "{{ bookmarks.parent.get('interfaceStatus', 'disabled') }}" + map: + "disabled": DOWN + "errdisabled": DOWN + "connected": UP + "notconnect": UP + counters: + _process: unnecessary + in-broadcast-pkts: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.inBroadcastPkts }}" + in-discards: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.inDiscards }}" + in-errors: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.totalInErrors }}" + in-multicast-pkts: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.inMulticastPkts }}" + _process: not_implemented + in-octets: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.inOctets }}" + _process: not_implemented + in-unicast-pkts: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.inUcastPkts }}" + _process: not_implemented + in-unknown-protos: + _process: not_implemented + last-clear: + _process: not_implemented + out-broadcast-pkts: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.outBroadcastPkts }}" + _process: not_implemented + out-discards: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.outDiscards }}" + _process: not_implemented + out-errors: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.totalOutErrors }}" + _process: not_implemented + out-multicast-pkts: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.outMulticastPkts }}" + _process: not_implemented + out-octets: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.outOctets }}" + _process: not_implemented + out-unicast-pkts: + _process: + - mode: value + value: "{{ bookmarks.parent.interfaceCounters.outUcastPkts }}" + description: + _process: + - mode: value + value: "{{ bookmarks.parent.description }}" + enabled: + _process: + - mode: map + value: "{{ bookmarks.parent.get('interfaceStatus', 'disabled') }}" + map: + "disabled": false + "errdisabled": true + "connected": true + "notconnect": true + ifindex: + _process: not_implemented + last-change: + _process: not_implemented + mtu: + _process: + - mode: value + value: "{{ bookmarks.parent.mtu }}" + name: + _process: not_implemented + oper-status: + _process: + - mode: map + value: "{{ bookmarks.parent.get('interfaceStatus', 'disabled') }}" + map: + "disabled": DOWN + "errdisabled": DOWN + "connected": UP + "notconnect": DOWN + type: + _process: + - mode: map + value: "{{ bookmarks.parent.get('hardware', 'Unspecified') }}" + map: + "ethernet": ethernetCsmacd + "Unspecified": null + subinterfaces: + _process: not_implemented + subinterface: + _process: not_implemented + state: + _process: not_implemented + admin-status: + _process: not_implemented + counters: + _process: not_implemented + in-broadcast-pkts: + _process: not_implemented + in-discards: + _process: not_implemented + in-errors: + _process: not_implemented + in-multicast-pkts: + _process: not_implemented + in-octets: + _process: not_implemented + in-unicast-pkts: + _process: not_implemented + in-unknown-protos: + _process: not_implemented + last-clear: + _process: not_implemented + out-broadcast-pkts: + _process: not_implemented + out-discards: + _process: not_implemented + out-errors: + _process: not_implemented + out-multicast-pkts: + _process: not_implemented + out-octets: + _process: not_implemented + out-unicast-pkts: + _process: not_implemented + description: + _process: not_implemented + enabled: + _process: not_implemented + ifindex: + _process: not_implemented + index: + _process: not_implemented + last-change: + _process: not_implemented + name: + _process: not_implemented + oper-status: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml new file mode 100644 index 00000000..602d247b --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml @@ -0,0 +1,125 @@ +--- +metadata: + processor: JSONParser + +transceiver: + _process: unnecessary + config: + _process: not_implemented + enabled: + _process: not_implemented + ethernet-pmd-preconf: + _process: not_implemented + form-factor-preconf: + _process: not_implemented + physical-channels: + _process: unnecessary + channel: + _process: + - mode: dict + from: "{{ bookmarks.parent.get('transceiver', {}).get('physical-channels', {}).get('channel', {})|json }}" + config: + _process: not_implemented + description: + _process: not_implemented + index: + _process: not_implemented + target-output-power: + _process: not_implemented + tx-laser: + _process: not_implemented + index: + _process: not_implemented + state: + _process: unnecessary + description: + _process: not_implemented + index: + _process: + - mode: value + value: "{{ parent_key }}" + input-power: + _process: unnecessary + avg: + _process: not_implemented + instant: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('input-power', {}).get('instant', None) }}" + when: "{{ bookmarks.parent.state.get('input-power', {}).get('instant', 'None') is not equalto 'None' }}" + max: + _process: not_implemented + min: + _process: not_implemented + laser-bias-current: + _process: unnecessary + avg: + _process: not_implemented + instant: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('laser-bias-current', {}).get('instant', None) }}" + when: "{{ bookmarks.parent.state.get('laser-bias-current', {}).get('instant', 'None') is not equalto 'None' }}" + max: + _process: not_implemented + min: + _process: not_implemented + output-frequency: + _process: not_implemented + output-power: + _process: unnecessary + avg: + _process: not_implemented + instant: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('output-power', {}).get('instant', None) }}" + when: "{{ bookmarks.parent.state.get('output-power', {}).get('instant', 'None') is not equalto 'None' }}" + max: + _process: not_implemented + min: + _process: not_implemented + target-output-power: + _process: not_implemented + tx-laser: + _process: not_implemented + state: + _process: unnecessary + connector-type: + _process: not_implemented + date-code: + _process: not_implemented + enabled: + _process: + - mode: value + value: "{{ bookmarks.parent.get('transceiver', {}).get('state', {}).get('enabled', None) }}" + when: "{{ bookmarks.parent.get('transceiver', {}).get('state', {}).get('enabled', 'None') is not equalto 'None' }}" + ethernet-pmd: + _process: + - mode: value + value: "{{ bookmarks.parent.get('transceiver', {}).get('state', {}).get('ethernet-pmd', None) }}" + when: "{{ bookmarks.parent.get('transceiver', {}).get('state', {}).get('ethernet-pmd', 'None') is not equalto 'None' }}" + ethernet-pmd-preconf: + _process: not_implemented + fault-condition: + _process: not_implemented + form-factor: + _process: not_implemented + form-factor-preconf: + _process: not_implemented + internal-temp: + _process: not_implemented + otn-compliance-code: + _process: not_implemented + present: + _process: not_implemented + serial-no: + _process: not_implemented + sonet-sdh-compliance-code: + _process: not_implemented + vendor: + _process: not_implemented + vendor-part: + _process: not_implemented + vendor-rev: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml new file mode 100644 index 00000000..7066f9b6 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml @@ -0,0 +1,117 @@ +--- +metadata: + processor: JSONParser + execute: + - method: _oc_platform + +components: + _process: unnecessary + component: + _process: + - mode: dict + from: "{{ bookmarks.components.0.components.component|json }}" + config: + _process: not_implemented + name: + _process: not_implemented + name: + _process: not_implemented + properties: + _process: unnecessary + property: + _process: + - mode: dict + from: "{{ bookmarks.parent.get('properties', {}).get('property', {})|json }}" + config: + _process: not_implemented + name: + _process: not_implemented + value: + _process: not_implemented + name: + _process: not_implemented + state: + _process: unnecessary + configurable: + _process: not_implemented + name: + _process: + - mode: value + value: "{{ parent_key }}" + value: + _process: + - mode: value + value: "{{ bookmarks.parent.state.value }}" + state: + _process: unnecessary + description: + _process: + - mode: value + value: "{{ bookmarks.parent.state.description|default() }}" + when: "{{ bookmarks.parent.state.description|default('None') is not equalto 'None' }}" + id: + _process: not_implemented + mfg-name: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('mfg-name', None) }}" + when: "{{ bookmarks.parent.state.get('mfg-name', 'None') is not equalto 'None' }}" + name: + _process: + - mode: value + value: "{{ parent_key }}" + part-no: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('part-no', None) }}" + when: "{{ bookmarks.parent.state.get('part-no', 'None') is not equalto 'None' }}" + serial-no: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('serial-no', None) }}" + when: "{{ bookmarks.parent.state.get('serial-no', 'None') is not equalto 'None' }}" + temperature: + _process: unnecessary + avg: + _process: not_implemented + instant: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('temperature', {}).get('instant', None) }}" + when: "{{ bookmarks.parent.state.get('temperature', {}).get('instant', 'None') is not equalto 'None' }}" + max: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('temperature', {}).get('max', None) }}" + when: "{{ bookmarks.parent.state.get('temperature', {}).get('max', 'None') is not equalto 'None' }}" + min: + _process: not_implemented + type: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('type', None) }}" + when: "{{ bookmarks.parent.state.get('type', 'None') is not equalto 'None' }}" + version: + _process: + - mode: value + value: "{{ bookmarks.parent.state.get('version', None) }}" + when: "{{ bookmarks.parent.state.get('version', 'None') is not equalto 'None' }}" + subcomponents: + _process: unnecessary + subcomponent: + _process: + - mode: dict + from: "{{ bookmarks.parent.get('subcomponents', {}).get('subcomponent', {})|json }}" + config: + _process: not_implemented + name: + _process: not_implemented + name: + _process: not_implemented + state: + _process: unnecessary + name: + _process: + - mode: value + value: "{{ parent_key }}" + diff --git a/napalm_yang/mappings/templates/parsers/state/openconfig-platform/components.yaml b/napalm_yang/mappings/templates/parsers/state/openconfig-platform/components.yaml new file mode 100644 index 00000000..2071c616 --- /dev/null +++ b/napalm_yang/mappings/templates/parsers/state/openconfig-platform/components.yaml @@ -0,0 +1,71 @@ +--- +metadata: + parser: + execute: + - method: + args: + commands: [ ] + +components: + _parse: unnecessary + component: + _parse: not_implemented + name: + _parse: not_implemented + config: + _parse: unnecessary + state: + _parse: not_implemented + name: + _parse: not_implemented + type: + _parse: not_implemented + id: + _parse: not_implemented + description: + _parse: not_implemented + mfg-name: + _parse: not_implemented + version: + _parse: not_implemented + serial-no: + _parse: not_implemented + part-no: + _parse: not_implemented + temperature: + _parse: not_implemented + instant: + _parse: not_implemented + avg: + _parse: not_implemented + min: + _parse: not_implemented + max: + _parse: not_implemented + properties: + _parse: not_implemented + property: + _parse: not_implemented + name: + _parse: not_implemented + config: + _parse: unnecessary + state: + _parse: not_implemented + name: + _parse: not_implemented + value: + _parse: not_implemented + configurable: + _parse: not_implemented + subcomponents: + _parse: not_implemented + subcomponent: + _parse: not_implemented + name: + _parse: not_implemented + config: + _parse: unnecessary + state: + _parse: not_implemented + name: not_implemented diff --git a/napalm_yang/parsers/__init__.py b/napalm_yang/parsers/__init__.py index 8dfc41f6..d0bd5f98 100644 --- a/napalm_yang/parsers/__init__.py +++ b/napalm_yang/parsers/__init__.py @@ -1,3 +1,4 @@ +from napalm_yang.parsers.json import JSONParser from napalm_yang.parsers.text import TextParser from napalm_yang.parsers.xml import XMLParser @@ -7,6 +8,7 @@ def get_parser(parser): parsers = { + "JSONParser": JSONParser, "TextParser": TextParser, "XMLParser": XMLParser, "TextTranslator": TextTranslator, diff --git a/napalm_yang/parsers/json.py b/napalm_yang/parsers/json.py new file mode 100644 index 00000000..ede3aa82 --- /dev/null +++ b/napalm_yang/parsers/json.py @@ -0,0 +1,59 @@ +from __future__ import absolute_import +from builtins import super + +import re +import json + +from napalm_yang.parsers.base import BaseParser + + +class JSONParser(BaseParser): + + @classmethod + def init_native(cls, native): + resp = [] + for k in native: + if isinstance(k, str): + resp.append(json.loads(k)) + else: + resp.append(k) + + return super().init_native(resp) + + @classmethod + def _parse_list_dict(cls, mapping, key=None): + d = json.loads(mapping['from']) + if isinstance(d, dict): + for k, v in d.items(): + yield k, v, {} + + @classmethod + def _parse_leaf_dict(cls, mapping, check_default=True, check_presence=False): + d = mapping['from'] + if d and not check_presence: + regexp = mapping.get('regexp', None) + if regexp: + match = re.search(mapping['regexp'], d) + if match: + return match.group('value') + else: + return d + else: + if d and check_presence: + return True + if check_default: + return mapping.get('default', None) + return + return + + @classmethod + def _parse_leaf_map(cls, mapping): + return mapping['map'][mapping['value']] + + @classmethod + def _parse_leaf_is_present(cls, mapping): + return cls._parse_leaf_path(mapping, check_default=False, check_presence=True) + + @classmethod + def _parse_leaf_is_absent(cls, mapping): + return not cls._parse_leaf_path(mapping, check_default=False, check_presence=True) diff --git a/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected b/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected new file mode 100644 index 00000000..286601d3 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected @@ -0,0 +1,40 @@ +{ + "interfaces": { + "interface": { + "Ethernet1": { + "name": "Ethernet1", + "state": { + "admin-status": "UP", + "counters": { + "in-broadcast-pkts": 2630, + "in-discards": 0, + "in-errors": 0, + "out-unicast-pkts": 104 + }, + "description": "", + "enabled": true, + "mtu": 1500, + "oper-status": "UP", + "type": "ethernetCsmacd" + } + }, + "Management1": { + "name": "Management1", + "state": { + "admin-status": "UP", + "counters": { + "in-broadcast-pkts": 19, + "in-discards": 0, + "in-errors": 0, + "out-unicast-pkts": 758 + }, + "description": "", + "enabled": true, + "mtu": 1500, + "oper-status": "UP", + "type": "ethernetCsmacd" + } + } + } + } +} diff --git a/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native b/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native new file mode 100644 index 00000000..c9bbbc39 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native @@ -0,0 +1 @@ +{"interfaces": {"Management1": {"lastStatusChangeTimestamp": 1497732472.6491787, "name": "Management1", "interfaceStatus": "connected", "autoNegotiate": "success", "description": "", "burnedInAddress": "08:00:27:6b:fa:fe", "bandwidth": 1000000000, "mtu": 1500, "hardware": "ethernet", "duplex": "duplexFull", "loopbackMode": "loopbackNone", "physicalAddress": "08:00:27:6b:fa:fe", "interfaceCounters": {"outBroadcastPkts": 0, "linkStatusChanges": 5, "totalOutErrors": 0, "inMulticastPkts": 0, "counterRefreshTime": 1497734297.210793, "inBroadcastPkts": 19, "inputErrorsDetail": {"runtFrames": 0, "fcsErrors": 0, "alignmentErrors": 0, "rxPause": 0, "symbolErrors": 0, "giantFrames": 0}, "inOctets": 97807, "outDiscards": 0, "outOctets": 112236, "inUcastPkts": 0, "outputErrorsDetail": {"lateCollisions": 0, "deferredTransmissions": 0, "txPause": 0, "collisions": 0}, "outUcastPkts": 758, "outMulticastPkts": 0, "totalInErrors": 0, "inDiscards": 0}, "interfaceStatistics": {"inBitsRate": 327.13344777831077, "updateInterval": 300.0, "outBitsRate": 513.747345263329, "outPktsRate": 0.3882478230578469, "inPktsRate": 0.00013831271000537475}, "interfaceAddress": [{"secondaryIpsOrderedList": [], "primaryIp": {"maskLen": 24, "address": "10.0.2.15"}, "broadcastAddress": "255.255.255.255", "secondaryIps": {}, "virtualIp": {"maskLen": 0, "address": "0.0.0.0"}}], "lineProtocolStatus": "up", "forwardingModel": "routed"}, "Ethernet1": {"lastStatusChangeTimestamp": 1497732461.1365635, "name": "Ethernet1", "interfaceStatus": "connected", "autoNegotiate": "unknown", "description": "", "bandwidth": 0, "mtu": 1500, "hardware": "ethernet", "duplex": "duplexFull", "loopbackMode": "loopbackNone", "physicalAddress": "08:00:27:66:ef:40", "interfaceCounters": {"outBroadcastPkts": 0, "linkStatusChanges": 1, "lastClear": 1497732401.4158947, "inMulticastPkts": 97, "counterRefreshTime": 1497734297.214895, "inBroadcastPkts": 2630, "inputErrorsDetail": {"runtFrames": 0, "fcsErrors": 0, "alignmentErrors": 0, "rxPause": 0, "symbolErrors": 0, "giantFrames": 0}, "inOctets": 212355, "outDiscards": 0, "outOctets": 43559, "inUcastPkts": 118, "outputErrorsDetail": {"lateCollisions": 0, "deferredTransmissions": 0, "txPause": 0, "collisions": 0}, "outUcastPkts": 104, "outMulticastPkts": 73, "totalInErrors": 0, "inDiscards": 0, "totalOutErrors": 0}, "interfaceStatistics": {"inBitsRate": 0.0, "updateInterval": 300.0, "outBitsRate": 0.0, "outPktsRate": 0.0, "inPktsRate": 0.0}, "interfaceAddress": [{"secondaryIpsOrderedList": [], "primaryIp": {"maskLen": 24, "address": "192.168.50.11"}, "broadcastAddress": "255.255.255.255", "secondaryIps": {}, "virtualIp": {"maskLen": 0, "address": "0.0.0.0"}}], "lineProtocolStatus": "up", "forwardingModel": "routed"}}} diff --git a/test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.expected b/test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.expected new file mode 100644 index 00000000..cc3d8a42 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.expected @@ -0,0 +1 @@ +{"components": {"component": {"Ethernet5/32/1": {"state": {"type": "PORT", "name": "Ethernet5/32/1"}, "name": "Ethernet5/32/1"}, "Ethernet3/20": {"state": {"type": "PORT", "name": "Ethernet3/20"}, "name": "Ethernet3/20"}, "Ethernet3/23": {"state": {"type": "PORT", "name": "Ethernet3/23"}, "name": "Ethernet3/23"}, "Ethernet3/22": {"state": {"type": "PORT", "name": "Ethernet3/22"}, "name": "Ethernet3/22"}, "xcvr_6/9": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5588235808181539}, "input-power": {"instant": 2.5541724580849623}, "laser-bias-current": {"instant": 39.812}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.6823222951342087}, "input-power": {"instant": 2.3593225398629514}, "laser-bias-current": {"instant": 36.874}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5648857605001742}, "input-power": {"instant": 2.000292665537704}, "laser-bias-current": {"instant": 35.858000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5585202495926742}, "input-power": {"instant": 1.7684338450373893}, "laser-bias-current": {"instant": 31.612000000000002}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100152", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/9"}, "name": "xcvr_6/9"}, "xcvr_6/8": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.366888656722578}, "input-power": {"instant": 3.5791579857913014}, "laser-bias-current": {"instant": 39.848}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4401346578619867}, "input-power": {"instant": 3.015508366001667}, "laser-bias-current": {"instant": 36.288000000000004}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.3315553819799009}, "input-power": {"instant": 1.8895659252639874}, "laser-bias-current": {"instant": 42.602000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.3599084692162489}, "input-power": {"instant": 1.2509071308263442}, "laser-bias-current": {"instant": 34.274}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100371", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/8"}, "name": "xcvr_6/8"}, "Ethernet3/27": {"state": {"type": "PORT", "name": "Ethernet3/27"}, "name": "Ethernet3/27"}, "Ethernet3/26": {"state": {"type": "PORT", "name": "Ethernet3/26"}, "name": "Ethernet3/26"}, "xcvr_6/5": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.557003275593165}, "input-power": {"instant": 3.3661981290743848}, "laser-bias-current": {"instant": 32.992}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4310852276251262}, "input-power": {"instant": 3.605744813966325}, "laser-bias-current": {"instant": 29.494}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4851011061099895}, "input-power": {"instant": 3.625955575488198}, "laser-bias-current": {"instant": 29.494}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4894181490291114}, "input-power": {"instant": 3.426595041391187}, "laser-bias-current": {"instant": 34.504}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA160300413", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/5"}, "name": "xcvr_6/5"}, "xcvr_6/4": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5360147428841087}, "input-power": {"instant": 3.8715837827271304}, "laser-bias-current": {"instant": 34.018}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5491064578852365}, "input-power": {"instant": 3.7164038383788434}, "laser-bias-current": {"instant": 31.856}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4767632424109856}, "input-power": {"instant": 3.4338889746235424}, "laser-bias-current": {"instant": 34.558}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5032653649870742}, "input-power": {"instant": 2.8544478290741537}, "laser-bias-current": {"instant": 32.912}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600141", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/4"}, "name": "xcvr_6/4"}, "xcvr_6/7": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.499577088910593}, "input-power": {"instant": 2.7939314274786398}, "laser-bias-current": {"instant": 44.918}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5527529273009977}, "input-power": {"instant": 2.6264090375526195}, "laser-bias-current": {"instant": 42.52}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5204360248765125}, "input-power": {"instant": 1.6580797900378608}, "laser-bias-current": {"instant": 45.230000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.428898054390424}, "input-power": {"instant": 2.3934953900613687}, "laser-bias-current": {"instant": 44.444}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162000066", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/7"}, "name": "xcvr_6/7"}, "xcvr_6/6": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.0846354120359525}, "input-power": {"instant": 1.3541890502785225}, "laser-bias-current": {"instant": 48.296}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.3376238478734548}, "input-power": {"instant": 1.4295230734343223}, "laser-bias-current": {"instant": 42.082}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4326468201122067}, "input-power": {"instant": 1.148444131450237}, "laser-bias-current": {"instant": 41.386}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4538289197487453}, "input-power": {"instant": 0.9756963943137142}, "laser-bias-current": {"instant": 37.44}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100377", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/6"}, "name": "xcvr_6/6"}, "xcvr_6/1": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 0.6662405098342639}, "input-power": {"instant": 3.218468826928884}, "laser-bias-current": {"instant": 49.02}}}, "1": {"state": {"index": 1, "output-power": {"instant": -0.22642270454698465}, "input-power": {"instant": 3.7006876065005168}, "laser-bias-current": {"instant": 48.166000000000004}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.7092403147615034}, "input-power": {"instant": 3.5270335904754813}, "laser-bias-current": {"instant": 45.522}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.9149109426795121}, "input-power": {"instant": 3.750963750953966}, "laser-bias-current": {"instant": 44.992000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA155300202", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/1"}, "name": "xcvr_6/1"}, "xcvr_6/3": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.4702671522223065}, "input-power": {"instant": 2.844081725061991}, "laser-bias-current": {"instant": 34.474000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5609463063942774}, "input-power": {"instant": 2.4221832024761225}, "laser-bias-current": {"instant": 30.996000000000002}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5060295179300942}, "input-power": {"instant": 2.1375675240648384}, "laser-bias-current": {"instant": 37.552}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.469957572094649}, "input-power": {"instant": 2.476787295706573}, "laser-bias-current": {"instant": 29.762}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA160300373", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/3"}, "name": "xcvr_6/3"}, "xcvr_6/2": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.532659350758685}, "input-power": {"instant": 3.5930414234993258}, "laser-bias-current": {"instant": 35.858000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5084850666952265}, "input-power": {"instant": 3.473495337314567}, "laser-bias-current": {"instant": 31.556}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.46531122007445}, "input-power": {"instant": 3.102045888980056}, "laser-bias-current": {"instant": 30.044}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5463695951841983}, "input-power": {"instant": 2.866585246156861}, "laser-bias-current": {"instant": 35.464}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA155100408", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/2"}, "name": "xcvr_6/2"}, "xcvr_4/3": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -3.557584141562713}, "input-power": {"instant": -2.9895036927086016}, "laser-bias-current": {"instant": 5.156}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN0ED318042", "part-no": "SFP10GSRL-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_4/3"}, "name": "xcvr_4/3"}, "xcvr_4/2": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.7496355877864644}, "input-power": {"instant": -2.660007134616129}, "laser-bias-current": {"instant": 6.3580000000000005}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1314FE0F9", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_4/2"}, "name": "xcvr_4/2"}, "xcvr_4/1": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.6577009714832247}, "input-power": {"instant": -3.3592240981492516}, "laser-bias-current": {"instant": 6.524}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1312FE1QK", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_4/1"}, "name": "xcvr_4/1"}, "xcvr_4/5": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -3.48721986001856}, "input-power": {"instant": -2.973110318408665}, "laser-bias-current": {"instant": 5.2700000000000005}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN1017A3653", "part-no": "SFP10GSRL-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_4/5"}, "name": "xcvr_4/5"}, "xcvr_4/4": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -2.539888922480742}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 7.0840000000000005}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1320FE0TQ", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_4/4"}, "name": "xcvr_4/4"}, "TempSensor13/2": {"state": {"type": "SENSOR", "name": "TempSensor13/2", "temperature": {"max": 57.0, "instant": 51.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor13/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor13/1": {"state": {"type": "SENSOR", "name": "TempSensor13/1", "temperature": {"max": 50.25, "instant": 44.5}, "description": "Outlet sensor"}, "name": "TempSensor13/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/30/1": {"state": {"type": "PORT", "name": "Ethernet6/30/1"}, "name": "Ethernet6/30/1", "subcomponents": {"subcomponent": {"xcvr_6/30": {"state": {"name": "xcvr_6/30"}, "name": "xcvr_6/30"}}}}, "xcvr_3/49": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.292619958041751}, "input-power": {"instant": -1.1861534322942724}, "laser-bias-current": {"instant": 5.402}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.43558746914732716}, "input-power": {"instant": -0.5660442349104544}, "laser-bias-current": {"instant": 6.19}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.38381691467695767}, "input-power": {"instant": -0.8878910686244668}, "laser-bias-current": {"instant": 5.506}}}, "4": {"state": {"index": 4, "output-power": {"instant": 0.3730695089709135}, "input-power": {"instant": -0.4019568349166214}, "laser-bias-current": {"instant": 5.614}}}, "5": {"state": {"index": 5, "output-power": {"instant": 0.5034108183408437}, "input-power": {"instant": -0.8884239126002358}, "laser-bias-current": {"instant": 5.5760000000000005}}}, "6": {"state": {"index": 6, "output-power": {"instant": 0.41747871723265995}, "input-power": {"instant": -0.659562809644747}, "laser-bias-current": {"instant": 6.204}}}, "7": {"state": {"index": 7, "output-power": {"instant": 0.5422990986339737}, "input-power": {"instant": -0.6153031163235445}, "laser-bias-current": {"instant": 6.238}}}, "8": {"state": {"index": 8, "output-power": {"instant": 0.17367283553529678}, "input-power": {"instant": -0.6313454102437754}, "laser-bias-current": {"instant": 6.16}}}, "9": {"state": {"index": 9, "output-power": {"instant": 0.7025957740057498}, "input-power": {"instant": -0.7437854520917098}, "laser-bias-current": {"instant": 5.416}}}, "10": {"state": {"index": 10, "output-power": {"instant": 0.15736874477450424}, "input-power": {"instant": -0.11574829993696856}, "laser-bias-current": {"instant": 6.216}}}, "11": {"state": {"index": 11, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}}}, "state": {"ethernet-pmd": "ETH_100GBASE_SR10", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "JPE13510257", "part-no": "7500E-72S-LC", "type": "TRANSCEIVER", "name": "xcvr_3/49"}, "name": "xcvr_3/49"}, "xcvr_3/48": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XMD1018MCF8D", "part-no": "SFP-1G-T", "type": "TRANSCEIVER", "name": "xcvr_3/48"}, "name": "xcvr_3/48"}, "TempSensor12/2": {"state": {"type": "SENSOR", "name": "TempSensor12/2", "temperature": {"max": 57.0, "instant": 51.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor12/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet4/9": {"state": {"type": "PORT", "name": "Ethernet4/9"}, "name": "Ethernet4/9"}, "Ethernet5/34/1": {"state": {"type": "PORT", "name": "Ethernet5/34/1"}, "name": "Ethernet5/34/1"}, "TempSensor12/1": {"state": {"type": "SENSOR", "name": "TempSensor12/1", "temperature": {"max": 51.25, "instant": 44.75}, "description": "Outlet sensor"}, "name": "TempSensor12/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/33/1": {"state": {"type": "PORT", "name": "Ethernet6/33/1"}, "name": "Ethernet6/33/1", "subcomponents": {"subcomponent": {"xcvr_6/33": {"state": {"name": "xcvr_6/33"}, "name": "xcvr_6/33"}}}}, "Ethernet5/15/1": {"state": {"type": "PORT", "name": "Ethernet5/15/1"}, "name": "Ethernet5/15/1"}, "Ethernet5/35/1": {"state": {"type": "PORT", "name": "Ethernet5/35/1"}, "name": "Ethernet5/35/1"}, "TempSensor11/1": {"state": {"type": "SENSOR", "name": "TempSensor11/1", "temperature": {"max": 53.25, "instant": 47.0}, "description": "Outlet sensor"}, "name": "TempSensor11/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "xcvr_4/49": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.49101678208557153}, "input-power": {"instant": -0.7826151631540146}, "laser-bias-current": {"instant": 5.96}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.11232010319365937}, "input-power": {"instant": -0.5833952161160783}, "laser-bias-current": {"instant": 6.142}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.5551732784983132}, "input-power": {"instant": -1.1884367892443626}, "laser-bias-current": {"instant": 6.3340000000000005}}}, "4": {"state": {"index": 4, "output-power": {"instant": 0.34227260770550494}, "input-power": {"instant": -0.5601112492622828}, "laser-bias-current": {"instant": 5.988}}}, "5": {"state": {"index": 5, "output-power": {"instant": 0.31206419827462195}, "input-power": {"instant": -0.9598811640261173}, "laser-bias-current": {"instant": 5.972}}}, "6": {"state": {"index": 6, "output-power": {"instant": -0.3465716443937783}, "input-power": {"instant": -0.6323500239005853}, "laser-bias-current": {"instant": 6.1080000000000005}}}, "7": {"state": {"index": 7, "output-power": {"instant": 0.1367969729119256}, "input-power": {"instant": -0.38199360808321536}, "laser-bias-current": {"instant": 5.974}}}, "8": {"state": {"index": 8, "output-power": {"instant": 0.4883008652834997}, "input-power": {"instant": -0.5551732784983132}, "laser-bias-current": {"instant": 6.676}}}, "9": {"state": {"index": 9, "output-power": {"instant": 0.9971516235102351}, "input-power": {"instant": -1.281352979118049}, "laser-bias-current": {"instant": 5.96}}}, "10": {"state": {"index": 10, "output-power": {"instant": 0.07150105366684922}, "input-power": {"instant": -0.23558310621155432}, "laser-bias-current": {"instant": 6.3100000000000005}}}, "11": {"state": {"index": 11, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}}}, "state": {"ethernet-pmd": "ETH_100GBASE_SR10", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "JPE13510269", "part-no": "7500E-72S-LC", "type": "TRANSCEIVER", "name": "xcvr_4/49"}, "name": "xcvr_4/49"}, "TempSensor11/2": {"state": {"type": "SENSOR", "name": "TempSensor11/2", "temperature": {"max": 59.0, "instant": 53.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor11/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "powerSupply_2": {"state": {"mfg-name": "Arista Networks", "serial-no": "G100M3000402P", "part-no": "PWR-2900AC", "type": "POWER_SUPPLY", "name": "powerSupply_2"}, "name": "powerSupply_2", "subcomponents": {"subcomponent": {"TempSensorP2/1": {"state": {"name": "TempSensorP2/1"}, "name": "TempSensorP2/1"}, "TempSensorP2/2": {"state": {"name": "TempSensorP2/2"}, "name": "TempSensorP2/2"}}}}, "powerSupply_3": {"state": {"mfg-name": "Arista Networks", "serial-no": "G100M1000902P", "part-no": "PWR-2900AC", "type": "POWER_SUPPLY", "name": "powerSupply_3"}, "name": "powerSupply_3", "subcomponents": {"subcomponent": {"TempSensorP3/1": {"state": {"name": "TempSensorP3/1"}, "name": "TempSensorP3/1"}, "TempSensorP3/2": {"state": {"name": "TempSensorP3/2"}, "name": "TempSensorP3/2"}}}}, "powerSupply_1": {"state": {"mfg-name": "Arista Networks", "serial-no": "G100M3000502P", "part-no": "PWR-2900AC", "type": "POWER_SUPPLY", "name": "powerSupply_1"}, "name": "powerSupply_1", "subcomponents": {"subcomponent": {"TempSensorP1/2": {"state": {"name": "TempSensorP1/2"}, "name": "TempSensorP1/2"}, "TempSensorP1/1": {"state": {"name": "TempSensorP1/1"}, "name": "TempSensorP1/1"}}}}, "Ethernet5/36/1": {"state": {"type": "PORT", "name": "Ethernet5/36/1"}, "name": "Ethernet5/36/1"}, "powerSupply_4": {"state": {"mfg-name": "Arista Networks", "serial-no": "G100M100MA02P", "part-no": "PWR-2900AC", "type": "POWER_SUPPLY", "name": "powerSupply_4"}, "name": "powerSupply_4", "subcomponents": {"subcomponent": {"TempSensorP4/2": {"state": {"name": "TempSensorP4/2"}, "name": "TempSensorP4/2"}, "TempSensorP4/1": {"state": {"name": "TempSensorP4/1"}, "name": "TempSensorP4/1"}}}}, "Ethernet5/21/1": {"state": {"type": "PORT", "name": "Ethernet5/21/1"}, "name": "Ethernet5/21/1"}, "xcvr_5/3": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 0.31327657761131}, "input-power": {"instant": 1.947085515751228}, "laser-bias-current": {"instant": 48.764}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.7353506505878382}, "input-power": {"instant": 3.0958758744822834}, "laser-bias-current": {"instant": 46.768}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.24157154459672814}, "input-power": {"instant": 2.5925930985236345}, "laser-bias-current": {"instant": 49.796}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.8244197917456386}, "input-power": {"instant": 1.6749456163572152}, "laser-bias-current": {"instant": 47.838}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600205", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/3"}, "name": "xcvr_5/3"}, "xcvr_5/1": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 2.7937031817910807}, "input-power": {"instant": 4.266251064182471}, "laser-bias-current": {"instant": 40.612}}}, "1": {"state": {"index": 1, "output-power": {"instant": 2.6429824719021644}, "input-power": {"instant": 3.488109204051777}, "laser-bias-current": {"instant": 39.918}}}, "2": {"state": {"index": 2, "output-power": {"instant": 2.5051758561048487}, "input-power": {"instant": 3.146255192012708}, "laser-bias-current": {"instant": 42.442}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.7580163284827943}, "input-power": {"instant": 4.234424910752614}, "laser-bias-current": {"instant": 38.704}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH1537000RV", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/1"}, "name": "xcvr_5/1"}, "xcvr_5/6": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.542108822069741}, "input-power": {"instant": 1.4560035765224821}, "laser-bias-current": {"instant": 44.114000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.554878621412814}, "input-power": {"instant": 1.3506901382344783}, "laser-bias-current": {"instant": 44.706}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.549714415444714}, "input-power": {"instant": 2.013151742339918}, "laser-bias-current": {"instant": 35.09}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5609463063942774}, "input-power": {"instant": 1.8658909127240708}, "laser-bias-current": {"instant": 39.354}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600085", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/6"}, "name": "xcvr_5/6"}, "xcvr_5/7": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5408906901442077}, "input-power": {"instant": 0.510366951412129}, "laser-bias-current": {"instant": 33.12}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5654915133178138}, "input-power": {"instant": 2.443760940205717}, "laser-bias-current": {"instant": 28.022000000000002}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5035725799851907}, "input-power": {"instant": 2.579184503140586}, "laser-bias-current": {"instant": 36.188}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5164560251162795}, "input-power": {"instant": 3.0818010103066573}, "laser-bias-current": {"instant": 39.152}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600151", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/7"}, "name": "xcvr_5/7"}, "xcvr_5/4": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5213539686187616}, "input-power": {"instant": 3.102045888980056}, "laser-bias-current": {"instant": 35.886}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5736609176227034}, "input-power": {"instant": 3.1132995230379334}, "laser-bias-current": {"instant": 39.848}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5809097318555976}, "input-power": {"instant": 2.765537086243124}, "laser-bias-current": {"instant": 34.706}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4931150590791509}, "input-power": {"instant": 2.8809265454186983}, "laser-bias-current": {"instant": 40.148}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600039", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/4"}, "name": "xcvr_5/4"}, "xcvr_5/5": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5712419550486922}, "input-power": {"instant": -1.2418661116024232}, "laser-bias-current": {"instant": 41.432}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.189918001959751}, "input-power": {"instant": -1.2942053944731535}, "laser-bias-current": {"instant": 46.19}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.576380641009174}, "input-power": {"instant": -1.6045910703103106}, "laser-bias-current": {"instant": 40.480000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5573067127858842}, "input-power": {"instant": -0.4464904263234004}, "laser-bias-current": {"instant": 34.714}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600017", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/5"}, "name": "xcvr_5/5"}, "Ethernet5/20/1": {"state": {"type": "PORT", "name": "Ethernet5/20/1"}, "name": "Ethernet5/20/1"}, "xcvr_5/8": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3081605003474417}, "input-power": {"instant": 3.5835370103326536}, "laser-bias-current": {"instant": 47.966}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.3296372613072682}, "input-power": {"instant": 3.846580124622787}, "laser-bias-current": {"instant": 39.866}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4662408882400557}, "input-power": {"instant": 3.7366584299164485}, "laser-bias-current": {"instant": 39.354}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.3630826725581313}, "input-power": {"instant": 3.79686151906955}, "laser-bias-current": {"instant": 44.412}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600196", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/8"}, "name": "xcvr_5/8"}, "xcvr_5/9": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.4507203770499766}, "input-power": {"instant": -0.5774384958053513}, "laser-bias-current": {"instant": 38.85}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4656211315755652}, "input-power": {"instant": -0.6844043290919499}, "laser-bias-current": {"instant": 40.442}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.2083706025473706}, "input-power": {"instant": -0.7504911108438916}, "laser-bias-current": {"instant": 41.502}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4072796284418265}, "input-power": {"instant": -1.24649303420711}, "laser-bias-current": {"instant": 37.302}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163600181", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/9"}, "name": "xcvr_5/9"}, "Management1/2": {"state": {"type": "PORT", "name": "Management1/2"}, "name": "Management1/2"}, "Management1/1": {"state": {"type": "PORT", "name": "Management1/1"}, "name": "Management1/1"}, "xcvr_3/1": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -2.107719427326651}, "input-power": {"instant": -2.8042014228627687}, "laser-bias-current": {"instant": 6.582}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1320FE0AH", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_3/1"}, "name": "xcvr_3/1"}, "xcvr_3/2": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.9873352951037981}, "input-power": {"instant": -3.2947584221792026}, "laser-bias-current": {"instant": 6.748}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1312FE1CK", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_3/2"}, "name": "xcvr_3/2"}, "xcvr_3/3": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -3.364875295848444}, "input-power": {"instant": -3.917949922956736}, "laser-bias-current": {"instant": 5.47}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN0ED318049", "part-no": "SFP10GSRL-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_3/3"}, "name": "xcvr_3/3"}, "xcvr_3/5": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -2.7646223846794316}, "input-power": {"instant": -3.355460714188423}, "laser-bias-current": {"instant": 5.756}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN1017A3652", "part-no": "SFP10GSRL-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_3/5"}, "name": "xcvr_3/5"}, "Ethernet5/29/1": {"state": {"type": "PORT", "name": "Ethernet5/29/1"}, "name": "Ethernet5/29/1"}, "Ethernet3/21": {"state": {"type": "PORT", "name": "Ethernet3/21"}, "name": "Ethernet3/21"}, "Ethernet5/27/1": {"state": {"type": "PORT", "name": "Ethernet5/27/1"}, "name": "Ethernet5/27/1"}, "Ethernet5/30/1": {"state": {"type": "PORT", "name": "Ethernet5/30/1"}, "name": "Ethernet5/30/1"}, "Supervisor1": {"state": {"mfg-name": "Arista Networks", "version": "01.04", "name": "Supervisor1", "serial-no": "JPE14044652", "part-no": "DCS-7500E-SUP", "type": "LINECARD"}, "name": "Supervisor1", "subcomponents": {"subcomponent": {"TempSensor1/11": {"state": {"name": "TempSensor1/11"}, "name": "TempSensor1/11"}, "TempSensor1/10": {"state": {"name": "TempSensor1/10"}, "name": "TempSensor1/10"}, "Management1/2": {"state": {"name": "Management1/2"}, "name": "Management1/2"}, "Management1/1": {"state": {"name": "Management1/1"}, "name": "Management1/1"}, "TempSensor1/9": {"state": {"name": "TempSensor1/9"}, "name": "TempSensor1/9"}, "TempSensor1/8": {"state": {"name": "TempSensor1/8"}, "name": "TempSensor1/8"}, "TempSensor1/1": {"state": {"name": "TempSensor1/1"}, "name": "TempSensor1/1"}, "TempSensor1/3": {"state": {"name": "TempSensor1/3"}, "name": "TempSensor1/3"}, "TempSensor1/2": {"state": {"name": "TempSensor1/2"}, "name": "TempSensor1/2"}, "TempSensor1/5": {"state": {"name": "TempSensor1/5"}, "name": "TempSensor1/5"}, "TempSensor1/4": {"state": {"name": "TempSensor1/4"}, "name": "TempSensor1/4"}, "TempSensor1/7": {"state": {"name": "TempSensor1/7"}, "name": "TempSensor1/7"}, "TempSensor1/6": {"state": {"name": "TempSensor1/6"}, "name": "TempSensor1/6"}}}}, "Supervisor2": {"state": {"mfg-name": "Arista Networks", "version": "01.04", "name": "Supervisor2", "serial-no": "JPE13362385", "part-no": "DCS-7500E-SUP", "type": "LINECARD"}, "name": "Supervisor2", "subcomponents": {"subcomponent": {"TempSensor2/6": {"state": {"name": "TempSensor2/6"}, "name": "TempSensor2/6"}, "TempSensor2/7": {"state": {"name": "TempSensor2/7"}, "name": "TempSensor2/7"}, "TempSensor2/4": {"state": {"name": "TempSensor2/4"}, "name": "TempSensor2/4"}, "TempSensor2/5": {"state": {"name": "TempSensor2/5"}, "name": "TempSensor2/5"}, "TempSensor2/2": {"state": {"name": "TempSensor2/2"}, "name": "TempSensor2/2"}, "TempSensor2/3": {"state": {"name": "TempSensor2/3"}, "name": "TempSensor2/3"}, "TempSensor2/1": {"state": {"name": "TempSensor2/1"}, "name": "TempSensor2/1"}, "Management2/1": {"state": {"name": "Management2/1"}, "name": "Management2/1"}, "TempSensor2/8": {"state": {"name": "TempSensor2/8"}, "name": "TempSensor2/8"}, "TempSensor2/9": {"state": {"name": "TempSensor2/9"}, "name": "TempSensor2/9"}, "TempSensor2/11": {"state": {"name": "TempSensor2/11"}, "name": "TempSensor2/11"}, "Management2/2": {"state": {"name": "Management2/2"}, "name": "Management2/2"}, "TempSensor2/10": {"state": {"name": "TempSensor2/10"}, "name": "TempSensor2/10"}}}}, "Ethernet5/31/1": {"state": {"type": "PORT", "name": "Ethernet5/31/1"}, "name": "Ethernet5/31/1"}, "fan_3": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_3"}, "name": "fan_3"}, "fan_2": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_2"}, "name": "fan_2"}, "fan_1": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_1"}, "name": "fan_1"}, "Ethernet5/25/1": {"state": {"type": "PORT", "name": "Ethernet5/25/1"}, "name": "Ethernet5/25/1"}, "fan_6": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_6"}, "name": "fan_6"}, "fan_5": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_5"}, "name": "fan_5"}, "fan_4": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_4"}, "name": "fan_4"}, "Ethernet6/3/1": {"state": {"type": "PORT", "name": "Ethernet6/3/1"}, "name": "Ethernet6/3/1", "subcomponents": {"subcomponent": {"xcvr_6/3": {"state": {"name": "xcvr_6/3"}, "name": "xcvr_6/3"}}}}, "Ethernet6/31/1": {"state": {"type": "PORT", "name": "Ethernet6/31/1"}, "name": "Ethernet6/31/1", "subcomponents": {"subcomponent": {"xcvr_6/31": {"state": {"name": "xcvr_6/31"}, "name": "xcvr_6/31"}}}}, "Ethernet3/6": {"state": {"type": "PORT", "name": "Ethernet3/6"}, "name": "Ethernet3/6"}, "Ethernet5/24/1": {"state": {"type": "PORT", "name": "Ethernet5/24/1"}, "name": "Ethernet5/24/1"}, "Ethernet5/23/1": {"state": {"type": "PORT", "name": "Ethernet5/23/1"}, "name": "Ethernet5/23/1"}, "Ethernet4/42": {"state": {"type": "PORT", "name": "Ethernet4/42"}, "name": "Ethernet4/42"}, "Ethernet4/43": {"state": {"type": "PORT", "name": "Ethernet4/43"}, "name": "Ethernet4/43"}, "Ethernet4/40": {"state": {"type": "PORT", "name": "Ethernet4/40"}, "name": "Ethernet4/40"}, "Ethernet4/41": {"state": {"type": "PORT", "name": "Ethernet4/41"}, "name": "Ethernet4/41"}, "Ethernet3/49/1": {"state": {"type": "PORT", "name": "Ethernet3/49/1"}, "name": "Ethernet3/49/1", "subcomponents": {"subcomponent": {"xcvr_3/49": {"state": {"name": "xcvr_3/49"}, "name": "xcvr_3/49"}}}}, "Ethernet4/47": {"state": {"type": "PORT", "name": "Ethernet4/47"}, "name": "Ethernet4/47"}, "Ethernet4/44": {"state": {"type": "PORT", "name": "Ethernet4/44"}, "name": "Ethernet4/44"}, "Ethernet4/45": {"state": {"type": "PORT", "name": "Ethernet4/45"}, "name": "Ethernet4/45"}, "TempSensor5/6": {"state": {"type": "SENSOR", "name": "TempSensor5/6", "temperature": {"max": 79.75, "instant": 75.0}, "description": "Switch chip 2 sensor"}, "name": "TempSensor5/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet4/48": {"state": {"type": "PORT", "name": "Ethernet4/48"}, "name": "Ethernet4/48", "subcomponents": {"subcomponent": {"xcvr_4/48": {"state": {"name": "xcvr_4/48"}, "name": "xcvr_4/48"}}}}, "Ethernet5/22/1": {"state": {"type": "PORT", "name": "Ethernet5/22/1"}, "name": "Ethernet5/22/1"}, "Ethernet3/25": {"state": {"type": "PORT", "name": "Ethernet3/25"}, "name": "Ethernet3/25"}, "TempSensor14/1": {"state": {"type": "SENSOR", "name": "TempSensor14/1", "temperature": {"max": 49.75, "instant": 44.25}, "description": "Outlet sensor"}, "name": "TempSensor14/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor14/2": {"state": {"type": "SENSOR", "name": "TempSensor14/2", "temperature": {"max": 56.0, "instant": 50.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor14/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/4/1": {"state": {"type": "PORT", "name": "Ethernet6/4/1"}, "name": "Ethernet6/4/1", "subcomponents": {"subcomponent": {"xcvr_6/4": {"state": {"name": "xcvr_6/4"}, "name": "xcvr_6/4"}}}}, "Ethernet6/5/1": {"state": {"type": "PORT", "name": "Ethernet6/5/1"}, "name": "Ethernet6/5/1", "subcomponents": {"subcomponent": {"xcvr_6/5": {"state": {"name": "xcvr_6/5"}, "name": "xcvr_6/5"}}}}, "Ethernet3/24": {"state": {"type": "PORT", "name": "Ethernet3/24"}, "name": "Ethernet3/24"}, "Ethernet5/14/1": {"state": {"type": "PORT", "name": "Ethernet5/14/1"}, "name": "Ethernet5/14/1"}, "Linecard3": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Linecard3", "serial-no": "JPE13510257", "part-no": "7500E-72S-LC", "type": "LINECARD"}, "name": "Linecard3", "subcomponents": {"subcomponent": {"Ethernet3/21": {"state": {"name": "Ethernet3/21"}, "name": "Ethernet3/21"}, "Ethernet3/20": {"state": {"name": "Ethernet3/20"}, "name": "Ethernet3/20"}, "Ethernet3/23": {"state": {"name": "Ethernet3/23"}, "name": "Ethernet3/23"}, "Ethernet3/22": {"state": {"name": "Ethernet3/22"}, "name": "Ethernet3/22"}, "Ethernet3/25": {"state": {"name": "Ethernet3/25"}, "name": "Ethernet3/25"}, "Ethernet3/24": {"state": {"name": "Ethernet3/24"}, "name": "Ethernet3/24"}, "Ethernet3/27": {"state": {"name": "Ethernet3/27"}, "name": "Ethernet3/27"}, "Ethernet3/26": {"state": {"name": "Ethernet3/26"}, "name": "Ethernet3/26"}, "Ethernet3/29": {"state": {"name": "Ethernet3/29"}, "name": "Ethernet3/29"}, "Ethernet3/28": {"state": {"name": "Ethernet3/28"}, "name": "Ethernet3/28"}, "Ethernet3/50/1": {"state": {"name": "Ethernet3/50/1"}, "name": "Ethernet3/50/1"}, "Ethernet3/47": {"state": {"name": "Ethernet3/47"}, "name": "Ethernet3/47"}, "Ethernet3/46": {"state": {"name": "Ethernet3/46"}, "name": "Ethernet3/46"}, "Ethernet3/45": {"state": {"name": "Ethernet3/45"}, "name": "Ethernet3/45"}, "Ethernet3/44": {"state": {"name": "Ethernet3/44"}, "name": "Ethernet3/44"}, "Ethernet3/43": {"state": {"name": "Ethernet3/43"}, "name": "Ethernet3/43"}, "Ethernet3/42": {"state": {"name": "Ethernet3/42"}, "name": "Ethernet3/42"}, "Ethernet3/41": {"state": {"name": "Ethernet3/41"}, "name": "Ethernet3/41"}, "Ethernet3/40": {"state": {"name": "Ethernet3/40"}, "name": "Ethernet3/40"}, "Ethernet3/48": {"state": {"name": "Ethernet3/48"}, "name": "Ethernet3/48"}, "TempSensor3/7": {"state": {"name": "TempSensor3/7"}, "name": "TempSensor3/7"}, "TempSensor3/6": {"state": {"name": "TempSensor3/6"}, "name": "TempSensor3/6"}, "TempSensor3/5": {"state": {"name": "TempSensor3/5"}, "name": "TempSensor3/5"}, "TempSensor3/4": {"state": {"name": "TempSensor3/4"}, "name": "TempSensor3/4"}, "TempSensor3/3": {"state": {"name": "TempSensor3/3"}, "name": "TempSensor3/3"}, "TempSensor3/2": {"state": {"name": "TempSensor3/2"}, "name": "TempSensor3/2"}, "TempSensor3/1": {"state": {"name": "TempSensor3/1"}, "name": "TempSensor3/1"}, "Ethernet3/49/1": {"state": {"name": "Ethernet3/49/1"}, "name": "Ethernet3/49/1"}, "Ethernet3/36": {"state": {"name": "Ethernet3/36"}, "name": "Ethernet3/36"}, "Ethernet3/18": {"state": {"name": "Ethernet3/18"}, "name": "Ethernet3/18"}, "Ethernet3/19": {"state": {"name": "Ethernet3/19"}, "name": "Ethernet3/19"}, "Ethernet3/34": {"state": {"name": "Ethernet3/34"}, "name": "Ethernet3/34"}, "Ethernet3/35": {"state": {"name": "Ethernet3/35"}, "name": "Ethernet3/35"}, "Ethernet3/32": {"state": {"name": "Ethernet3/32"}, "name": "Ethernet3/32"}, "Ethernet3/33": {"state": {"name": "Ethernet3/33"}, "name": "Ethernet3/33"}, "Ethernet3/30": {"state": {"name": "Ethernet3/30"}, "name": "Ethernet3/30"}, "Ethernet3/31": {"state": {"name": "Ethernet3/31"}, "name": "Ethernet3/31"}, "Ethernet3/10": {"state": {"name": "Ethernet3/10"}, "name": "Ethernet3/10"}, "Ethernet3/11": {"state": {"name": "Ethernet3/11"}, "name": "Ethernet3/11"}, "Ethernet3/12": {"state": {"name": "Ethernet3/12"}, "name": "Ethernet3/12"}, "Ethernet3/13": {"state": {"name": "Ethernet3/13"}, "name": "Ethernet3/13"}, "Ethernet3/14": {"state": {"name": "Ethernet3/14"}, "name": "Ethernet3/14"}, "Ethernet3/15": {"state": {"name": "Ethernet3/15"}, "name": "Ethernet3/15"}, "Ethernet3/16": {"state": {"name": "Ethernet3/16"}, "name": "Ethernet3/16"}, "Ethernet3/17": {"state": {"name": "Ethernet3/17"}, "name": "Ethernet3/17"}, "Ethernet3/37": {"state": {"name": "Ethernet3/37"}, "name": "Ethernet3/37"}, "Ethernet3/38": {"state": {"name": "Ethernet3/38"}, "name": "Ethernet3/38"}, "Ethernet3/39": {"state": {"name": "Ethernet3/39"}, "name": "Ethernet3/39"}, "Ethernet3/6": {"state": {"name": "Ethernet3/6"}, "name": "Ethernet3/6"}, "Ethernet3/7": {"state": {"name": "Ethernet3/7"}, "name": "Ethernet3/7"}, "Ethernet3/4": {"state": {"name": "Ethernet3/4"}, "name": "Ethernet3/4"}, "Ethernet3/5": {"state": {"name": "Ethernet3/5"}, "name": "Ethernet3/5"}, "Ethernet3/2": {"state": {"name": "Ethernet3/2"}, "name": "Ethernet3/2"}, "Ethernet3/3": {"state": {"name": "Ethernet3/3"}, "name": "Ethernet3/3"}, "Ethernet3/1": {"state": {"name": "Ethernet3/1"}, "name": "Ethernet3/1"}, "Ethernet3/8": {"state": {"name": "Ethernet3/8"}, "name": "Ethernet3/8"}, "Ethernet3/9": {"state": {"name": "Ethernet3/9"}, "name": "Ethernet3/9"}}}}, "Linecard5": {"state": {"mfg-name": "Arista Networks", "version": "03.00", "name": "Linecard5", "serial-no": "JPE16030542", "part-no": "7500E-36Q-LC", "type": "LINECARD"}, "name": "Linecard5", "subcomponents": {"subcomponent": {"Ethernet5/32/1": {"state": {"name": "Ethernet5/32/1"}, "name": "Ethernet5/32/1"}, "Ethernet5/33/1": {"state": {"name": "Ethernet5/33/1"}, "name": "Ethernet5/33/1"}, "Ethernet5/1/1": {"state": {"name": "Ethernet5/1/1"}, "name": "Ethernet5/1/1"}, "Ethernet5/11/1": {"state": {"name": "Ethernet5/11/1"}, "name": "Ethernet5/11/1"}, "Ethernet5/35/1": {"state": {"name": "Ethernet5/35/1"}, "name": "Ethernet5/35/1"}, "Ethernet5/24/1": {"state": {"name": "Ethernet5/24/1"}, "name": "Ethernet5/24/1"}, "Ethernet5/15/1": {"state": {"name": "Ethernet5/15/1"}, "name": "Ethernet5/15/1"}, "Ethernet5/14/1": {"state": {"name": "Ethernet5/14/1"}, "name": "Ethernet5/14/1"}, "Ethernet5/34/1": {"state": {"name": "Ethernet5/34/1"}, "name": "Ethernet5/34/1"}, "Ethernet5/23/1": {"state": {"name": "Ethernet5/23/1"}, "name": "Ethernet5/23/1"}, "Ethernet5/7/1": {"state": {"name": "Ethernet5/7/1"}, "name": "Ethernet5/7/1"}, "Ethernet5/9/1": {"state": {"name": "Ethernet5/9/1"}, "name": "Ethernet5/9/1"}, "TempSensor5/9": {"state": {"name": "TempSensor5/9"}, "name": "TempSensor5/9"}, "Ethernet5/19/1": {"state": {"name": "Ethernet5/19/1"}, "name": "Ethernet5/19/1"}, "Ethernet5/22/1": {"state": {"name": "Ethernet5/22/1"}, "name": "Ethernet5/22/1"}, "Ethernet5/6/1": {"state": {"name": "Ethernet5/6/1"}, "name": "Ethernet5/6/1"}, "TempSensor5/4": {"state": {"name": "TempSensor5/4"}, "name": "TempSensor5/4"}, "Ethernet5/8/1": {"state": {"name": "Ethernet5/8/1"}, "name": "Ethernet5/8/1"}, "TempSensor5/6": {"state": {"name": "TempSensor5/6"}, "name": "TempSensor5/6"}, "TempSensor5/1": {"state": {"name": "TempSensor5/1"}, "name": "TempSensor5/1"}, "TempSensor5/3": {"state": {"name": "TempSensor5/3"}, "name": "TempSensor5/3"}, "TempSensor5/8": {"state": {"name": "TempSensor5/8"}, "name": "TempSensor5/8"}, "Ethernet5/21/1": {"state": {"name": "Ethernet5/21/1"}, "name": "Ethernet5/21/1"}, "Ethernet5/5/1": {"state": {"name": "Ethernet5/5/1"}, "name": "Ethernet5/5/1"}, "Ethernet5/20/1": {"state": {"name": "Ethernet5/20/1"}, "name": "Ethernet5/20/1"}, "Ethernet5/18/1": {"state": {"name": "Ethernet5/18/1"}, "name": "Ethernet5/18/1"}, "Ethernet5/4/1": {"state": {"name": "Ethernet5/4/1"}, "name": "Ethernet5/4/1"}, "TempSensor5/5": {"state": {"name": "TempSensor5/5"}, "name": "TempSensor5/5"}, "Ethernet5/12/1": {"state": {"name": "Ethernet5/12/1"}, "name": "Ethernet5/12/1"}, "Ethernet5/3/1": {"state": {"name": "Ethernet5/3/1"}, "name": "Ethernet5/3/1"}, "Ethernet5/29/1": {"state": {"name": "Ethernet5/29/1"}, "name": "Ethernet5/29/1"}, "Ethernet5/13/1": {"state": {"name": "Ethernet5/13/1"}, "name": "Ethernet5/13/1"}, "Ethernet5/2/1": {"state": {"name": "Ethernet5/2/1"}, "name": "Ethernet5/2/1"}, "TempSensor5/7": {"state": {"name": "TempSensor5/7"}, "name": "TempSensor5/7"}, "Ethernet5/28/1": {"state": {"name": "Ethernet5/28/1"}, "name": "Ethernet5/28/1"}, "Ethernet5/10/1": {"state": {"name": "Ethernet5/10/1"}, "name": "Ethernet5/10/1"}, "Ethernet5/36/1": {"state": {"name": "Ethernet5/36/1"}, "name": "Ethernet5/36/1"}, "Ethernet5/27/1": {"state": {"name": "Ethernet5/27/1"}, "name": "Ethernet5/27/1"}, "TempSensor5/11": {"state": {"name": "TempSensor5/11"}, "name": "TempSensor5/11"}, "TempSensor5/10": {"state": {"name": "TempSensor5/10"}, "name": "TempSensor5/10"}, "Ethernet5/30/1": {"state": {"name": "Ethernet5/30/1"}, "name": "Ethernet5/30/1"}, "TempSensor5/12": {"state": {"name": "TempSensor5/12"}, "name": "TempSensor5/12"}, "Ethernet5/26/1": {"state": {"name": "Ethernet5/26/1"}, "name": "Ethernet5/26/1"}, "Ethernet5/16/1": {"state": {"name": "Ethernet5/16/1"}, "name": "Ethernet5/16/1"}, "Ethernet5/31/1": {"state": {"name": "Ethernet5/31/1"}, "name": "Ethernet5/31/1"}, "TempSensor5/2": {"state": {"name": "TempSensor5/2"}, "name": "TempSensor5/2"}, "Ethernet5/25/1": {"state": {"name": "Ethernet5/25/1"}, "name": "Ethernet5/25/1"}, "Ethernet5/17/1": {"state": {"name": "Ethernet5/17/1"}, "name": "Ethernet5/17/1"}}}}, "Linecard4": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Linecard4", "serial-no": "JPE13510269", "part-no": "7500E-72S-LC", "type": "LINECARD"}, "name": "Linecard4", "subcomponents": {"subcomponent": {"Ethernet4/42": {"state": {"name": "Ethernet4/42"}, "name": "Ethernet4/42"}, "Ethernet4/14": {"state": {"name": "Ethernet4/14"}, "name": "Ethernet4/14"}, "Ethernet4/28": {"state": {"name": "Ethernet4/28"}, "name": "Ethernet4/28"}, "Ethernet4/29": {"state": {"name": "Ethernet4/29"}, "name": "Ethernet4/29"}, "Ethernet4/43": {"state": {"name": "Ethernet4/43"}, "name": "Ethernet4/43"}, "Ethernet4/20": {"state": {"name": "Ethernet4/20"}, "name": "Ethernet4/20"}, "Ethernet4/21": {"state": {"name": "Ethernet4/21"}, "name": "Ethernet4/21"}, "Ethernet4/22": {"state": {"name": "Ethernet4/22"}, "name": "Ethernet4/22"}, "Ethernet4/23": {"state": {"name": "Ethernet4/23"}, "name": "Ethernet4/23"}, "Ethernet4/24": {"state": {"name": "Ethernet4/24"}, "name": "Ethernet4/24"}, "Ethernet4/25": {"state": {"name": "Ethernet4/25"}, "name": "Ethernet4/25"}, "Ethernet4/26": {"state": {"name": "Ethernet4/26"}, "name": "Ethernet4/26"}, "Ethernet4/27": {"state": {"name": "Ethernet4/27"}, "name": "Ethernet4/27"}, "TempSensor4/4": {"state": {"name": "TempSensor4/4"}, "name": "TempSensor4/4"}, "TempSensor4/5": {"state": {"name": "TempSensor4/5"}, "name": "TempSensor4/5"}, "TempSensor4/6": {"state": {"name": "TempSensor4/6"}, "name": "TempSensor4/6"}, "TempSensor4/7": {"state": {"name": "TempSensor4/7"}, "name": "TempSensor4/7"}, "Ethernet4/46": {"state": {"name": "Ethernet4/46"}, "name": "Ethernet4/46"}, "TempSensor4/1": {"state": {"name": "TempSensor4/1"}, "name": "TempSensor4/1"}, "TempSensor4/2": {"state": {"name": "TempSensor4/2"}, "name": "TempSensor4/2"}, "TempSensor4/3": {"state": {"name": "TempSensor4/3"}, "name": "TempSensor4/3"}, "Ethernet4/48": {"state": {"name": "Ethernet4/48"}, "name": "Ethernet4/48"}, "Ethernet4/47": {"state": {"name": "Ethernet4/47"}, "name": "Ethernet4/47"}, "Ethernet4/49/1": {"state": {"name": "Ethernet4/49/1"}, "name": "Ethernet4/49/1"}, "Ethernet4/44": {"state": {"name": "Ethernet4/44"}, "name": "Ethernet4/44"}, "Ethernet4/40": {"state": {"name": "Ethernet4/40"}, "name": "Ethernet4/40"}, "Ethernet4/45": {"state": {"name": "Ethernet4/45"}, "name": "Ethernet4/45"}, "Ethernet4/13": {"state": {"name": "Ethernet4/13"}, "name": "Ethernet4/13"}, "Ethernet4/5": {"state": {"name": "Ethernet4/5"}, "name": "Ethernet4/5"}, "Ethernet4/4": {"state": {"name": "Ethernet4/4"}, "name": "Ethernet4/4"}, "Ethernet4/7": {"state": {"name": "Ethernet4/7"}, "name": "Ethernet4/7"}, "Ethernet4/6": {"state": {"name": "Ethernet4/6"}, "name": "Ethernet4/6"}, "Ethernet4/1": {"state": {"name": "Ethernet4/1"}, "name": "Ethernet4/1"}, "Ethernet4/3": {"state": {"name": "Ethernet4/3"}, "name": "Ethernet4/3"}, "Ethernet4/2": {"state": {"name": "Ethernet4/2"}, "name": "Ethernet4/2"}, "Ethernet4/50/1": {"state": {"name": "Ethernet4/50/1"}, "name": "Ethernet4/50/1"}, "Ethernet4/9": {"state": {"name": "Ethernet4/9"}, "name": "Ethernet4/9"}, "Ethernet4/8": {"state": {"name": "Ethernet4/8"}, "name": "Ethernet4/8"}, "Ethernet4/12": {"state": {"name": "Ethernet4/12"}, "name": "Ethernet4/12"}, "Ethernet4/11": {"state": {"name": "Ethernet4/11"}, "name": "Ethernet4/11"}, "Ethernet4/10": {"state": {"name": "Ethernet4/10"}, "name": "Ethernet4/10"}, "Ethernet4/39": {"state": {"name": "Ethernet4/39"}, "name": "Ethernet4/39"}, "Ethernet4/38": {"state": {"name": "Ethernet4/38"}, "name": "Ethernet4/38"}, "Ethernet4/15": {"state": {"name": "Ethernet4/15"}, "name": "Ethernet4/15"}, "Ethernet4/41": {"state": {"name": "Ethernet4/41"}, "name": "Ethernet4/41"}, "Ethernet4/17": {"state": {"name": "Ethernet4/17"}, "name": "Ethernet4/17"}, "Ethernet4/16": {"state": {"name": "Ethernet4/16"}, "name": "Ethernet4/16"}, "Ethernet4/33": {"state": {"name": "Ethernet4/33"}, "name": "Ethernet4/33"}, "Ethernet4/32": {"state": {"name": "Ethernet4/32"}, "name": "Ethernet4/32"}, "Ethernet4/31": {"state": {"name": "Ethernet4/31"}, "name": "Ethernet4/31"}, "Ethernet4/30": {"state": {"name": "Ethernet4/30"}, "name": "Ethernet4/30"}, "Ethernet4/37": {"state": {"name": "Ethernet4/37"}, "name": "Ethernet4/37"}, "Ethernet4/36": {"state": {"name": "Ethernet4/36"}, "name": "Ethernet4/36"}, "Ethernet4/35": {"state": {"name": "Ethernet4/35"}, "name": "Ethernet4/35"}, "Ethernet4/34": {"state": {"name": "Ethernet4/34"}, "name": "Ethernet4/34"}, "Ethernet4/19": {"state": {"name": "Ethernet4/19"}, "name": "Ethernet4/19"}, "Ethernet4/18": {"state": {"name": "Ethernet4/18"}, "name": "Ethernet4/18"}}}}, "Linecard6": {"state": {"mfg-name": "Arista Networks", "version": "03.00", "name": "Linecard6", "serial-no": "JPE16030547", "part-no": "7500E-36Q-LC", "type": "LINECARD"}, "name": "Linecard6", "subcomponents": {"subcomponent": {"Ethernet6/24/1": {"state": {"name": "Ethernet6/24/1"}, "name": "Ethernet6/24/1"}, "Ethernet6/15/1": {"state": {"name": "Ethernet6/15/1"}, "name": "Ethernet6/15/1"}, "Ethernet6/33/1": {"state": {"name": "Ethernet6/33/1"}, "name": "Ethernet6/33/1"}, "TempSensor6/10": {"state": {"name": "TempSensor6/10"}, "name": "TempSensor6/10"}, "TempSensor6/11": {"state": {"name": "TempSensor6/11"}, "name": "TempSensor6/11"}, "TempSensor6/12": {"state": {"name": "TempSensor6/12"}, "name": "TempSensor6/12"}, "Ethernet6/14/1": {"state": {"name": "Ethernet6/14/1"}, "name": "Ethernet6/14/1"}, "Ethernet6/18/1": {"state": {"name": "Ethernet6/18/1"}, "name": "Ethernet6/18/1"}, "Ethernet6/22/1": {"state": {"name": "Ethernet6/22/1"}, "name": "Ethernet6/22/1"}, "Ethernet6/31/1": {"state": {"name": "Ethernet6/31/1"}, "name": "Ethernet6/31/1"}, "Ethernet6/35/1": {"state": {"name": "Ethernet6/35/1"}, "name": "Ethernet6/35/1"}, "Ethernet6/23/1": {"state": {"name": "Ethernet6/23/1"}, "name": "Ethernet6/23/1"}, "Ethernet6/6/1": {"state": {"name": "Ethernet6/6/1"}, "name": "Ethernet6/6/1"}, "Ethernet6/30/1": {"state": {"name": "Ethernet6/30/1"}, "name": "Ethernet6/30/1"}, "Ethernet6/34/1": {"state": {"name": "Ethernet6/34/1"}, "name": "Ethernet6/34/1"}, "Ethernet6/1/1": {"state": {"name": "Ethernet6/1/1"}, "name": "Ethernet6/1/1"}, "Ethernet6/19/1": {"state": {"name": "Ethernet6/19/1"}, "name": "Ethernet6/19/1"}, "Ethernet6/13/1": {"state": {"name": "Ethernet6/13/1"}, "name": "Ethernet6/13/1"}, "Ethernet6/2/1": {"state": {"name": "Ethernet6/2/1"}, "name": "Ethernet6/2/1"}, "Ethernet6/36/1": {"state": {"name": "Ethernet6/36/1"}, "name": "Ethernet6/36/1"}, "Ethernet6/12/1": {"state": {"name": "Ethernet6/12/1"}, "name": "Ethernet6/12/1"}, "Ethernet6/3/1": {"state": {"name": "Ethernet6/3/1"}, "name": "Ethernet6/3/1"}, "Ethernet6/7/1": {"state": {"name": "Ethernet6/7/1"}, "name": "Ethernet6/7/1"}, "Ethernet6/11/1": {"state": {"name": "Ethernet6/11/1"}, "name": "Ethernet6/11/1"}, "Ethernet6/4/1": {"state": {"name": "Ethernet6/4/1"}, "name": "Ethernet6/4/1"}, "Ethernet6/20/1": {"state": {"name": "Ethernet6/20/1"}, "name": "Ethernet6/20/1"}, "Ethernet6/8/1": {"state": {"name": "Ethernet6/8/1"}, "name": "Ethernet6/8/1"}, "Ethernet6/5/1": {"state": {"name": "Ethernet6/5/1"}, "name": "Ethernet6/5/1"}, "Ethernet6/10/1": {"state": {"name": "Ethernet6/10/1"}, "name": "Ethernet6/10/1"}, "Ethernet6/25/1": {"state": {"name": "Ethernet6/25/1"}, "name": "Ethernet6/25/1"}, "Ethernet6/9/1": {"state": {"name": "Ethernet6/9/1"}, "name": "Ethernet6/9/1"}, "Ethernet6/21/1": {"state": {"name": "Ethernet6/21/1"}, "name": "Ethernet6/21/1"}, "Ethernet6/17/1": {"state": {"name": "Ethernet6/17/1"}, "name": "Ethernet6/17/1"}, "Ethernet6/16/1": {"state": {"name": "Ethernet6/16/1"}, "name": "Ethernet6/16/1"}, "TempSensor6/8": {"state": {"name": "TempSensor6/8"}, "name": "TempSensor6/8"}, "TempSensor6/9": {"state": {"name": "TempSensor6/9"}, "name": "TempSensor6/9"}, "TempSensor6/2": {"state": {"name": "TempSensor6/2"}, "name": "TempSensor6/2"}, "TempSensor6/3": {"state": {"name": "TempSensor6/3"}, "name": "TempSensor6/3"}, "TempSensor6/1": {"state": {"name": "TempSensor6/1"}, "name": "TempSensor6/1"}, "TempSensor6/6": {"state": {"name": "TempSensor6/6"}, "name": "TempSensor6/6"}, "TempSensor6/7": {"state": {"name": "TempSensor6/7"}, "name": "TempSensor6/7"}, "TempSensor6/4": {"state": {"name": "TempSensor6/4"}, "name": "TempSensor6/4"}, "TempSensor6/5": {"state": {"name": "TempSensor6/5"}, "name": "TempSensor6/5"}, "Ethernet6/28/1": {"state": {"name": "Ethernet6/28/1"}, "name": "Ethernet6/28/1"}, "Ethernet6/26/1": {"state": {"name": "Ethernet6/26/1"}, "name": "Ethernet6/26/1"}, "Ethernet6/29/1": {"state": {"name": "Ethernet6/29/1"}, "name": "Ethernet6/29/1"}, "Ethernet6/27/1": {"state": {"name": "Ethernet6/27/1"}, "name": "Ethernet6/27/1"}, "Ethernet6/32/1": {"state": {"name": "Ethernet6/32/1"}, "name": "Ethernet6/32/1"}}}}, "Ethernet3/50/1": {"state": {"type": "PORT", "name": "Ethernet3/50/1"}, "name": "Ethernet3/50/1", "subcomponents": {"subcomponent": {"xcvr_3/50": {"state": {"name": "xcvr_3/50"}, "name": "xcvr_3/50"}}}}, "TempSensor1/9": {"state": {"type": "SENSOR", "name": "TempSensor1/9", "temperature": {"max": 31.0, "instant": 20.0}, "description": "Front sensor"}, "name": "TempSensor1/9", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 75.0}, "name": "critical-threshold"}}}}, "TempSensor1/8": {"state": {"type": "SENSOR", "name": "TempSensor1/8", "temperature": {"max": 33.0, "instant": 23.0}, "description": "Rear sensor"}, "name": "TempSensor1/8", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 75.0}, "name": "critical-threshold"}}}}, "TempSensor1/1": {"state": {"type": "SENSOR", "name": "TempSensor1/1", "temperature": {"max": 50.0, "instant": 33.0}, "description": "Digital Temperature Sensor on cpu0"}, "name": "TempSensor1/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor1/3": {"state": {"type": "SENSOR", "name": "TempSensor1/3", "temperature": {"max": 44.0, "instant": 27.0}, "description": "Digital Temperature Sensor on cpu2"}, "name": "TempSensor1/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor1/2": {"state": {"type": "SENSOR", "name": "TempSensor1/2", "temperature": {"max": 50.0, "instant": 30.0}, "description": "Digital Temperature Sensor on cpu1"}, "name": "TempSensor1/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor1/5": {"state": {"type": "SENSOR", "name": "TempSensor1/5", "temperature": {"max": 38.0, "instant": 28.0}, "description": "Supervisor temp sensor"}, "name": "TempSensor1/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 85.0}, "name": "critical-threshold"}}}}, "TempSensor1/4": {"state": {"type": "SENSOR", "name": "TempSensor1/4", "temperature": {"max": 43.0, "instant": 29.0}, "description": "Digital Temperature Sensor on cpu3"}, "name": "TempSensor1/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor1/7": {"state": {"type": "SENSOR", "name": "TempSensor1/7", "temperature": {"max": 57.0, "instant": 44.0}, "description": "PlxFc sensor"}, "name": "TempSensor1/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 103.0}, "name": "critical-threshold"}}}}, "TempSensor1/6": {"state": {"type": "SENSOR", "name": "TempSensor1/6", "temperature": {"max": 57.0, "instant": 46.0}, "description": "PlxLc sensor"}, "name": "TempSensor1/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 103.0}, "name": "critical-threshold"}}}}, "Ethernet4/28": {"state": {"type": "PORT", "name": "Ethernet4/28"}, "name": "Ethernet4/28"}, "TempSensor2/7": {"state": {"type": "SENSOR", "name": "TempSensor2/7", "temperature": {"max": 60.0, "instant": 50.0}, "description": "PlxFc sensor"}, "name": "TempSensor2/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 103.0}, "name": "critical-threshold"}}}}, "TempSensor2/4": {"state": {"type": "SENSOR", "name": "TempSensor2/4", "temperature": {"max": 53.0, "instant": 35.0}, "description": "Digital Temperature Sensor on cpu3"}, "name": "TempSensor2/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor2/5": {"state": {"type": "SENSOR", "name": "TempSensor2/5", "temperature": {"max": 37.0, "instant": 29.0}, "description": "Supervisor temp sensor"}, "name": "TempSensor2/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 85.0}, "name": "critical-threshold"}}}}, "TempSensor2/2": {"state": {"type": "SENSOR", "name": "TempSensor2/2", "temperature": {"max": 51.0, "instant": 30.0}, "description": "Digital Temperature Sensor on cpu1"}, "name": "TempSensor2/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor2/3": {"state": {"type": "SENSOR", "name": "TempSensor2/3", "temperature": {"max": 54.0, "instant": 33.0}, "description": "Digital Temperature Sensor on cpu2"}, "name": "TempSensor2/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor2/1": {"state": {"type": "SENSOR", "name": "TempSensor2/1", "temperature": {"max": 59.0, "instant": 37.0}, "description": "Digital Temperature Sensor on cpu0"}, "name": "TempSensor2/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/1/1": {"state": {"type": "PORT", "name": "Ethernet6/1/1"}, "name": "Ethernet6/1/1", "subcomponents": {"subcomponent": {"xcvr_6/1": {"state": {"name": "xcvr_6/1"}, "name": "xcvr_6/1"}}}}, "Ethernet4/21": {"state": {"type": "PORT", "name": "Ethernet4/21"}, "name": "Ethernet4/21"}, "TempSensor3/5": {"state": {"type": "SENSOR", "name": "TempSensor3/5", "temperature": {"max": 32.0, "instant": 23.0}, "description": "Inlet sensor"}, "name": "TempSensor3/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "Ethernet4/23": {"state": {"type": "PORT", "name": "Ethernet4/23"}, "name": "Ethernet4/23"}, "Ethernet4/24": {"state": {"type": "PORT", "name": "Ethernet4/24"}, "name": "Ethernet4/24"}, "Ethernet4/25": {"state": {"type": "PORT", "name": "Ethernet4/25"}, "name": "Ethernet4/25"}, "TempSensor3/1": {"state": {"type": "SENSOR", "name": "TempSensor3/1", "temperature": {"max": 46.0, "instant": 39.0}, "description": "Board sensor"}, "name": "TempSensor3/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet4/27": {"state": {"type": "PORT", "name": "Ethernet4/27"}, "name": "Ethernet4/27"}, "xcvr_6/15": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3786028215286006}, "input-power": {"instant": 3.5360852070863924}, "laser-bias-current": {"instant": 40.972}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4388875810927493}, "input-power": {"instant": 3.1494108669298315}, "laser-bias-current": {"instant": 38.976}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.3649860815669923}, "input-power": {"instant": 3.180842140032647}, "laser-bias-current": {"instant": 38.538000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5140049803561784}, "input-power": {"instant": 3.2166055684867034}, "laser-bias-current": {"instant": 34.358000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA161900940", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/15"}, "name": "xcvr_6/15"}, "xcvr_6/14": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3506901382344783}, "input-power": {"instant": 2.803279187476755}, "laser-bias-current": {"instant": 47.794000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4154383422065298}, "input-power": {"instant": 3.1026836663244772}, "laser-bias-current": {"instant": 44.552}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5066435352956065}, "input-power": {"instant": 3.0713219065578024}, "laser-bias-current": {"instant": 44.188}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5484984152074421}, "input-power": {"instant": 2.441781250225441}, "laser-bias-current": {"instant": 35.502}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100059", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/14"}, "name": "xcvr_6/14"}, "xcvr_6/17": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.2182237675218488}, "input-power": {"instant": 0.3124683623267499}, "laser-bias-current": {"instant": 46.978}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4528965905414637}, "input-power": {"instant": 1.546065392836229}, "laser-bias-current": {"instant": 45.652}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.042138841993232}, "input-power": {"instant": 1.0274233614457007}, "laser-bias-current": {"instant": 45.816}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.9725730969341972}, "input-power": {"instant": 0.9729202409189597}, "laser-bias-current": {"instant": 48.864000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100393", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/17"}, "name": "xcvr_6/17"}, "xcvr_6/16": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 3.047274293836333}, "input-power": {"instant": 2.6601990885349824}, "laser-bias-current": {"instant": 39.21}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4326468201122067}, "input-power": {"instant": 2.4765417581902405}, "laser-bias-current": {"instant": 40.79}}}, "2": {"state": {"index": 2, "output-power": {"instant": 2.675002593932656}, "input-power": {"instant": 2.572944983622567}, "laser-bias-current": {"instant": 40.754}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.6184695952851902}, "input-power": {"instant": 2.4770328193417157}, "laser-bias-current": {"instant": 70.718}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH1603000AW", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/16"}, "name": "xcvr_6/16"}, "TempSensor5/9": {"state": {"type": "SENSOR", "name": "TempSensor5/9", "temperature": {"max": 74.25, "instant": 69.0}, "description": "Switch chip 4 sensor"}, "name": "TempSensor5/9", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "xcvr_6/10": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.7017367380627135}, "input-power": {"instant": 2.3979981844709863}, "laser-bias-current": {"instant": 38.048}}}, "1": {"state": {"index": 1, "output-power": {"instant": 2.5051758561048487}, "input-power": {"instant": 1.8092831999399106}, "laser-bias-current": {"instant": 36.428}}}, "2": {"state": {"index": 2, "output-power": {"instant": 2.5212455250564414}, "input-power": {"instant": 2.218834917852406}, "laser-bias-current": {"instant": 35.962}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.3334726558624288}, "input-power": {"instant": 2.9205660462146854}, "laser-bias-current": {"instant": 39.772}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH1605000G7", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/10"}, "name": "xcvr_6/10"}, "TempSensor4/2": {"state": {"type": "SENSOR", "name": "TempSensor4/2", "temperature": {"max": 45.0, "instant": 36.0}, "description": "Switch chip 1 sensor"}, "name": "TempSensor4/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor4/3": {"state": {"type": "SENSOR", "name": "TempSensor4/3", "temperature": {"max": 45.0, "instant": 37.0}, "description": "Switch chip 2 sensor"}, "name": "TempSensor4/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor5/5": {"state": {"type": "SENSOR", "name": "TempSensor5/5", "temperature": {"max": 56.75, "instant": 50.75}, "description": "Switch chip 1 sensor"}, "name": "TempSensor5/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor5/4": {"state": {"type": "SENSOR", "name": "TempSensor5/4", "temperature": {"max": 72.0, "instant": 67.0}, "description": "Board sensor"}, "name": "TempSensor5/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor5/7": {"state": {"type": "SENSOR", "name": "TempSensor5/7", "temperature": {"max": 69.0, "instant": 63.0}, "description": "Board sensor"}, "name": "TempSensor5/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor15/2": {"state": {"type": "SENSOR", "name": "TempSensor15/2", "temperature": {"max": 58.0, "instant": 52.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor15/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor5/1": {"state": {"type": "SENSOR", "name": "TempSensor5/1", "temperature": {"max": 46.0, "instant": 40.0}, "description": "Inlet sensor"}, "name": "TempSensor5/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "xcvr_6/18": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3580028330211125}, "input-power": {"instant": 1.744668588860181}, "laser-bias-current": {"instant": 41.21}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5887489845599667}, "input-power": {"instant": 2.3182625864728124}, "laser-bias-current": {"instant": 37.286}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.582720046520838}, "input-power": {"instant": 1.9337508061569908}, "laser-bias-current": {"instant": 38.732}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5736609176227034}, "input-power": {"instant": 2.047438326887998}, "laser-bias-current": {"instant": 34.86}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA160800021", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/18"}, "name": "xcvr_6/18"}, "TempSensor5/3": {"state": {"type": "SENSOR", "name": "TempSensor5/3", "temperature": {"max": 50.5, "instant": 45.0}, "description": "Outlet sensor"}, "name": "TempSensor5/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor5/2": {"state": {"type": "SENSOR", "name": "TempSensor5/2", "temperature": {"max": 68.75, "instant": 63.5}, "description": "Board sensor"}, "name": "TempSensor5/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet3/18": {"state": {"type": "PORT", "name": "Ethernet3/18"}, "name": "Ethernet3/18"}, "Ethernet3/19": {"state": {"type": "PORT", "name": "Ethernet3/19"}, "name": "Ethernet3/19"}, "Ethernet3/10": {"state": {"type": "PORT", "name": "Ethernet3/10"}, "name": "Ethernet3/10"}, "Ethernet3/11": {"state": {"type": "PORT", "name": "Ethernet3/11"}, "name": "Ethernet3/11"}, "Ethernet3/12": {"state": {"type": "PORT", "name": "Ethernet3/12"}, "name": "Ethernet3/12"}, "Ethernet3/13": {"state": {"type": "PORT", "name": "Ethernet3/13"}, "name": "Ethernet3/13"}, "Ethernet3/14": {"state": {"type": "PORT", "name": "Ethernet3/14"}, "name": "Ethernet3/14"}, "Ethernet3/15": {"state": {"type": "PORT", "name": "Ethernet3/15"}, "name": "Ethernet3/15"}, "Ethernet3/16": {"state": {"type": "PORT", "name": "Ethernet3/16"}, "name": "Ethernet3/16"}, "Ethernet3/17": {"state": {"type": "PORT", "name": "Ethernet3/17"}, "name": "Ethernet3/17"}, "Ethernet3/28": {"state": {"type": "PORT", "name": "Ethernet3/28"}, "name": "Ethernet3/28"}, "Ethernet6/2/1": {"state": {"type": "PORT", "name": "Ethernet6/2/1"}, "name": "Ethernet6/2/1", "subcomponents": {"subcomponent": {"xcvr_6/2": {"state": {"name": "xcvr_6/2"}, "name": "xcvr_6/2"}}}}, "TempSensor6/8": {"state": {"type": "SENSOR", "name": "TempSensor6/8", "temperature": {"max": 63.0, "instant": 56.75}, "description": "Switch chip 3 sensor"}, "name": "TempSensor6/8", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/9": {"state": {"type": "SENSOR", "name": "TempSensor6/9", "temperature": {"max": 80.25, "instant": 75.75}, "description": "Switch chip 4 sensor"}, "name": "TempSensor6/9", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/2": {"state": {"type": "SENSOR", "name": "TempSensor6/2", "temperature": {"max": 75.25, "instant": 70.5}, "description": "Board sensor"}, "name": "TempSensor6/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor6/3": {"state": {"type": "SENSOR", "name": "TempSensor6/3", "temperature": {"max": 52.75, "instant": 48.0}, "description": "Outlet sensor"}, "name": "TempSensor6/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor6/1": {"state": {"type": "SENSOR", "name": "TempSensor6/1", "temperature": {"max": 51.75, "instant": 46.25}, "description": "Inlet sensor"}, "name": "TempSensor6/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor6/6": {"state": {"type": "SENSOR", "name": "TempSensor6/6", "temperature": {"max": 83.75, "instant": 79.25}, "description": "Switch chip 2 sensor"}, "name": "TempSensor6/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/7": {"state": {"type": "SENSOR", "name": "TempSensor6/7", "temperature": {"max": 76.0, "instant": 71.0}, "description": "Board sensor"}, "name": "TempSensor6/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/4": {"state": {"type": "SENSOR", "name": "TempSensor6/4", "temperature": {"max": 76.0, "instant": 71.0}, "description": "Board sensor"}, "name": "TempSensor6/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/5": {"state": {"type": "SENSOR", "name": "TempSensor6/5", "temperature": {"max": 60.5, "instant": 54.75}, "description": "Switch chip 1 sensor"}, "name": "TempSensor6/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Management2/1": {"state": {"type": "PORT", "name": "Management2/1"}, "name": "Management2/1"}, "TempSensor6/10": {"state": {"type": "SENSOR", "name": "TempSensor6/10", "temperature": {"max": 75.0, "instant": 70.0}, "description": "Board sensor"}, "name": "TempSensor6/10", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/11": {"state": {"type": "SENSOR", "name": "TempSensor6/11", "temperature": {"max": 60.75, "instant": 55.0}, "description": "Switch chip 5 sensor"}, "name": "TempSensor6/11", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/12": {"state": {"type": "SENSOR", "name": "TempSensor6/12", "temperature": {"max": 81.5, "instant": 77.25}, "description": "Switch chip 6 sensor"}, "name": "TempSensor6/12", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "xcvr_5/18": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5094055396547734}, "input-power": {"instant": -0.09616741093766645}, "laser-bias-current": {"instant": 34.182}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5781928441729765}, "input-power": {"instant": 0.4898530257071121}, "laser-bias-current": {"instant": 29.256}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5688216443937675}, "input-power": {"instant": 0.4194507214526366}, "laser-bias-current": {"instant": 30.758}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4764541250174235}, "input-power": {"instant": 1.0428220709443803}, "laser-bias-current": {"instant": 27.16}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163600360", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/18"}, "name": "xcvr_5/18"}, "Management2/2": {"state": {"type": "PORT", "name": "Management2/2"}, "name": "Management2/2"}, "xcvr_5/10": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3385812520333484}, "input-power": {"instant": -0.038387066319929275}, "laser-bias-current": {"instant": 46.822}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4338956899465582}, "input-power": {"instant": 0.35629827790438995}, "laser-bias-current": {"instant": 45.212}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4807797676250578}, "input-power": {"instant": 0.44265299915319467}, "laser-bias-current": {"instant": 42.438}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.546065392836229}, "input-power": {"instant": -0.9210516458371698}, "laser-bias-current": {"instant": 36.884}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163100576", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/10"}, "name": "xcvr_5/10"}, "xcvr_5/11": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.4968088248293832}, "input-power": {"instant": 2.168517832843797}, "laser-bias-current": {"instant": 51.994}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5378438646936976}, "input-power": {"instant": 1.8627810344536755}, "laser-bias-current": {"instant": 49.88}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5011142512878184}, "input-power": {"instant": 1.1750329942923088}, "laser-bias-current": {"instant": 49.22}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.2865257363311846}, "input-power": {"instant": 0.5238609538937489}, "laser-bias-current": {"instant": 48.918}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800411", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/11"}, "name": "xcvr_5/11"}, "xcvr_5/12": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5384534008096518}, "input-power": {"instant": 1.3950127473591012}, "laser-bias-current": {"instant": 35.52}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4612803567823818}, "input-power": {"instant": 1.2414542506165382}, "laser-bias-current": {"instant": 41.484}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5509300753040245}, "input-power": {"instant": 1.250581511720732}, "laser-bias-current": {"instant": 36.92}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.411674686462323}, "input-power": {"instant": 0.7401144600894494}, "laser-bias-current": {"instant": 46.574}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA160900525", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/12"}, "name": "xcvr_5/12"}, "xcvr_5/13": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.7554080401676808}, "input-power": {"instant": 0.21891873919109184}, "laser-bias-current": {"instant": 49.952}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.8469143081759887}, "input-power": {"instant": 0.8703566480566005}, "laser-bias-current": {"instant": 51.316}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.8087105165054362}, "input-power": {"instant": -0.5680236993107357}, "laser-bias-current": {"instant": 49.146}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.69527489553293}, "input-power": {"instant": -1.8601892436352818}, "laser-bias-current": {"instant": 45.578}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800401", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/13"}, "name": "xcvr_5/13"}, "xcvr_6/28": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -0.27612000892527355}, "input-power": {"instant": 3.1371961949509286}, "laser-bias-current": {"instant": 48.892}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.1132973670415014}, "input-power": {"instant": 2.9587484521737917}, "laser-bias-current": {"instant": 45.128}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.4473569745050687}, "input-power": {"instant": 3.0196272647336286}, "laser-bias-current": {"instant": 42.996}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.6284511327705067}, "input-power": {"instant": 3.095450032954359}, "laser-bias-current": {"instant": 40.910000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163600368", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/28"}, "name": "xcvr_6/28"}, "xcvr_6/33": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.084973713482591}, "input-power": {"instant": 2.496385455404173}, "laser-bias-current": {"instant": 55.446}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.825002473791999}, "input-power": {"instant": 2.5358028956218304}, "laser-bias-current": {"instant": 48.926}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.8161495172896114}, "input-power": {"instant": 2.2561938133339954}, "laser-bias-current": {"instant": 48.068}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.7926446433902532}, "input-power": {"instant": 2.488311928079616}, "laser-bias-current": {"instant": 46.042}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800402", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/33"}, "name": "xcvr_6/33"}, "xcvr_6/32": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.781132523146316}, "input-power": {"instant": 2.625934580260507}, "laser-bias-current": {"instant": 31.912}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.901635516307052}, "input-power": {"instant": 2.586851626074722}, "laser-bias-current": {"instant": 31.464000000000002}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.8452108585291116}, "input-power": {"instant": 2.255677134394709}, "laser-bias-current": {"instant": 34.724000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.777384504017192}, "input-power": {"instant": 1.8934992433919762}, "laser-bias-current": {"instant": 35.676}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800430", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/32"}, "name": "xcvr_6/32"}, "xcvr_6/31": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.7376882313664987}, "input-power": {"instant": 3.120291800255357}, "laser-bias-current": {"instant": 38.77}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.7105328755937599}, "input-power": {"instant": 2.910356747682661}, "laser-bias-current": {"instant": 41.688}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.7403071803802561}, "input-power": {"instant": 3.134242671691929}, "laser-bias-current": {"instant": 43.602000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.7940815151383571}, "input-power": {"instant": 3.3118426658608335}, "laser-bias-current": {"instant": 32.498}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800408", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/31"}, "name": "xcvr_6/31"}, "xcvr_6/30": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.280436738264572}, "input-power": {"instant": 2.946645895001745}, "laser-bias-current": {"instant": 52.36}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.6932168368183698}, "input-power": {"instant": 3.577252684006318}, "laser-bias-current": {"instant": 47.318}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.2652102554341216}, "input-power": {"instant": 3.539546793717099}, "laser-bias-current": {"instant": 51.262}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.7295302754635467}, "input-power": {"instant": 2.6670196688408776}, "laser-bias-current": {"instant": 42.924}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800359", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/30"}, "name": "xcvr_6/30"}, "TempSensor2/8": {"state": {"type": "SENSOR", "name": "TempSensor2/8", "temperature": {"max": 33.0, "instant": 24.0}, "description": "Rear sensor"}, "name": "TempSensor2/8", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 75.0}, "name": "critical-threshold"}}}}, "xcvr_5/2": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3436838460337874}, "input-power": {"instant": 2.7468884223755863}, "laser-bias-current": {"instant": 47.196}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.9516935143175509}, "input-power": {"instant": 2.3646168162681525}, "laser-bias-current": {"instant": 47.316}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.9843604534036299}, "input-power": {"instant": 2.5056636904012386}, "laser-bias-current": {"instant": 50.31}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.7302145435973895}, "input-power": {"instant": 2.5671774597748698}, "laser-bias-current": {"instant": 46.730000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153500549", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/2"}, "name": "xcvr_5/2"}, "xcvr_6/29": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.2768778753985055}, "input-power": {"instant": 3.313665517857811}, "laser-bias-current": {"instant": 51.664}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.8303654241196456}, "input-power": {"instant": 3.4242268082220617}, "laser-bias-current": {"instant": 52.066}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.28571252692537463}, "input-power": {"instant": 3.2182618376850325}, "laser-bias-current": {"instant": 52.114000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5384534008096518}, "input-power": {"instant": 2.537982298682495}, "laser-bias-current": {"instant": 47.94}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800357", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/29"}, "name": "xcvr_6/29"}, "Ethernet3/36": {"state": {"type": "PORT", "name": "Ethernet3/36"}, "name": "Ethernet3/36", "subcomponents": {"subcomponent": {"xcvr_3/36": {"state": {"name": "xcvr_3/36"}, "name": "xcvr_3/36"}}}}, "Ethernet3/37": {"state": {"type": "PORT", "name": "Ethernet3/37"}, "name": "Ethernet3/37"}, "Ethernet3/34": {"state": {"type": "PORT", "name": "Ethernet3/34"}, "name": "Ethernet3/34", "subcomponents": {"subcomponent": {"xcvr_3/34": {"state": {"name": "xcvr_3/34"}, "name": "xcvr_3/34"}}}}, "Ethernet3/35": {"state": {"type": "PORT", "name": "Ethernet3/35"}, "name": "Ethernet3/35", "subcomponents": {"subcomponent": {"xcvr_3/35": {"state": {"name": "xcvr_3/35"}, "name": "xcvr_3/35"}}}}, "Ethernet3/32": {"state": {"type": "PORT", "name": "Ethernet3/32"}, "name": "Ethernet3/32"}, "Ethernet3/33": {"state": {"type": "PORT", "name": "Ethernet3/33"}, "name": "Ethernet3/33"}, "Ethernet3/30": {"state": {"type": "PORT", "name": "Ethernet3/30"}, "name": "Ethernet3/30"}, "Ethernet3/31": {"state": {"type": "PORT", "name": "Ethernet3/31"}, "name": "Ethernet3/31"}, "Ethernet6/8/1": {"state": {"type": "PORT", "name": "Ethernet6/8/1"}, "name": "Ethernet6/8/1", "subcomponents": {"subcomponent": {"xcvr_6/8": {"state": {"name": "xcvr_6/8"}, "name": "xcvr_6/8"}}}}, "Ethernet3/38": {"state": {"type": "PORT", "name": "Ethernet3/38"}, "name": "Ethernet3/38"}, "Ethernet3/39": {"state": {"type": "PORT", "name": "Ethernet3/39"}, "name": "Ethernet3/39"}, "Ethernet6/9/1": {"state": {"type": "PORT", "name": "Ethernet6/9/1"}, "name": "Ethernet6/9/1", "subcomponents": {"subcomponent": {"xcvr_6/9": {"state": {"name": "xcvr_6/9"}, "name": "xcvr_6/9"}}}}, "Ethernet5/9/1": {"state": {"type": "PORT", "name": "Ethernet5/9/1"}, "name": "Ethernet5/9/1", "subcomponents": {"subcomponent": {"xcvr_5/9": {"state": {"name": "xcvr_5/9"}, "name": "xcvr_5/9"}}}}, "Ethernet5/19/1": {"state": {"type": "PORT", "name": "Ethernet5/19/1"}, "name": "Ethernet5/19/1"}, "TempSensor5/11": {"state": {"type": "SENSOR", "name": "TempSensor5/11", "temperature": {"max": 51.75, "instant": 45.25}, "description": "Switch chip 5 sensor"}, "name": "TempSensor5/11", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor5/10": {"state": {"type": "SENSOR", "name": "TempSensor5/10", "temperature": {"max": 67.0, "instant": 62.0}, "description": "Board sensor"}, "name": "TempSensor5/10", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "xcvr_3/36": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.3900356324280416}, "input-power": {"instant": -5.476001540885584}, "laser-bias-current": {"instant": 26.22}}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN0FD692787", "part-no": "SFP10G-LR-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_3/36"}, "name": "xcvr_3/36"}, "TempSensor5/12": {"state": {"type": "SENSOR", "name": "TempSensor5/12", "temperature": {"max": 73.75, "instant": 68.25}, "description": "Switch chip 6 sensor"}, "name": "TempSensor5/12", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet4/26": {"state": {"type": "PORT", "name": "Ethernet4/26"}, "name": "Ethernet4/26"}, "xcvr_4/50": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}, "1": {"state": {"index": 1, "output-power": {"instant": -0.6278310913729435}, "input-power": {"instant": 0.06337660374550858}, "laser-bias-current": {"instant": 5.384}}}, "2": {"state": {"index": 2, "output-power": {"instant": -0.34046110897937076}, "input-power": {"instant": -0.22688026603074007}, "laser-bias-current": {"instant": 5.518}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.09972101229705377}, "input-power": {"instant": -0.25396207912967483}, "laser-bias-current": {"instant": 5.886}}}, "4": {"state": {"index": 4, "output-power": {"instant": -0.12959713020733066}, "input-power": {"instant": -0.6338573802478864}, "laser-bias-current": {"instant": 5.432}}}, "5": {"state": {"index": 5, "output-power": {"instant": 0.11189687609991505}, "input-power": {"instant": -0.33295223342125535}, "laser-bias-current": {"instant": 5.822}}}, "6": {"state": {"index": 6, "output-power": {"instant": -0.06651960076740071}, "input-power": {"instant": -1.0385974855798041}, "laser-bias-current": {"instant": 5.402}}}, "7": {"state": {"index": 7, "output-power": {"instant": 0.11824095594308748}, "input-power": {"instant": -0.24752058759319073}, "laser-bias-current": {"instant": 5.378}}}, "8": {"state": {"index": 8, "output-power": {"instant": 0.10639116736629983}, "input-power": {"instant": -0.6333548699992475}, "laser-bias-current": {"instant": 5.708}}}, "9": {"state": {"index": 9, "output-power": {"instant": -0.2489001031383875}, "input-power": {"instant": -0.24292536462819925}, "laser-bias-current": {"instant": 5.38}}}, "10": {"state": {"index": 10, "output-power": {"instant": -0.22139270735302752}, "input-power": {"instant": -0.17186237868137333}, "laser-bias-current": {"instant": 5.824}}}, "11": {"state": {"index": 11, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}}}, "state": {"ethernet-pmd": "ETH_100GBASE_SR10", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "JPE13510269", "part-no": "7500E-72S-LC", "type": "TRANSCEIVER", "name": "xcvr_4/50"}, "name": "xcvr_4/50"}, "Ethernet3/29": {"state": {"type": "PORT", "name": "Ethernet3/29"}, "name": "Ethernet3/29"}, "Ethernet4/46": {"state": {"type": "PORT", "name": "Ethernet4/46"}, "name": "Ethernet4/46"}, "TempSensorP1/2": {"state": {"type": "SENSOR", "name": "TempSensorP1/2", "temperature": {"max": 30.0, "instant": 24.875}, "description": "Power supply sensor"}, "name": "TempSensorP1/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP1/1": {"state": {"type": "SENSOR", "name": "TempSensorP1/1", "temperature": {"max": 47.5, "instant": 32.0}, "description": "Power supply sensor"}, "name": "TempSensorP1/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP2/1": {"state": {"type": "SENSOR", "name": "TempSensorP2/1", "temperature": {"max": 46.25, "instant": 31.75}, "description": "Power supply sensor"}, "name": "TempSensorP2/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "xcvr_6/24": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5527529273009977}, "input-power": {"instant": 2.9165739610218067}, "laser-bias-current": {"instant": 38.686}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5560928367891558}, "input-power": {"instant": 3.084790401617301}, "laser-bias-current": {"instant": 32.728}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5736609176227034}, "input-power": {"instant": 2.4286429614070704}, "laser-bias-current": {"instant": 37.872}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5026508697870389}, "input-power": {"instant": 2.580862843279794}, "laser-bias-current": {"instant": 29.64}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100696", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/24"}, "name": "xcvr_6/24"}, "TempSensorP2/2": {"state": {"type": "SENSOR", "name": "TempSensorP2/2", "temperature": {"max": 31.0, "instant": 24.25}, "description": "Power supply sensor"}, "name": "TempSensorP2/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP3/1": {"state": {"type": "SENSOR", "name": "TempSensorP3/1", "temperature": {"max": 48.5, "instant": 31.625}, "description": "Power supply sensor"}, "name": "TempSensorP3/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP3/2": {"state": {"type": "SENSOR", "name": "TempSensorP3/2", "temperature": {"max": 31.375, "instant": 24.375}, "description": "Power supply sensor"}, "name": "TempSensorP3/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP4/2": {"state": {"type": "SENSOR", "name": "TempSensorP4/2", "temperature": {"max": 34.375, "instant": 25.25}, "description": "Power supply sensor"}, "name": "TempSensorP4/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP4/1": {"state": {"type": "SENSOR", "name": "TempSensorP4/1", "temperature": {"max": 45.25, "instant": 31.5}, "description": "Power supply sensor"}, "name": "TempSensorP4/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "xcvr_6/25": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3296372613072682}, "input-power": {"instant": 1.4126159062208998}, "laser-bias-current": {"instant": 26.080000000000002}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5204360248765125}, "input-power": {"instant": 1.3899701403263576}, "laser-bias-current": {"instant": 28.076}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4776904626014709}, "input-power": {"instant": 1.6767171623002097}, "laser-bias-current": {"instant": 28.212}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4884934295922037}, "input-power": {"instant": 2.024883170600935}, "laser-bias-current": {"instant": 38.402}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162200388", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/25"}, "name": "xcvr_6/25"}, "Ethernet6/17/1": {"state": {"type": "PORT", "name": "Ethernet6/17/1"}, "name": "Ethernet6/17/1", "subcomponents": {"subcomponent": {"xcvr_6/17": {"state": {"name": "xcvr_6/17"}, "name": "xcvr_6/17"}}}}, "Ethernet6/6/1": {"state": {"type": "PORT", "name": "Ethernet6/6/1"}, "name": "Ethernet6/6/1", "subcomponents": {"subcomponent": {"xcvr_6/6": {"state": {"name": "xcvr_6/6"}, "name": "xcvr_6/6"}}}}, "TempSensor1/11": {"state": {"type": "SENSOR", "name": "TempSensor1/11", "temperature": {"max": 37.0, "instant": 27.0}, "description": "CPU VRM temp sensor 1"}, "name": "TempSensor1/11", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 105.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor1/10": {"state": {"type": "SENSOR", "name": "TempSensor1/10", "temperature": {"max": 37.0, "instant": 27.0}, "description": "CPU VRM temp sensor 0"}, "name": "TempSensor1/10", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 105.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet5/28/1": {"state": {"type": "PORT", "name": "Ethernet5/28/1"}, "name": "Ethernet5/28/1"}, "Ethernet4/4": {"state": {"type": "PORT", "name": "Ethernet4/4"}, "name": "Ethernet4/4", "subcomponents": {"subcomponent": {"xcvr_4/4": {"state": {"name": "xcvr_4/4"}, "name": "xcvr_4/4"}}}}, "xcvr_3/50": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}, "1": {"state": {"index": 1, "output-power": {"instant": -0.13631406429726933}, "input-power": {"instant": -0.4575749056067524}, "laser-bias-current": {"instant": 6.144}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.09620840814324794}, "input-power": {"instant": -0.17683530307934792}, "laser-bias-current": {"instant": 5.612}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.10105436281226954}, "input-power": {"instant": -0.7572071393811841}, "laser-bias-current": {"instant": 6.198}}}, "4": {"state": {"index": 4, "output-power": {"instant": -0.1430414031015781}, "input-power": {"instant": -0.2881695914383853}, "laser-bias-current": {"instant": 5.6240000000000006}}}, "5": {"state": {"index": 5, "output-power": {"instant": 0.08174184006426444}, "input-power": {"instant": -0.32405227328110353}, "laser-bias-current": {"instant": 5.586}}}, "6": {"state": {"index": 6, "output-power": {"instant": 0.13427127070696265}, "input-power": {"instant": -1.0193333935836524}, "laser-bias-current": {"instant": 5.562}}}, "7": {"state": {"index": 7, "output-power": {"instant": 0.07449044497748858}, "input-power": {"instant": -0.4730440041308315}, "laser-bias-current": {"instant": 5.488}}}, "8": {"state": {"index": 8, "output-power": {"instant": 0.35029282202367895}, "input-power": {"instant": -0.3976712687148787}, "laser-bias-current": {"instant": 5.5440000000000005}}}, "9": {"state": {"index": 9, "output-power": {"instant": 0.306401948686319}, "input-power": {"instant": -0.9049745859458458}, "laser-bias-current": {"instant": 5.622}}}, "10": {"state": {"index": 10, "output-power": {"instant": 0.31570032141100324}, "input-power": {"instant": -0.6509774167768612}, "laser-bias-current": {"instant": 5.566}}}, "11": {"state": {"index": 11, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}}}, "state": {"ethernet-pmd": "ETH_100GBASE_SR10", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "JPE13510257", "part-no": "7500E-72S-LC", "type": "TRANSCEIVER", "name": "xcvr_3/50"}, "name": "xcvr_3/50"}, "Fabric6": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric6", "serial-no": "JPE13473813", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric6", "subcomponents": {"subcomponent": {"TempSensor16/2": {"state": {"name": "TempSensor16/2"}, "name": "TempSensor16/2"}, "TempSensor16/1": {"state": {"name": "TempSensor16/1"}, "name": "TempSensor16/1"}}}}, "Fabric4": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric4", "serial-no": "JPE13492642", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric4", "subcomponents": {"subcomponent": {"TempSensor14/1": {"state": {"name": "TempSensor14/1"}, "name": "TempSensor14/1"}, "TempSensor14/2": {"state": {"name": "TempSensor14/2"}, "name": "TempSensor14/2"}}}}, "Fabric5": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric5", "serial-no": "JPE13470733", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric5", "subcomponents": {"subcomponent": {"TempSensor15/1": {"state": {"name": "TempSensor15/1"}, "name": "TempSensor15/1"}, "TempSensor15/2": {"state": {"name": "TempSensor15/2"}, "name": "TempSensor15/2"}}}}, "Fabric2": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric2", "serial-no": "JPE13470700", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric2", "subcomponents": {"subcomponent": {"TempSensor12/2": {"state": {"name": "TempSensor12/2"}, "name": "TempSensor12/2"}, "TempSensor12/1": {"state": {"name": "TempSensor12/1"}, "name": "TempSensor12/1"}}}}, "Fabric3": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric3", "serial-no": "JPE13470749", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric3", "subcomponents": {"subcomponent": {"TempSensor13/2": {"state": {"name": "TempSensor13/2"}, "name": "TempSensor13/2"}, "TempSensor13/1": {"state": {"name": "TempSensor13/1"}, "name": "TempSensor13/1"}}}}, "Fabric1": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric1", "serial-no": "JPE13470767", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric1", "subcomponents": {"subcomponent": {"TempSensor11/1": {"state": {"name": "TempSensor11/1"}, "name": "TempSensor11/1"}, "TempSensor11/2": {"state": {"name": "TempSensor11/2"}, "name": "TempSensor11/2"}}}}, "TempSensor2/10": {"state": {"type": "SENSOR", "name": "TempSensor2/10", "temperature": {"max": 37.0, "instant": 29.0}, "description": "CPU VRM temp sensor 0"}, "name": "TempSensor2/10", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 105.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor2/11": {"state": {"type": "SENSOR", "name": "TempSensor2/11", "temperature": {"max": 37.0, "instant": 29.0}, "description": "CPU VRM temp sensor 1"}, "name": "TempSensor2/11", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 105.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet6/7/1": {"state": {"type": "PORT", "name": "Ethernet6/7/1"}, "name": "Ethernet6/7/1", "subcomponents": {"subcomponent": {"xcvr_6/7": {"state": {"name": "xcvr_6/7"}, "name": "xcvr_6/7"}}}}, "Ethernet3/47": {"state": {"type": "PORT", "name": "Ethernet3/47"}, "name": "Ethernet3/47"}, "Ethernet3/46": {"state": {"type": "PORT", "name": "Ethernet3/46"}, "name": "Ethernet3/46"}, "Ethernet3/45": {"state": {"type": "PORT", "name": "Ethernet3/45"}, "name": "Ethernet3/45"}, "Ethernet3/44": {"state": {"type": "PORT", "name": "Ethernet3/44"}, "name": "Ethernet3/44"}, "Ethernet3/43": {"state": {"type": "PORT", "name": "Ethernet3/43"}, "name": "Ethernet3/43"}, "Ethernet3/42": {"state": {"type": "PORT", "name": "Ethernet3/42"}, "name": "Ethernet3/42"}, "Ethernet3/41": {"state": {"type": "PORT", "name": "Ethernet3/41"}, "name": "Ethernet3/41"}, "Ethernet3/40": {"state": {"type": "PORT", "name": "Ethernet3/40"}, "name": "Ethernet3/40"}, "Ethernet3/48": {"state": {"type": "PORT", "name": "Ethernet3/48"}, "name": "Ethernet3/48", "subcomponents": {"subcomponent": {"xcvr_3/48": {"state": {"name": "xcvr_3/48"}, "name": "xcvr_3/48"}}}}, "Ethernet5/26/1": {"state": {"type": "PORT", "name": "Ethernet5/26/1"}, "name": "Ethernet5/26/1"}, "DCS-7504": {"state": {"name": "DCS-7504", "serial-no": "HSH13485008", "part-no": "DCS-7504", "mfg-name": "Arista Networks", "version": "02.00", "type": "CHASSIS", "description": "DCS-7504 Chassis"}, "name": "DCS-7504", "subcomponents": {"subcomponent": {"powerSupply_4": {"state": {"name": "powerSupply_4"}, "name": "powerSupply_4"}, "fan_3": {"state": {"name": "fan_3"}, "name": "fan_3"}, "fan_1": {"state": {"name": "fan_1"}, "name": "fan_1"}, "powerSupply_2": {"state": {"name": "powerSupply_2"}, "name": "powerSupply_2"}, "Fabric1": {"state": {"name": "Fabric1"}, "name": "Fabric1"}, "Linecard3": {"state": {"name": "Linecard3"}, "name": "Linecard3"}, "fan_6": {"state": {"name": "fan_6"}, "name": "fan_6"}, "powerSupply_1": {"state": {"name": "powerSupply_1"}, "name": "powerSupply_1"}, "Linecard5": {"state": {"name": "Linecard5"}, "name": "Linecard5"}, "fan_4": {"state": {"name": "fan_4"}, "name": "fan_4"}, "Fabric3": {"state": {"name": "Fabric3"}, "name": "Fabric3"}, "Supervisor1": {"state": {"name": "Supervisor1"}, "name": "Supervisor1"}, "Supervisor2": {"state": {"name": "Supervisor2"}, "name": "Supervisor2"}, "powerSupply_3": {"state": {"name": "powerSupply_3"}, "name": "powerSupply_3"}, "Fabric6": {"state": {"name": "Fabric6"}, "name": "Fabric6"}, "fan_2": {"state": {"name": "fan_2"}, "name": "fan_2"}, "Fabric4": {"state": {"name": "Fabric4"}, "name": "Fabric4"}, "Fabric5": {"state": {"name": "Fabric5"}, "name": "Fabric5"}, "Fabric2": {"state": {"name": "Fabric2"}, "name": "Fabric2"}, "Linecard4": {"state": {"name": "Linecard4"}, "name": "Linecard4"}, "fan_5": {"state": {"name": "fan_5"}, "name": "fan_5"}, "Linecard6": {"state": {"name": "Linecard6"}, "name": "Linecard6"}}}}, "TempSensor2/6": {"state": {"type": "SENSOR", "name": "TempSensor2/6", "temperature": {"max": 59.0, "instant": 49.0}, "description": "PlxLc sensor"}, "name": "TempSensor2/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 103.0}, "name": "critical-threshold"}}}}, "Ethernet4/29": {"state": {"type": "PORT", "name": "Ethernet4/29"}, "name": "Ethernet4/29"}, "TempSensor16/2": {"state": {"type": "SENSOR", "name": "TempSensor16/2", "temperature": {"max": 55.0, "instant": 50.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor16/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "xcvr_3/35": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.4200450443907586}, "input-power": {"instant": -9.292235371565653}, "laser-bias-current": {"instant": 30.21}}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN0FD692786", "part-no": "SFP10G-LR-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_3/35"}, "name": "xcvr_3/35"}, "TempSensor3/7": {"state": {"type": "SENSOR", "name": "TempSensor3/7", "temperature": {"max": 35.0, "instant": 27.0}, "description": "Outlet sensor"}, "name": "TempSensor3/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor3/6": {"state": {"type": "SENSOR", "name": "TempSensor3/6", "temperature": {"max": 42.0, "instant": 35.0}, "description": "Board sensor"}, "name": "TempSensor3/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet4/22": {"state": {"type": "PORT", "name": "Ethernet4/22"}, "name": "Ethernet4/22"}, "TempSensor3/4": {"state": {"type": "SENSOR", "name": "TempSensor3/4", "temperature": {"max": 49.0, "instant": 40.0}, "description": "Switch chip 3 sensor"}, "name": "TempSensor3/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor3/3": {"state": {"type": "SENSOR", "name": "TempSensor3/3", "temperature": {"max": 47.0, "instant": 40.0}, "description": "Switch chip 2 sensor"}, "name": "TempSensor3/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor3/2": {"state": {"type": "SENSOR", "name": "TempSensor3/2", "temperature": {"max": 46.0, "instant": 37.0}, "description": "Switch chip 1 sensor"}, "name": "TempSensor3/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet6/18/1": {"state": {"type": "PORT", "name": "Ethernet6/18/1"}, "name": "Ethernet6/18/1", "subcomponents": {"subcomponent": {"xcvr_6/18": {"state": {"name": "xcvr_6/18"}, "name": "xcvr_6/18"}}}}, "TempSensor2/9": {"state": {"type": "SENSOR", "name": "TempSensor2/9", "temperature": {"max": 30.0, "instant": 21.0}, "description": "Front sensor"}, "name": "TempSensor2/9", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 75.0}, "name": "critical-threshold"}}}}, "xcvr_4/48": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XMD1018MCF6J", "part-no": "SFP-1G-T", "type": "TRANSCEIVER", "name": "xcvr_4/48"}, "name": "xcvr_4/48"}, "TempSensor4/4": {"state": {"type": "SENSOR", "name": "TempSensor4/4", "temperature": {"max": 48.0, "instant": 39.0}, "description": "Switch chip 3 sensor"}, "name": "TempSensor4/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor4/5": {"state": {"type": "SENSOR", "name": "TempSensor4/5", "temperature": {"max": 32.0, "instant": 23.0}, "description": "Inlet sensor"}, "name": "TempSensor4/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor4/6": {"state": {"type": "SENSOR", "name": "TempSensor4/6", "temperature": {"max": 41.0, "instant": 34.0}, "description": "Board sensor"}, "name": "TempSensor4/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor4/7": {"state": {"type": "SENSOR", "name": "TempSensor4/7", "temperature": {"max": 36.0, "instant": 29.0}, "description": "Outlet sensor"}, "name": "TempSensor4/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "xcvr_6/11": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5280796341906377}, "input-power": {"instant": 0.3506934442110454}, "laser-bias-current": {"instant": 38.934}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.45662470707546}, "input-power": {"instant": 0.6329582107352039}, "laser-bias-current": {"instant": 30.722}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5341848503771072}, "input-power": {"instant": 1.980244255331196}, "laser-bias-current": {"instant": 34.550000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.398161406105758}, "input-power": {"instant": 0.8753297573409347}, "laser-bias-current": {"instant": 28.23}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600154", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/11"}, "name": "xcvr_6/11"}, "Ethernet5/8/1": {"state": {"type": "PORT", "name": "Ethernet5/8/1"}, "name": "Ethernet5/8/1", "subcomponents": {"subcomponent": {"xcvr_5/8": {"state": {"name": "xcvr_5/8"}, "name": "xcvr_5/8"}}}}, "TempSensor5/8": {"state": {"type": "SENSOR", "name": "TempSensor5/8", "temperature": {"max": 53.0, "instant": 46.25}, "description": "Switch chip 3 sensor"}, "name": "TempSensor5/8", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet6/11/1": {"state": {"type": "PORT", "name": "Ethernet6/11/1"}, "name": "Ethernet6/11/1", "subcomponents": {"subcomponent": {"xcvr_6/11": {"state": {"name": "xcvr_6/11"}, "name": "xcvr_6/11"}}}}, "xcvr_6/13": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.511245900506819}, "input-power": {"instant": 2.07284205912198}, "laser-bias-current": {"instant": 38.300000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5424133016729824}, "input-power": {"instant": 1.9898680567093319}, "laser-bias-current": {"instant": 30.428}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.479853206838051}, "input-power": {"instant": 2.4467287841611007}, "laser-bias-current": {"instant": 28.652}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5198239545747416}, "input-power": {"instant": 1.8582535961296198}, "laser-bias-current": {"instant": 33.314}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100079", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/13"}, "name": "xcvr_6/13"}, "Ethernet5/5/1": {"state": {"type": "PORT", "name": "Ethernet5/5/1"}, "name": "Ethernet5/5/1", "subcomponents": {"subcomponent": {"xcvr_5/5": {"state": {"name": "xcvr_5/5"}, "name": "xcvr_5/5"}}}}, "xcvr_6/12": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.555789314769318}, "input-power": {"instant": 2.0972942801620498}, "laser-bias-current": {"instant": 35.464}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5715443990628142}, "input-power": {"instant": 1.9879450017559863}, "laser-bias-current": {"instant": 36.006}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5390628513886773}, "input-power": {"instant": 2.003579455416351}, "laser-bias-current": {"instant": 34.706}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5433266124230505}, "input-power": {"instant": 2.0650205758868534}, "laser-bias-current": {"instant": 33.56}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100055", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/12"}, "name": "xcvr_6/12"}, "Ethernet6/10/1": {"state": {"type": "PORT", "name": "Ethernet6/10/1"}, "name": "Ethernet6/10/1", "subcomponents": {"subcomponent": {"xcvr_6/10": {"state": {"name": "xcvr_6/10"}, "name": "xcvr_6/10"}}}}, "Ethernet5/4/1": {"state": {"type": "PORT", "name": "Ethernet5/4/1"}, "name": "Ethernet5/4/1", "subcomponents": {"subcomponent": {"xcvr_5/4": {"state": {"name": "xcvr_5/4"}, "name": "xcvr_5/4"}}}}, "Ethernet4/5": {"state": {"type": "PORT", "name": "Ethernet4/5"}, "name": "Ethernet4/5", "subcomponents": {"subcomponent": {"xcvr_4/5": {"state": {"name": "xcvr_4/5"}, "name": "xcvr_4/5"}}}}, "TempSensor15/1": {"state": {"type": "SENSOR", "name": "TempSensor15/1", "temperature": {"max": 50.75, "instant": 44.75}, "description": "Outlet sensor"}, "name": "TempSensor15/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet4/7": {"state": {"type": "PORT", "name": "Ethernet4/7"}, "name": "Ethernet4/7"}, "Ethernet4/6": {"state": {"type": "PORT", "name": "Ethernet4/6"}, "name": "Ethernet4/6"}, "Ethernet4/1": {"state": {"type": "PORT", "name": "Ethernet4/1"}, "name": "Ethernet4/1", "subcomponents": {"subcomponent": {"xcvr_4/1": {"state": {"name": "xcvr_4/1"}, "name": "xcvr_4/1"}}}}, "Ethernet5/3/1": {"state": {"type": "PORT", "name": "Ethernet5/3/1"}, "name": "Ethernet5/3/1", "subcomponents": {"subcomponent": {"xcvr_5/3": {"state": {"name": "xcvr_5/3"}, "name": "xcvr_5/3"}}}}, "Ethernet4/3": {"state": {"type": "PORT", "name": "Ethernet4/3"}, "name": "Ethernet4/3", "subcomponents": {"subcomponent": {"xcvr_4/3": {"state": {"name": "xcvr_4/3"}, "name": "xcvr_4/3"}}}}, "Ethernet4/2": {"state": {"type": "PORT", "name": "Ethernet4/2"}, "name": "Ethernet4/2", "subcomponents": {"subcomponent": {"xcvr_4/2": {"state": {"name": "xcvr_4/2"}, "name": "xcvr_4/2"}}}}, "Ethernet4/15": {"state": {"type": "PORT", "name": "Ethernet4/15"}, "name": "Ethernet4/15"}, "Ethernet4/50/1": {"state": {"type": "PORT", "name": "Ethernet4/50/1"}, "name": "Ethernet4/50/1", "subcomponents": {"subcomponent": {"xcvr_4/50": {"state": {"name": "xcvr_4/50"}, "name": "xcvr_4/50"}}}}, "Ethernet5/2/1": {"state": {"type": "PORT", "name": "Ethernet5/2/1"}, "name": "Ethernet5/2/1", "subcomponents": {"subcomponent": {"xcvr_5/2": {"state": {"name": "xcvr_5/2"}, "name": "xcvr_5/2"}}}}, "Ethernet4/8": {"state": {"type": "PORT", "name": "Ethernet4/8"}, "name": "Ethernet4/8"}, "Ethernet6/16/1": {"state": {"type": "PORT", "name": "Ethernet6/16/1"}, "name": "Ethernet6/16/1", "subcomponents": {"subcomponent": {"xcvr_6/16": {"state": {"name": "xcvr_6/16"}, "name": "xcvr_6/16"}}}}, "Ethernet4/39": {"state": {"type": "PORT", "name": "Ethernet4/39"}, "name": "Ethernet4/39"}, "Ethernet4/38": {"state": {"type": "PORT", "name": "Ethernet4/38"}, "name": "Ethernet4/38"}, "Ethernet4/33": {"state": {"type": "PORT", "name": "Ethernet4/33"}, "name": "Ethernet4/33"}, "Ethernet4/32": {"state": {"type": "PORT", "name": "Ethernet4/32"}, "name": "Ethernet4/32"}, "Ethernet4/31": {"state": {"type": "PORT", "name": "Ethernet4/31"}, "name": "Ethernet4/31"}, "Ethernet4/30": {"state": {"type": "PORT", "name": "Ethernet4/30"}, "name": "Ethernet4/30"}, "Ethernet4/37": {"state": {"type": "PORT", "name": "Ethernet4/37"}, "name": "Ethernet4/37"}, "Ethernet4/36": {"state": {"type": "PORT", "name": "Ethernet4/36"}, "name": "Ethernet4/36"}, "Ethernet4/35": {"state": {"type": "PORT", "name": "Ethernet4/35"}, "name": "Ethernet4/35"}, "Ethernet4/34": {"state": {"type": "PORT", "name": "Ethernet4/34"}, "name": "Ethernet4/34"}, "Ethernet6/28/1": {"state": {"type": "PORT", "name": "Ethernet6/28/1"}, "name": "Ethernet6/28/1", "subcomponents": {"subcomponent": {"xcvr_6/28": {"state": {"name": "xcvr_6/28"}, "name": "xcvr_6/28"}}}}, "Ethernet3/7": {"state": {"type": "PORT", "name": "Ethernet3/7"}, "name": "Ethernet3/7"}, "Ethernet3/4": {"state": {"type": "PORT", "name": "Ethernet3/4"}, "name": "Ethernet3/4"}, "Ethernet3/5": {"state": {"type": "PORT", "name": "Ethernet3/5"}, "name": "Ethernet3/5", "subcomponents": {"subcomponent": {"xcvr_3/5": {"state": {"name": "xcvr_3/5"}, "name": "xcvr_3/5"}}}}, "Ethernet3/2": {"state": {"type": "PORT", "name": "Ethernet3/2"}, "name": "Ethernet3/2", "subcomponents": {"subcomponent": {"xcvr_3/2": {"state": {"name": "xcvr_3/2"}, "name": "xcvr_3/2"}}}}, "Ethernet3/3": {"state": {"type": "PORT", "name": "Ethernet3/3"}, "name": "Ethernet3/3", "subcomponents": {"subcomponent": {"xcvr_3/3": {"state": {"name": "xcvr_3/3"}, "name": "xcvr_3/3"}}}}, "Ethernet3/1": {"state": {"type": "PORT", "name": "Ethernet3/1"}, "name": "Ethernet3/1", "subcomponents": {"subcomponent": {"xcvr_3/1": {"state": {"name": "xcvr_3/1"}, "name": "xcvr_3/1"}}}}, "Ethernet6/29/1": {"state": {"type": "PORT", "name": "Ethernet6/29/1"}, "name": "Ethernet6/29/1", "subcomponents": {"subcomponent": {"xcvr_6/29": {"state": {"name": "xcvr_6/29"}, "name": "xcvr_6/29"}}}}, "Ethernet3/8": {"state": {"type": "PORT", "name": "Ethernet3/8"}, "name": "Ethernet3/8"}, "Ethernet3/9": {"state": {"type": "PORT", "name": "Ethernet3/9"}, "name": "Ethernet3/9"}, "Ethernet6/24/1": {"state": {"type": "PORT", "name": "Ethernet6/24/1"}, "name": "Ethernet6/24/1", "subcomponents": {"subcomponent": {"xcvr_6/24": {"state": {"name": "xcvr_6/24"}, "name": "xcvr_6/24"}}}}, "TempSensor4/1": {"state": {"type": "SENSOR", "name": "TempSensor4/1", "temperature": {"max": 45.0, "instant": 38.0}, "description": "Board sensor"}, "name": "TempSensor4/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet6/15/1": {"state": {"type": "PORT", "name": "Ethernet6/15/1"}, "name": "Ethernet6/15/1", "subcomponents": {"subcomponent": {"xcvr_6/15": {"state": {"name": "xcvr_6/15"}, "name": "xcvr_6/15"}}}}, "xcvr_3/34": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 0.4277233749767362}, "input-power": {"instant": -6.499459064209696}, "laser-bias-current": {"instant": 43.83}}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAP1025T6009", "part-no": "SFP-10G-ER", "type": "TRANSCEIVER", "name": "xcvr_3/34"}, "name": "xcvr_3/34"}, "Ethernet5/1/1": {"state": {"type": "PORT", "name": "Ethernet5/1/1"}, "name": "Ethernet5/1/1", "subcomponents": {"subcomponent": {"xcvr_5/1": {"state": {"name": "xcvr_5/1"}, "name": "xcvr_5/1"}}}}, "Ethernet6/25/1": {"state": {"type": "PORT", "name": "Ethernet6/25/1"}, "name": "Ethernet6/25/1", "subcomponents": {"subcomponent": {"xcvr_6/25": {"state": {"name": "xcvr_6/25"}, "name": "xcvr_6/25"}}}}, "xcvr_6/21": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 2.5107826448400195}, "input-power": {"instant": 3.7171420264261767}, "laser-bias-current": {"instant": 35.388}}}, "1": {"state": {"index": 1, "output-power": {"instant": 2.873089515699725}, "input-power": {"instant": 4.219492510628786}, "laser-bias-current": {"instant": 34.752}}}, "2": {"state": {"index": 2, "output-power": {"instant": 3.2487894311199383}, "input-power": {"instant": 1.781132523146316}, "laser-bias-current": {"instant": 42.412}}}, "3": {"state": {"index": 3, "output-power": {"instant": 2.6325722701406606}, "input-power": {"instant": 3.0888441442201664}, "laser-bias-current": {"instant": 36.928}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH16070000C", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/21"}, "name": "xcvr_6/21"}, "Ethernet6/14/1": {"state": {"type": "PORT", "name": "Ethernet6/14/1"}, "name": "Ethernet6/14/1", "subcomponents": {"subcomponent": {"xcvr_6/14": {"state": {"name": "xcvr_6/14"}, "name": "xcvr_6/14"}}}}, "Ethernet6/32/1": {"state": {"type": "PORT", "name": "Ethernet6/32/1"}, "name": "Ethernet6/32/1", "subcomponents": {"subcomponent": {"xcvr_6/32": {"state": {"name": "xcvr_6/32"}, "name": "xcvr_6/32"}}}}, "Ethernet6/22/1": {"state": {"type": "PORT", "name": "Ethernet6/22/1"}, "name": "Ethernet6/22/1", "subcomponents": {"subcomponent": {"xcvr_6/22": {"state": {"name": "xcvr_6/22"}, "name": "xcvr_6/22"}}}}, "Ethernet6/35/1": {"state": {"type": "PORT", "name": "Ethernet6/35/1"}, "name": "Ethernet6/35/1"}, "Ethernet6/23/1": {"state": {"type": "PORT", "name": "Ethernet6/23/1"}, "name": "Ethernet6/23/1", "subcomponents": {"subcomponent": {"xcvr_6/23": {"state": {"name": "xcvr_6/23"}, "name": "xcvr_6/23"}}}}, "Ethernet4/10": {"state": {"type": "PORT", "name": "Ethernet4/10"}, "name": "Ethernet4/10"}, "Ethernet6/34/1": {"state": {"type": "PORT", "name": "Ethernet6/34/1"}, "name": "Ethernet6/34/1"}, "Ethernet6/19/1": {"state": {"type": "PORT", "name": "Ethernet6/19/1"}, "name": "Ethernet6/19/1", "subcomponents": {"subcomponent": {"xcvr_6/19": {"state": {"name": "xcvr_6/19"}, "name": "xcvr_6/19"}}}}, "Ethernet5/7/1": {"state": {"type": "PORT", "name": "Ethernet5/7/1"}, "name": "Ethernet5/7/1", "subcomponents": {"subcomponent": {"xcvr_5/7": {"state": {"name": "xcvr_5/7"}, "name": "xcvr_5/7"}}}}, "Ethernet6/13/1": {"state": {"type": "PORT", "name": "Ethernet6/13/1"}, "name": "Ethernet6/13/1", "subcomponents": {"subcomponent": {"xcvr_6/13": {"state": {"name": "xcvr_6/13"}, "name": "xcvr_6/13"}}}}, "Ethernet5/33/1": {"state": {"type": "PORT", "name": "Ethernet5/33/1"}, "name": "Ethernet5/33/1"}, "xcvr_6/19": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 2.2703784493022594}, "input-power": {"instant": 3.808260568363413}, "laser-bias-current": {"instant": 33.874}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.9747353501477694}, "input-power": {"instant": 5.036953728699967}, "laser-bias-current": {"instant": 31.164}}}, "2": {"state": {"index": 2, "output-power": {"instant": 2.1808890286084504}, "input-power": {"instant": 4.189307277285006}, "laser-bias-current": {"instant": 37.94}}}, "3": {"state": {"index": 3, "output-power": {"instant": 2.4154648059654837}, "input-power": {"instant": 3.306166672944384}, "laser-bias-current": {"instant": 39.498}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH16030013N", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/19"}, "name": "xcvr_6/19"}, "Ethernet5/6/1": {"state": {"type": "PORT", "name": "Ethernet5/6/1"}, "name": "Ethernet5/6/1", "subcomponents": {"subcomponent": {"xcvr_5/6": {"state": {"name": "xcvr_5/6"}, "name": "xcvr_5/6"}}}}, "Ethernet6/36/1": {"state": {"type": "PORT", "name": "Ethernet6/36/1"}, "name": "Ethernet6/36/1"}, "Ethernet6/12/1": {"state": {"type": "PORT", "name": "Ethernet6/12/1"}, "name": "Ethernet6/12/1", "subcomponents": {"subcomponent": {"xcvr_6/12": {"state": {"name": "xcvr_6/12"}, "name": "xcvr_6/12"}}}}, "Ethernet4/20": {"state": {"type": "PORT", "name": "Ethernet4/20"}, "name": "Ethernet4/20"}, "Ethernet6/20/1": {"state": {"type": "PORT", "name": "Ethernet6/20/1"}, "name": "Ethernet6/20/1", "subcomponents": {"subcomponent": {"xcvr_6/20": {"state": {"name": "xcvr_6/20"}, "name": "xcvr_6/20"}}}}, "Ethernet5/18/1": {"state": {"type": "PORT", "name": "Ethernet5/18/1"}, "name": "Ethernet5/18/1", "subcomponents": {"subcomponent": {"xcvr_5/18": {"state": {"name": "xcvr_5/18"}, "name": "xcvr_5/18"}}}}, "TempSensor16/1": {"state": {"type": "SENSOR", "name": "TempSensor16/1", "temperature": {"max": 50.25, "instant": 44.75}, "description": "Outlet sensor"}, "name": "TempSensor16/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/21/1": {"state": {"type": "PORT", "name": "Ethernet6/21/1"}, "name": "Ethernet6/21/1", "subcomponents": {"subcomponent": {"xcvr_6/21": {"state": {"name": "xcvr_6/21"}, "name": "xcvr_6/21"}}}}, "Ethernet5/12/1": {"state": {"type": "PORT", "name": "Ethernet5/12/1"}, "name": "Ethernet5/12/1", "subcomponents": {"subcomponent": {"xcvr_5/12": {"state": {"name": "xcvr_5/12"}, "name": "xcvr_5/12"}}}}, "Ethernet5/13/1": {"state": {"type": "PORT", "name": "Ethernet5/13/1"}, "name": "Ethernet5/13/1", "subcomponents": {"subcomponent": {"xcvr_5/13": {"state": {"name": "xcvr_5/13"}, "name": "xcvr_5/13"}}}}, "Ethernet4/11": {"state": {"type": "PORT", "name": "Ethernet4/11"}, "name": "Ethernet4/11"}, "Ethernet4/49/1": {"state": {"type": "PORT", "name": "Ethernet4/49/1"}, "name": "Ethernet4/49/1", "subcomponents": {"subcomponent": {"xcvr_4/49": {"state": {"name": "xcvr_4/49"}, "name": "xcvr_4/49"}}}}, "Ethernet4/13": {"state": {"type": "PORT", "name": "Ethernet4/13"}, "name": "Ethernet4/13"}, "Ethernet4/12": {"state": {"type": "PORT", "name": "Ethernet4/12"}, "name": "Ethernet4/12"}, "Ethernet5/10/1": {"state": {"type": "PORT", "name": "Ethernet5/10/1"}, "name": "Ethernet5/10/1", "subcomponents": {"subcomponent": {"xcvr_5/10": {"state": {"name": "xcvr_5/10"}, "name": "xcvr_5/10"}}}}, "Ethernet4/14": {"state": {"type": "PORT", "name": "Ethernet4/14"}, "name": "Ethernet4/14"}, "Ethernet4/17": {"state": {"type": "PORT", "name": "Ethernet4/17"}, "name": "Ethernet4/17"}, "Ethernet4/16": {"state": {"type": "PORT", "name": "Ethernet4/16"}, "name": "Ethernet4/16"}, "Ethernet4/19": {"state": {"type": "PORT", "name": "Ethernet4/19"}, "name": "Ethernet4/19"}, "Ethernet4/18": {"state": {"type": "PORT", "name": "Ethernet4/18"}, "name": "Ethernet4/18"}, "xcvr_6/26": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.0554424574657295}, "input-power": {"instant": 1.8816885858669652}, "laser-bias-current": {"instant": 48.252}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5691242570001673}, "input-power": {"instant": 1.8591028504071438}, "laser-bias-current": {"instant": 43.418}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.3113727377860718}, "input-power": {"instant": 2.2827200212399923}, "laser-bias-current": {"instant": 47.884}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.553664066467042}, "input-power": {"instant": 2.1362399341608684}, "laser-bias-current": {"instant": 40.984}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163300333", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/26"}, "name": "xcvr_6/26"}, "xcvr_6/27": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.2561137189746363}, "input-power": {"instant": -0.10817248744452446}, "laser-bias-current": {"instant": 54.062}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.464691330718697}, "input-power": {"instant": 0.6419583586464261}, "laser-bias-current": {"instant": 53.716}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.7411798125426703}, "input-power": {"instant": 1.1200139548618848}, "laser-bias-current": {"instant": 43.738}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.05946936412324799}, "input-power": {"instant": -0.32592443402527316}, "laser-bias-current": {"instant": 43.016}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800400", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/27"}, "name": "xcvr_6/27"}, "xcvr_6/20": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.1437742978615528}, "input-power": {"instant": 2.628306348556597}, "laser-bias-current": {"instant": 45.852000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.1028660840356563}, "input-power": {"instant": 3.120080078387235}, "laser-bias-current": {"instant": 46.254}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.5161552300498995}, "input-power": {"instant": 3.4931638877010673}, "laser-bias-current": {"instant": 46.2}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.411674686462323}, "input-power": {"instant": 3.603851143046364}, "laser-bias-current": {"instant": 42.748}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162200005", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/20"}, "name": "xcvr_6/20"}, "Ethernet5/11/1": {"state": {"type": "PORT", "name": "Ethernet5/11/1"}, "name": "Ethernet5/11/1", "subcomponents": {"subcomponent": {"xcvr_5/11": {"state": {"name": "xcvr_5/11"}, "name": "xcvr_5/11"}}}}, "xcvr_6/22": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5038797732528009}, "input-power": {"instant": 2.187979981117376}, "laser-bias-current": {"instant": 32.608000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5585202495926742}, "input-power": {"instant": 2.3964977716666214}, "laser-bias-current": {"instant": 30.428}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.543631006663162}, "input-power": {"instant": 1.8141479625428403}, "laser-bias-current": {"instant": 29.312}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4182589451107486}, "input-power": {"instant": 2.1587539546127577}, "laser-bias-current": {"instant": 29.512}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162200592", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/22"}, "name": "xcvr_6/22"}, "xcvr_6/23": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5167623084704784}, "input-power": {"instant": 0.5895717877731022}, "laser-bias-current": {"instant": 30.842000000000002}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5231892742464526}, "input-power": {"instant": 0.5774215582875275}, "laser-bias-current": {"instant": 33.186}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5506261922392062}, "input-power": {"instant": 0.3734680356809017}, "laser-bias-current": {"instant": 37.122}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5094055396547734}, "input-power": {"instant": 0.7700432679335023}, "laser-bias-current": {"instant": 41.972}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162200392", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/23"}, "name": "xcvr_6/23"}, "Ethernet6/26/1": {"state": {"type": "PORT", "name": "Ethernet6/26/1"}, "name": "Ethernet6/26/1", "subcomponents": {"subcomponent": {"xcvr_6/26": {"state": {"name": "xcvr_6/26"}, "name": "xcvr_6/26"}}}}, "Ethernet5/16/1": {"state": {"type": "PORT", "name": "Ethernet5/16/1"}, "name": "Ethernet5/16/1"}, "Ethernet6/27/1": {"state": {"type": "PORT", "name": "Ethernet6/27/1"}, "name": "Ethernet6/27/1", "subcomponents": {"subcomponent": {"xcvr_6/27": {"state": {"name": "xcvr_6/27"}, "name": "xcvr_6/27"}}}}, "Ethernet5/17/1": {"state": {"type": "PORT", "name": "Ethernet5/17/1"}, "name": "Ethernet5/17/1"}}}} diff --git a/test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.native b/test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.native new file mode 100644 index 00000000..cc3d8a42 --- /dev/null +++ b/test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.native @@ -0,0 +1 @@ +{"components": {"component": {"Ethernet5/32/1": {"state": {"type": "PORT", "name": "Ethernet5/32/1"}, "name": "Ethernet5/32/1"}, "Ethernet3/20": {"state": {"type": "PORT", "name": "Ethernet3/20"}, "name": "Ethernet3/20"}, "Ethernet3/23": {"state": {"type": "PORT", "name": "Ethernet3/23"}, "name": "Ethernet3/23"}, "Ethernet3/22": {"state": {"type": "PORT", "name": "Ethernet3/22"}, "name": "Ethernet3/22"}, "xcvr_6/9": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5588235808181539}, "input-power": {"instant": 2.5541724580849623}, "laser-bias-current": {"instant": 39.812}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.6823222951342087}, "input-power": {"instant": 2.3593225398629514}, "laser-bias-current": {"instant": 36.874}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5648857605001742}, "input-power": {"instant": 2.000292665537704}, "laser-bias-current": {"instant": 35.858000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5585202495926742}, "input-power": {"instant": 1.7684338450373893}, "laser-bias-current": {"instant": 31.612000000000002}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100152", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/9"}, "name": "xcvr_6/9"}, "xcvr_6/8": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.366888656722578}, "input-power": {"instant": 3.5791579857913014}, "laser-bias-current": {"instant": 39.848}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4401346578619867}, "input-power": {"instant": 3.015508366001667}, "laser-bias-current": {"instant": 36.288000000000004}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.3315553819799009}, "input-power": {"instant": 1.8895659252639874}, "laser-bias-current": {"instant": 42.602000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.3599084692162489}, "input-power": {"instant": 1.2509071308263442}, "laser-bias-current": {"instant": 34.274}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100371", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/8"}, "name": "xcvr_6/8"}, "Ethernet3/27": {"state": {"type": "PORT", "name": "Ethernet3/27"}, "name": "Ethernet3/27"}, "Ethernet3/26": {"state": {"type": "PORT", "name": "Ethernet3/26"}, "name": "Ethernet3/26"}, "xcvr_6/5": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.557003275593165}, "input-power": {"instant": 3.3661981290743848}, "laser-bias-current": {"instant": 32.992}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4310852276251262}, "input-power": {"instant": 3.605744813966325}, "laser-bias-current": {"instant": 29.494}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4851011061099895}, "input-power": {"instant": 3.625955575488198}, "laser-bias-current": {"instant": 29.494}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4894181490291114}, "input-power": {"instant": 3.426595041391187}, "laser-bias-current": {"instant": 34.504}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA160300413", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/5"}, "name": "xcvr_6/5"}, "xcvr_6/4": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5360147428841087}, "input-power": {"instant": 3.8715837827271304}, "laser-bias-current": {"instant": 34.018}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5491064578852365}, "input-power": {"instant": 3.7164038383788434}, "laser-bias-current": {"instant": 31.856}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4767632424109856}, "input-power": {"instant": 3.4338889746235424}, "laser-bias-current": {"instant": 34.558}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5032653649870742}, "input-power": {"instant": 2.8544478290741537}, "laser-bias-current": {"instant": 32.912}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600141", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/4"}, "name": "xcvr_6/4"}, "xcvr_6/7": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.499577088910593}, "input-power": {"instant": 2.7939314274786398}, "laser-bias-current": {"instant": 44.918}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5527529273009977}, "input-power": {"instant": 2.6264090375526195}, "laser-bias-current": {"instant": 42.52}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5204360248765125}, "input-power": {"instant": 1.6580797900378608}, "laser-bias-current": {"instant": 45.230000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.428898054390424}, "input-power": {"instant": 2.3934953900613687}, "laser-bias-current": {"instant": 44.444}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162000066", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/7"}, "name": "xcvr_6/7"}, "xcvr_6/6": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.0846354120359525}, "input-power": {"instant": 1.3541890502785225}, "laser-bias-current": {"instant": 48.296}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.3376238478734548}, "input-power": {"instant": 1.4295230734343223}, "laser-bias-current": {"instant": 42.082}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4326468201122067}, "input-power": {"instant": 1.148444131450237}, "laser-bias-current": {"instant": 41.386}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4538289197487453}, "input-power": {"instant": 0.9756963943137142}, "laser-bias-current": {"instant": 37.44}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100377", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/6"}, "name": "xcvr_6/6"}, "xcvr_6/1": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 0.6662405098342639}, "input-power": {"instant": 3.218468826928884}, "laser-bias-current": {"instant": 49.02}}}, "1": {"state": {"index": 1, "output-power": {"instant": -0.22642270454698465}, "input-power": {"instant": 3.7006876065005168}, "laser-bias-current": {"instant": 48.166000000000004}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.7092403147615034}, "input-power": {"instant": 3.5270335904754813}, "laser-bias-current": {"instant": 45.522}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.9149109426795121}, "input-power": {"instant": 3.750963750953966}, "laser-bias-current": {"instant": 44.992000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA155300202", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/1"}, "name": "xcvr_6/1"}, "xcvr_6/3": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.4702671522223065}, "input-power": {"instant": 2.844081725061991}, "laser-bias-current": {"instant": 34.474000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5609463063942774}, "input-power": {"instant": 2.4221832024761225}, "laser-bias-current": {"instant": 30.996000000000002}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5060295179300942}, "input-power": {"instant": 2.1375675240648384}, "laser-bias-current": {"instant": 37.552}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.469957572094649}, "input-power": {"instant": 2.476787295706573}, "laser-bias-current": {"instant": 29.762}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA160300373", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/3"}, "name": "xcvr_6/3"}, "xcvr_6/2": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.532659350758685}, "input-power": {"instant": 3.5930414234993258}, "laser-bias-current": {"instant": 35.858000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5084850666952265}, "input-power": {"instant": 3.473495337314567}, "laser-bias-current": {"instant": 31.556}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.46531122007445}, "input-power": {"instant": 3.102045888980056}, "laser-bias-current": {"instant": 30.044}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5463695951841983}, "input-power": {"instant": 2.866585246156861}, "laser-bias-current": {"instant": 35.464}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA155100408", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/2"}, "name": "xcvr_6/2"}, "xcvr_4/3": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -3.557584141562713}, "input-power": {"instant": -2.9895036927086016}, "laser-bias-current": {"instant": 5.156}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN0ED318042", "part-no": "SFP10GSRL-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_4/3"}, "name": "xcvr_4/3"}, "xcvr_4/2": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.7496355877864644}, "input-power": {"instant": -2.660007134616129}, "laser-bias-current": {"instant": 6.3580000000000005}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1314FE0F9", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_4/2"}, "name": "xcvr_4/2"}, "xcvr_4/1": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.6577009714832247}, "input-power": {"instant": -3.3592240981492516}, "laser-bias-current": {"instant": 6.524}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1312FE1QK", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_4/1"}, "name": "xcvr_4/1"}, "xcvr_4/5": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -3.48721986001856}, "input-power": {"instant": -2.973110318408665}, "laser-bias-current": {"instant": 5.2700000000000005}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN1017A3653", "part-no": "SFP10GSRL-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_4/5"}, "name": "xcvr_4/5"}, "xcvr_4/4": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -2.539888922480742}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 7.0840000000000005}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1320FE0TQ", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_4/4"}, "name": "xcvr_4/4"}, "TempSensor13/2": {"state": {"type": "SENSOR", "name": "TempSensor13/2", "temperature": {"max": 57.0, "instant": 51.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor13/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor13/1": {"state": {"type": "SENSOR", "name": "TempSensor13/1", "temperature": {"max": 50.25, "instant": 44.5}, "description": "Outlet sensor"}, "name": "TempSensor13/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/30/1": {"state": {"type": "PORT", "name": "Ethernet6/30/1"}, "name": "Ethernet6/30/1", "subcomponents": {"subcomponent": {"xcvr_6/30": {"state": {"name": "xcvr_6/30"}, "name": "xcvr_6/30"}}}}, "xcvr_3/49": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.292619958041751}, "input-power": {"instant": -1.1861534322942724}, "laser-bias-current": {"instant": 5.402}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.43558746914732716}, "input-power": {"instant": -0.5660442349104544}, "laser-bias-current": {"instant": 6.19}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.38381691467695767}, "input-power": {"instant": -0.8878910686244668}, "laser-bias-current": {"instant": 5.506}}}, "4": {"state": {"index": 4, "output-power": {"instant": 0.3730695089709135}, "input-power": {"instant": -0.4019568349166214}, "laser-bias-current": {"instant": 5.614}}}, "5": {"state": {"index": 5, "output-power": {"instant": 0.5034108183408437}, "input-power": {"instant": -0.8884239126002358}, "laser-bias-current": {"instant": 5.5760000000000005}}}, "6": {"state": {"index": 6, "output-power": {"instant": 0.41747871723265995}, "input-power": {"instant": -0.659562809644747}, "laser-bias-current": {"instant": 6.204}}}, "7": {"state": {"index": 7, "output-power": {"instant": 0.5422990986339737}, "input-power": {"instant": -0.6153031163235445}, "laser-bias-current": {"instant": 6.238}}}, "8": {"state": {"index": 8, "output-power": {"instant": 0.17367283553529678}, "input-power": {"instant": -0.6313454102437754}, "laser-bias-current": {"instant": 6.16}}}, "9": {"state": {"index": 9, "output-power": {"instant": 0.7025957740057498}, "input-power": {"instant": -0.7437854520917098}, "laser-bias-current": {"instant": 5.416}}}, "10": {"state": {"index": 10, "output-power": {"instant": 0.15736874477450424}, "input-power": {"instant": -0.11574829993696856}, "laser-bias-current": {"instant": 6.216}}}, "11": {"state": {"index": 11, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}}}, "state": {"ethernet-pmd": "ETH_100GBASE_SR10", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "JPE13510257", "part-no": "7500E-72S-LC", "type": "TRANSCEIVER", "name": "xcvr_3/49"}, "name": "xcvr_3/49"}, "xcvr_3/48": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XMD1018MCF8D", "part-no": "SFP-1G-T", "type": "TRANSCEIVER", "name": "xcvr_3/48"}, "name": "xcvr_3/48"}, "TempSensor12/2": {"state": {"type": "SENSOR", "name": "TempSensor12/2", "temperature": {"max": 57.0, "instant": 51.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor12/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet4/9": {"state": {"type": "PORT", "name": "Ethernet4/9"}, "name": "Ethernet4/9"}, "Ethernet5/34/1": {"state": {"type": "PORT", "name": "Ethernet5/34/1"}, "name": "Ethernet5/34/1"}, "TempSensor12/1": {"state": {"type": "SENSOR", "name": "TempSensor12/1", "temperature": {"max": 51.25, "instant": 44.75}, "description": "Outlet sensor"}, "name": "TempSensor12/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/33/1": {"state": {"type": "PORT", "name": "Ethernet6/33/1"}, "name": "Ethernet6/33/1", "subcomponents": {"subcomponent": {"xcvr_6/33": {"state": {"name": "xcvr_6/33"}, "name": "xcvr_6/33"}}}}, "Ethernet5/15/1": {"state": {"type": "PORT", "name": "Ethernet5/15/1"}, "name": "Ethernet5/15/1"}, "Ethernet5/35/1": {"state": {"type": "PORT", "name": "Ethernet5/35/1"}, "name": "Ethernet5/35/1"}, "TempSensor11/1": {"state": {"type": "SENSOR", "name": "TempSensor11/1", "temperature": {"max": 53.25, "instant": 47.0}, "description": "Outlet sensor"}, "name": "TempSensor11/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "xcvr_4/49": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.49101678208557153}, "input-power": {"instant": -0.7826151631540146}, "laser-bias-current": {"instant": 5.96}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.11232010319365937}, "input-power": {"instant": -0.5833952161160783}, "laser-bias-current": {"instant": 6.142}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.5551732784983132}, "input-power": {"instant": -1.1884367892443626}, "laser-bias-current": {"instant": 6.3340000000000005}}}, "4": {"state": {"index": 4, "output-power": {"instant": 0.34227260770550494}, "input-power": {"instant": -0.5601112492622828}, "laser-bias-current": {"instant": 5.988}}}, "5": {"state": {"index": 5, "output-power": {"instant": 0.31206419827462195}, "input-power": {"instant": -0.9598811640261173}, "laser-bias-current": {"instant": 5.972}}}, "6": {"state": {"index": 6, "output-power": {"instant": -0.3465716443937783}, "input-power": {"instant": -0.6323500239005853}, "laser-bias-current": {"instant": 6.1080000000000005}}}, "7": {"state": {"index": 7, "output-power": {"instant": 0.1367969729119256}, "input-power": {"instant": -0.38199360808321536}, "laser-bias-current": {"instant": 5.974}}}, "8": {"state": {"index": 8, "output-power": {"instant": 0.4883008652834997}, "input-power": {"instant": -0.5551732784983132}, "laser-bias-current": {"instant": 6.676}}}, "9": {"state": {"index": 9, "output-power": {"instant": 0.9971516235102351}, "input-power": {"instant": -1.281352979118049}, "laser-bias-current": {"instant": 5.96}}}, "10": {"state": {"index": 10, "output-power": {"instant": 0.07150105366684922}, "input-power": {"instant": -0.23558310621155432}, "laser-bias-current": {"instant": 6.3100000000000005}}}, "11": {"state": {"index": 11, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}}}, "state": {"ethernet-pmd": "ETH_100GBASE_SR10", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "JPE13510269", "part-no": "7500E-72S-LC", "type": "TRANSCEIVER", "name": "xcvr_4/49"}, "name": "xcvr_4/49"}, "TempSensor11/2": {"state": {"type": "SENSOR", "name": "TempSensor11/2", "temperature": {"max": 59.0, "instant": 53.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor11/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "powerSupply_2": {"state": {"mfg-name": "Arista Networks", "serial-no": "G100M3000402P", "part-no": "PWR-2900AC", "type": "POWER_SUPPLY", "name": "powerSupply_2"}, "name": "powerSupply_2", "subcomponents": {"subcomponent": {"TempSensorP2/1": {"state": {"name": "TempSensorP2/1"}, "name": "TempSensorP2/1"}, "TempSensorP2/2": {"state": {"name": "TempSensorP2/2"}, "name": "TempSensorP2/2"}}}}, "powerSupply_3": {"state": {"mfg-name": "Arista Networks", "serial-no": "G100M1000902P", "part-no": "PWR-2900AC", "type": "POWER_SUPPLY", "name": "powerSupply_3"}, "name": "powerSupply_3", "subcomponents": {"subcomponent": {"TempSensorP3/1": {"state": {"name": "TempSensorP3/1"}, "name": "TempSensorP3/1"}, "TempSensorP3/2": {"state": {"name": "TempSensorP3/2"}, "name": "TempSensorP3/2"}}}}, "powerSupply_1": {"state": {"mfg-name": "Arista Networks", "serial-no": "G100M3000502P", "part-no": "PWR-2900AC", "type": "POWER_SUPPLY", "name": "powerSupply_1"}, "name": "powerSupply_1", "subcomponents": {"subcomponent": {"TempSensorP1/2": {"state": {"name": "TempSensorP1/2"}, "name": "TempSensorP1/2"}, "TempSensorP1/1": {"state": {"name": "TempSensorP1/1"}, "name": "TempSensorP1/1"}}}}, "Ethernet5/36/1": {"state": {"type": "PORT", "name": "Ethernet5/36/1"}, "name": "Ethernet5/36/1"}, "powerSupply_4": {"state": {"mfg-name": "Arista Networks", "serial-no": "G100M100MA02P", "part-no": "PWR-2900AC", "type": "POWER_SUPPLY", "name": "powerSupply_4"}, "name": "powerSupply_4", "subcomponents": {"subcomponent": {"TempSensorP4/2": {"state": {"name": "TempSensorP4/2"}, "name": "TempSensorP4/2"}, "TempSensorP4/1": {"state": {"name": "TempSensorP4/1"}, "name": "TempSensorP4/1"}}}}, "Ethernet5/21/1": {"state": {"type": "PORT", "name": "Ethernet5/21/1"}, "name": "Ethernet5/21/1"}, "xcvr_5/3": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 0.31327657761131}, "input-power": {"instant": 1.947085515751228}, "laser-bias-current": {"instant": 48.764}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.7353506505878382}, "input-power": {"instant": 3.0958758744822834}, "laser-bias-current": {"instant": 46.768}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.24157154459672814}, "input-power": {"instant": 2.5925930985236345}, "laser-bias-current": {"instant": 49.796}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.8244197917456386}, "input-power": {"instant": 1.6749456163572152}, "laser-bias-current": {"instant": 47.838}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600205", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/3"}, "name": "xcvr_5/3"}, "xcvr_5/1": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 2.7937031817910807}, "input-power": {"instant": 4.266251064182471}, "laser-bias-current": {"instant": 40.612}}}, "1": {"state": {"index": 1, "output-power": {"instant": 2.6429824719021644}, "input-power": {"instant": 3.488109204051777}, "laser-bias-current": {"instant": 39.918}}}, "2": {"state": {"index": 2, "output-power": {"instant": 2.5051758561048487}, "input-power": {"instant": 3.146255192012708}, "laser-bias-current": {"instant": 42.442}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.7580163284827943}, "input-power": {"instant": 4.234424910752614}, "laser-bias-current": {"instant": 38.704}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH1537000RV", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/1"}, "name": "xcvr_5/1"}, "xcvr_5/6": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.542108822069741}, "input-power": {"instant": 1.4560035765224821}, "laser-bias-current": {"instant": 44.114000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.554878621412814}, "input-power": {"instant": 1.3506901382344783}, "laser-bias-current": {"instant": 44.706}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.549714415444714}, "input-power": {"instant": 2.013151742339918}, "laser-bias-current": {"instant": 35.09}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5609463063942774}, "input-power": {"instant": 1.8658909127240708}, "laser-bias-current": {"instant": 39.354}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600085", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/6"}, "name": "xcvr_5/6"}, "xcvr_5/7": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5408906901442077}, "input-power": {"instant": 0.510366951412129}, "laser-bias-current": {"instant": 33.12}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5654915133178138}, "input-power": {"instant": 2.443760940205717}, "laser-bias-current": {"instant": 28.022000000000002}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5035725799851907}, "input-power": {"instant": 2.579184503140586}, "laser-bias-current": {"instant": 36.188}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5164560251162795}, "input-power": {"instant": 3.0818010103066573}, "laser-bias-current": {"instant": 39.152}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600151", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/7"}, "name": "xcvr_5/7"}, "xcvr_5/4": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5213539686187616}, "input-power": {"instant": 3.102045888980056}, "laser-bias-current": {"instant": 35.886}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5736609176227034}, "input-power": {"instant": 3.1132995230379334}, "laser-bias-current": {"instant": 39.848}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5809097318555976}, "input-power": {"instant": 2.765537086243124}, "laser-bias-current": {"instant": 34.706}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4931150590791509}, "input-power": {"instant": 2.8809265454186983}, "laser-bias-current": {"instant": 40.148}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600039", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/4"}, "name": "xcvr_5/4"}, "xcvr_5/5": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5712419550486922}, "input-power": {"instant": -1.2418661116024232}, "laser-bias-current": {"instant": 41.432}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.189918001959751}, "input-power": {"instant": -1.2942053944731535}, "laser-bias-current": {"instant": 46.19}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.576380641009174}, "input-power": {"instant": -1.6045910703103106}, "laser-bias-current": {"instant": 40.480000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5573067127858842}, "input-power": {"instant": -0.4464904263234004}, "laser-bias-current": {"instant": 34.714}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600017", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/5"}, "name": "xcvr_5/5"}, "Ethernet5/20/1": {"state": {"type": "PORT", "name": "Ethernet5/20/1"}, "name": "Ethernet5/20/1"}, "xcvr_5/8": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3081605003474417}, "input-power": {"instant": 3.5835370103326536}, "laser-bias-current": {"instant": 47.966}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.3296372613072682}, "input-power": {"instant": 3.846580124622787}, "laser-bias-current": {"instant": 39.866}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4662408882400557}, "input-power": {"instant": 3.7366584299164485}, "laser-bias-current": {"instant": 39.354}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.3630826725581313}, "input-power": {"instant": 3.79686151906955}, "laser-bias-current": {"instant": 44.412}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600196", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/8"}, "name": "xcvr_5/8"}, "xcvr_5/9": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.4507203770499766}, "input-power": {"instant": -0.5774384958053513}, "laser-bias-current": {"instant": 38.85}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4656211315755652}, "input-power": {"instant": -0.6844043290919499}, "laser-bias-current": {"instant": 40.442}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.2083706025473706}, "input-power": {"instant": -0.7504911108438916}, "laser-bias-current": {"instant": 41.502}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4072796284418265}, "input-power": {"instant": -1.24649303420711}, "laser-bias-current": {"instant": 37.302}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163600181", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/9"}, "name": "xcvr_5/9"}, "Management1/2": {"state": {"type": "PORT", "name": "Management1/2"}, "name": "Management1/2"}, "Management1/1": {"state": {"type": "PORT", "name": "Management1/1"}, "name": "Management1/1"}, "xcvr_3/1": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -2.107719427326651}, "input-power": {"instant": -2.8042014228627687}, "laser-bias-current": {"instant": 6.582}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1320FE0AH", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_3/1"}, "name": "xcvr_3/1"}, "xcvr_3/2": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.9873352951037981}, "input-power": {"instant": -3.2947584221792026}, "laser-bias-current": {"instant": 6.748}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XCW1312FE1CK", "part-no": "SFP-10G-SRL", "type": "TRANSCEIVER", "name": "xcvr_3/2"}, "name": "xcvr_3/2"}, "xcvr_3/3": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -3.364875295848444}, "input-power": {"instant": -3.917949922956736}, "laser-bias-current": {"instant": 5.47}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN0ED318049", "part-no": "SFP10GSRL-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_3/3"}, "name": "xcvr_3/3"}, "xcvr_3/5": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -2.7646223846794316}, "input-power": {"instant": -3.355460714188423}, "laser-bias-current": {"instant": 5.756}}}}}, "state": {"ethernet-pmd": "ETH_10GBASE_SR", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN1017A3652", "part-no": "SFP10GSRL-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_3/5"}, "name": "xcvr_3/5"}, "Ethernet5/29/1": {"state": {"type": "PORT", "name": "Ethernet5/29/1"}, "name": "Ethernet5/29/1"}, "Ethernet3/21": {"state": {"type": "PORT", "name": "Ethernet3/21"}, "name": "Ethernet3/21"}, "Ethernet5/27/1": {"state": {"type": "PORT", "name": "Ethernet5/27/1"}, "name": "Ethernet5/27/1"}, "Ethernet5/30/1": {"state": {"type": "PORT", "name": "Ethernet5/30/1"}, "name": "Ethernet5/30/1"}, "Supervisor1": {"state": {"mfg-name": "Arista Networks", "version": "01.04", "name": "Supervisor1", "serial-no": "JPE14044652", "part-no": "DCS-7500E-SUP", "type": "LINECARD"}, "name": "Supervisor1", "subcomponents": {"subcomponent": {"TempSensor1/11": {"state": {"name": "TempSensor1/11"}, "name": "TempSensor1/11"}, "TempSensor1/10": {"state": {"name": "TempSensor1/10"}, "name": "TempSensor1/10"}, "Management1/2": {"state": {"name": "Management1/2"}, "name": "Management1/2"}, "Management1/1": {"state": {"name": "Management1/1"}, "name": "Management1/1"}, "TempSensor1/9": {"state": {"name": "TempSensor1/9"}, "name": "TempSensor1/9"}, "TempSensor1/8": {"state": {"name": "TempSensor1/8"}, "name": "TempSensor1/8"}, "TempSensor1/1": {"state": {"name": "TempSensor1/1"}, "name": "TempSensor1/1"}, "TempSensor1/3": {"state": {"name": "TempSensor1/3"}, "name": "TempSensor1/3"}, "TempSensor1/2": {"state": {"name": "TempSensor1/2"}, "name": "TempSensor1/2"}, "TempSensor1/5": {"state": {"name": "TempSensor1/5"}, "name": "TempSensor1/5"}, "TempSensor1/4": {"state": {"name": "TempSensor1/4"}, "name": "TempSensor1/4"}, "TempSensor1/7": {"state": {"name": "TempSensor1/7"}, "name": "TempSensor1/7"}, "TempSensor1/6": {"state": {"name": "TempSensor1/6"}, "name": "TempSensor1/6"}}}}, "Supervisor2": {"state": {"mfg-name": "Arista Networks", "version": "01.04", "name": "Supervisor2", "serial-no": "JPE13362385", "part-no": "DCS-7500E-SUP", "type": "LINECARD"}, "name": "Supervisor2", "subcomponents": {"subcomponent": {"TempSensor2/6": {"state": {"name": "TempSensor2/6"}, "name": "TempSensor2/6"}, "TempSensor2/7": {"state": {"name": "TempSensor2/7"}, "name": "TempSensor2/7"}, "TempSensor2/4": {"state": {"name": "TempSensor2/4"}, "name": "TempSensor2/4"}, "TempSensor2/5": {"state": {"name": "TempSensor2/5"}, "name": "TempSensor2/5"}, "TempSensor2/2": {"state": {"name": "TempSensor2/2"}, "name": "TempSensor2/2"}, "TempSensor2/3": {"state": {"name": "TempSensor2/3"}, "name": "TempSensor2/3"}, "TempSensor2/1": {"state": {"name": "TempSensor2/1"}, "name": "TempSensor2/1"}, "Management2/1": {"state": {"name": "Management2/1"}, "name": "Management2/1"}, "TempSensor2/8": {"state": {"name": "TempSensor2/8"}, "name": "TempSensor2/8"}, "TempSensor2/9": {"state": {"name": "TempSensor2/9"}, "name": "TempSensor2/9"}, "TempSensor2/11": {"state": {"name": "TempSensor2/11"}, "name": "TempSensor2/11"}, "Management2/2": {"state": {"name": "Management2/2"}, "name": "Management2/2"}, "TempSensor2/10": {"state": {"name": "TempSensor2/10"}, "name": "TempSensor2/10"}}}}, "Ethernet5/31/1": {"state": {"type": "PORT", "name": "Ethernet5/31/1"}, "name": "Ethernet5/31/1"}, "fan_3": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_3"}, "name": "fan_3"}, "fan_2": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_2"}, "name": "fan_2"}, "fan_1": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_1"}, "name": "fan_1"}, "Ethernet5/25/1": {"state": {"type": "PORT", "name": "Ethernet5/25/1"}, "name": "Ethernet5/25/1"}, "fan_6": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_6"}, "name": "fan_6"}, "fan_5": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_5"}, "name": "fan_5"}, "fan_4": {"state": {"mfg-name": "Arista Networks", "part-no": "7504E-FM", "type": "FAN", "name": "fan_4"}, "name": "fan_4"}, "Ethernet6/3/1": {"state": {"type": "PORT", "name": "Ethernet6/3/1"}, "name": "Ethernet6/3/1", "subcomponents": {"subcomponent": {"xcvr_6/3": {"state": {"name": "xcvr_6/3"}, "name": "xcvr_6/3"}}}}, "Ethernet6/31/1": {"state": {"type": "PORT", "name": "Ethernet6/31/1"}, "name": "Ethernet6/31/1", "subcomponents": {"subcomponent": {"xcvr_6/31": {"state": {"name": "xcvr_6/31"}, "name": "xcvr_6/31"}}}}, "Ethernet3/6": {"state": {"type": "PORT", "name": "Ethernet3/6"}, "name": "Ethernet3/6"}, "Ethernet5/24/1": {"state": {"type": "PORT", "name": "Ethernet5/24/1"}, "name": "Ethernet5/24/1"}, "Ethernet5/23/1": {"state": {"type": "PORT", "name": "Ethernet5/23/1"}, "name": "Ethernet5/23/1"}, "Ethernet4/42": {"state": {"type": "PORT", "name": "Ethernet4/42"}, "name": "Ethernet4/42"}, "Ethernet4/43": {"state": {"type": "PORT", "name": "Ethernet4/43"}, "name": "Ethernet4/43"}, "Ethernet4/40": {"state": {"type": "PORT", "name": "Ethernet4/40"}, "name": "Ethernet4/40"}, "Ethernet4/41": {"state": {"type": "PORT", "name": "Ethernet4/41"}, "name": "Ethernet4/41"}, "Ethernet3/49/1": {"state": {"type": "PORT", "name": "Ethernet3/49/1"}, "name": "Ethernet3/49/1", "subcomponents": {"subcomponent": {"xcvr_3/49": {"state": {"name": "xcvr_3/49"}, "name": "xcvr_3/49"}}}}, "Ethernet4/47": {"state": {"type": "PORT", "name": "Ethernet4/47"}, "name": "Ethernet4/47"}, "Ethernet4/44": {"state": {"type": "PORT", "name": "Ethernet4/44"}, "name": "Ethernet4/44"}, "Ethernet4/45": {"state": {"type": "PORT", "name": "Ethernet4/45"}, "name": "Ethernet4/45"}, "TempSensor5/6": {"state": {"type": "SENSOR", "name": "TempSensor5/6", "temperature": {"max": 79.75, "instant": 75.0}, "description": "Switch chip 2 sensor"}, "name": "TempSensor5/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet4/48": {"state": {"type": "PORT", "name": "Ethernet4/48"}, "name": "Ethernet4/48", "subcomponents": {"subcomponent": {"xcvr_4/48": {"state": {"name": "xcvr_4/48"}, "name": "xcvr_4/48"}}}}, "Ethernet5/22/1": {"state": {"type": "PORT", "name": "Ethernet5/22/1"}, "name": "Ethernet5/22/1"}, "Ethernet3/25": {"state": {"type": "PORT", "name": "Ethernet3/25"}, "name": "Ethernet3/25"}, "TempSensor14/1": {"state": {"type": "SENSOR", "name": "TempSensor14/1", "temperature": {"max": 49.75, "instant": 44.25}, "description": "Outlet sensor"}, "name": "TempSensor14/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor14/2": {"state": {"type": "SENSOR", "name": "TempSensor14/2", "temperature": {"max": 56.0, "instant": 50.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor14/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/4/1": {"state": {"type": "PORT", "name": "Ethernet6/4/1"}, "name": "Ethernet6/4/1", "subcomponents": {"subcomponent": {"xcvr_6/4": {"state": {"name": "xcvr_6/4"}, "name": "xcvr_6/4"}}}}, "Ethernet6/5/1": {"state": {"type": "PORT", "name": "Ethernet6/5/1"}, "name": "Ethernet6/5/1", "subcomponents": {"subcomponent": {"xcvr_6/5": {"state": {"name": "xcvr_6/5"}, "name": "xcvr_6/5"}}}}, "Ethernet3/24": {"state": {"type": "PORT", "name": "Ethernet3/24"}, "name": "Ethernet3/24"}, "Ethernet5/14/1": {"state": {"type": "PORT", "name": "Ethernet5/14/1"}, "name": "Ethernet5/14/1"}, "Linecard3": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Linecard3", "serial-no": "JPE13510257", "part-no": "7500E-72S-LC", "type": "LINECARD"}, "name": "Linecard3", "subcomponents": {"subcomponent": {"Ethernet3/21": {"state": {"name": "Ethernet3/21"}, "name": "Ethernet3/21"}, "Ethernet3/20": {"state": {"name": "Ethernet3/20"}, "name": "Ethernet3/20"}, "Ethernet3/23": {"state": {"name": "Ethernet3/23"}, "name": "Ethernet3/23"}, "Ethernet3/22": {"state": {"name": "Ethernet3/22"}, "name": "Ethernet3/22"}, "Ethernet3/25": {"state": {"name": "Ethernet3/25"}, "name": "Ethernet3/25"}, "Ethernet3/24": {"state": {"name": "Ethernet3/24"}, "name": "Ethernet3/24"}, "Ethernet3/27": {"state": {"name": "Ethernet3/27"}, "name": "Ethernet3/27"}, "Ethernet3/26": {"state": {"name": "Ethernet3/26"}, "name": "Ethernet3/26"}, "Ethernet3/29": {"state": {"name": "Ethernet3/29"}, "name": "Ethernet3/29"}, "Ethernet3/28": {"state": {"name": "Ethernet3/28"}, "name": "Ethernet3/28"}, "Ethernet3/50/1": {"state": {"name": "Ethernet3/50/1"}, "name": "Ethernet3/50/1"}, "Ethernet3/47": {"state": {"name": "Ethernet3/47"}, "name": "Ethernet3/47"}, "Ethernet3/46": {"state": {"name": "Ethernet3/46"}, "name": "Ethernet3/46"}, "Ethernet3/45": {"state": {"name": "Ethernet3/45"}, "name": "Ethernet3/45"}, "Ethernet3/44": {"state": {"name": "Ethernet3/44"}, "name": "Ethernet3/44"}, "Ethernet3/43": {"state": {"name": "Ethernet3/43"}, "name": "Ethernet3/43"}, "Ethernet3/42": {"state": {"name": "Ethernet3/42"}, "name": "Ethernet3/42"}, "Ethernet3/41": {"state": {"name": "Ethernet3/41"}, "name": "Ethernet3/41"}, "Ethernet3/40": {"state": {"name": "Ethernet3/40"}, "name": "Ethernet3/40"}, "Ethernet3/48": {"state": {"name": "Ethernet3/48"}, "name": "Ethernet3/48"}, "TempSensor3/7": {"state": {"name": "TempSensor3/7"}, "name": "TempSensor3/7"}, "TempSensor3/6": {"state": {"name": "TempSensor3/6"}, "name": "TempSensor3/6"}, "TempSensor3/5": {"state": {"name": "TempSensor3/5"}, "name": "TempSensor3/5"}, "TempSensor3/4": {"state": {"name": "TempSensor3/4"}, "name": "TempSensor3/4"}, "TempSensor3/3": {"state": {"name": "TempSensor3/3"}, "name": "TempSensor3/3"}, "TempSensor3/2": {"state": {"name": "TempSensor3/2"}, "name": "TempSensor3/2"}, "TempSensor3/1": {"state": {"name": "TempSensor3/1"}, "name": "TempSensor3/1"}, "Ethernet3/49/1": {"state": {"name": "Ethernet3/49/1"}, "name": "Ethernet3/49/1"}, "Ethernet3/36": {"state": {"name": "Ethernet3/36"}, "name": "Ethernet3/36"}, "Ethernet3/18": {"state": {"name": "Ethernet3/18"}, "name": "Ethernet3/18"}, "Ethernet3/19": {"state": {"name": "Ethernet3/19"}, "name": "Ethernet3/19"}, "Ethernet3/34": {"state": {"name": "Ethernet3/34"}, "name": "Ethernet3/34"}, "Ethernet3/35": {"state": {"name": "Ethernet3/35"}, "name": "Ethernet3/35"}, "Ethernet3/32": {"state": {"name": "Ethernet3/32"}, "name": "Ethernet3/32"}, "Ethernet3/33": {"state": {"name": "Ethernet3/33"}, "name": "Ethernet3/33"}, "Ethernet3/30": {"state": {"name": "Ethernet3/30"}, "name": "Ethernet3/30"}, "Ethernet3/31": {"state": {"name": "Ethernet3/31"}, "name": "Ethernet3/31"}, "Ethernet3/10": {"state": {"name": "Ethernet3/10"}, "name": "Ethernet3/10"}, "Ethernet3/11": {"state": {"name": "Ethernet3/11"}, "name": "Ethernet3/11"}, "Ethernet3/12": {"state": {"name": "Ethernet3/12"}, "name": "Ethernet3/12"}, "Ethernet3/13": {"state": {"name": "Ethernet3/13"}, "name": "Ethernet3/13"}, "Ethernet3/14": {"state": {"name": "Ethernet3/14"}, "name": "Ethernet3/14"}, "Ethernet3/15": {"state": {"name": "Ethernet3/15"}, "name": "Ethernet3/15"}, "Ethernet3/16": {"state": {"name": "Ethernet3/16"}, "name": "Ethernet3/16"}, "Ethernet3/17": {"state": {"name": "Ethernet3/17"}, "name": "Ethernet3/17"}, "Ethernet3/37": {"state": {"name": "Ethernet3/37"}, "name": "Ethernet3/37"}, "Ethernet3/38": {"state": {"name": "Ethernet3/38"}, "name": "Ethernet3/38"}, "Ethernet3/39": {"state": {"name": "Ethernet3/39"}, "name": "Ethernet3/39"}, "Ethernet3/6": {"state": {"name": "Ethernet3/6"}, "name": "Ethernet3/6"}, "Ethernet3/7": {"state": {"name": "Ethernet3/7"}, "name": "Ethernet3/7"}, "Ethernet3/4": {"state": {"name": "Ethernet3/4"}, "name": "Ethernet3/4"}, "Ethernet3/5": {"state": {"name": "Ethernet3/5"}, "name": "Ethernet3/5"}, "Ethernet3/2": {"state": {"name": "Ethernet3/2"}, "name": "Ethernet3/2"}, "Ethernet3/3": {"state": {"name": "Ethernet3/3"}, "name": "Ethernet3/3"}, "Ethernet3/1": {"state": {"name": "Ethernet3/1"}, "name": "Ethernet3/1"}, "Ethernet3/8": {"state": {"name": "Ethernet3/8"}, "name": "Ethernet3/8"}, "Ethernet3/9": {"state": {"name": "Ethernet3/9"}, "name": "Ethernet3/9"}}}}, "Linecard5": {"state": {"mfg-name": "Arista Networks", "version": "03.00", "name": "Linecard5", "serial-no": "JPE16030542", "part-no": "7500E-36Q-LC", "type": "LINECARD"}, "name": "Linecard5", "subcomponents": {"subcomponent": {"Ethernet5/32/1": {"state": {"name": "Ethernet5/32/1"}, "name": "Ethernet5/32/1"}, "Ethernet5/33/1": {"state": {"name": "Ethernet5/33/1"}, "name": "Ethernet5/33/1"}, "Ethernet5/1/1": {"state": {"name": "Ethernet5/1/1"}, "name": "Ethernet5/1/1"}, "Ethernet5/11/1": {"state": {"name": "Ethernet5/11/1"}, "name": "Ethernet5/11/1"}, "Ethernet5/35/1": {"state": {"name": "Ethernet5/35/1"}, "name": "Ethernet5/35/1"}, "Ethernet5/24/1": {"state": {"name": "Ethernet5/24/1"}, "name": "Ethernet5/24/1"}, "Ethernet5/15/1": {"state": {"name": "Ethernet5/15/1"}, "name": "Ethernet5/15/1"}, "Ethernet5/14/1": {"state": {"name": "Ethernet5/14/1"}, "name": "Ethernet5/14/1"}, "Ethernet5/34/1": {"state": {"name": "Ethernet5/34/1"}, "name": "Ethernet5/34/1"}, "Ethernet5/23/1": {"state": {"name": "Ethernet5/23/1"}, "name": "Ethernet5/23/1"}, "Ethernet5/7/1": {"state": {"name": "Ethernet5/7/1"}, "name": "Ethernet5/7/1"}, "Ethernet5/9/1": {"state": {"name": "Ethernet5/9/1"}, "name": "Ethernet5/9/1"}, "TempSensor5/9": {"state": {"name": "TempSensor5/9"}, "name": "TempSensor5/9"}, "Ethernet5/19/1": {"state": {"name": "Ethernet5/19/1"}, "name": "Ethernet5/19/1"}, "Ethernet5/22/1": {"state": {"name": "Ethernet5/22/1"}, "name": "Ethernet5/22/1"}, "Ethernet5/6/1": {"state": {"name": "Ethernet5/6/1"}, "name": "Ethernet5/6/1"}, "TempSensor5/4": {"state": {"name": "TempSensor5/4"}, "name": "TempSensor5/4"}, "Ethernet5/8/1": {"state": {"name": "Ethernet5/8/1"}, "name": "Ethernet5/8/1"}, "TempSensor5/6": {"state": {"name": "TempSensor5/6"}, "name": "TempSensor5/6"}, "TempSensor5/1": {"state": {"name": "TempSensor5/1"}, "name": "TempSensor5/1"}, "TempSensor5/3": {"state": {"name": "TempSensor5/3"}, "name": "TempSensor5/3"}, "TempSensor5/8": {"state": {"name": "TempSensor5/8"}, "name": "TempSensor5/8"}, "Ethernet5/21/1": {"state": {"name": "Ethernet5/21/1"}, "name": "Ethernet5/21/1"}, "Ethernet5/5/1": {"state": {"name": "Ethernet5/5/1"}, "name": "Ethernet5/5/1"}, "Ethernet5/20/1": {"state": {"name": "Ethernet5/20/1"}, "name": "Ethernet5/20/1"}, "Ethernet5/18/1": {"state": {"name": "Ethernet5/18/1"}, "name": "Ethernet5/18/1"}, "Ethernet5/4/1": {"state": {"name": "Ethernet5/4/1"}, "name": "Ethernet5/4/1"}, "TempSensor5/5": {"state": {"name": "TempSensor5/5"}, "name": "TempSensor5/5"}, "Ethernet5/12/1": {"state": {"name": "Ethernet5/12/1"}, "name": "Ethernet5/12/1"}, "Ethernet5/3/1": {"state": {"name": "Ethernet5/3/1"}, "name": "Ethernet5/3/1"}, "Ethernet5/29/1": {"state": {"name": "Ethernet5/29/1"}, "name": "Ethernet5/29/1"}, "Ethernet5/13/1": {"state": {"name": "Ethernet5/13/1"}, "name": "Ethernet5/13/1"}, "Ethernet5/2/1": {"state": {"name": "Ethernet5/2/1"}, "name": "Ethernet5/2/1"}, "TempSensor5/7": {"state": {"name": "TempSensor5/7"}, "name": "TempSensor5/7"}, "Ethernet5/28/1": {"state": {"name": "Ethernet5/28/1"}, "name": "Ethernet5/28/1"}, "Ethernet5/10/1": {"state": {"name": "Ethernet5/10/1"}, "name": "Ethernet5/10/1"}, "Ethernet5/36/1": {"state": {"name": "Ethernet5/36/1"}, "name": "Ethernet5/36/1"}, "Ethernet5/27/1": {"state": {"name": "Ethernet5/27/1"}, "name": "Ethernet5/27/1"}, "TempSensor5/11": {"state": {"name": "TempSensor5/11"}, "name": "TempSensor5/11"}, "TempSensor5/10": {"state": {"name": "TempSensor5/10"}, "name": "TempSensor5/10"}, "Ethernet5/30/1": {"state": {"name": "Ethernet5/30/1"}, "name": "Ethernet5/30/1"}, "TempSensor5/12": {"state": {"name": "TempSensor5/12"}, "name": "TempSensor5/12"}, "Ethernet5/26/1": {"state": {"name": "Ethernet5/26/1"}, "name": "Ethernet5/26/1"}, "Ethernet5/16/1": {"state": {"name": "Ethernet5/16/1"}, "name": "Ethernet5/16/1"}, "Ethernet5/31/1": {"state": {"name": "Ethernet5/31/1"}, "name": "Ethernet5/31/1"}, "TempSensor5/2": {"state": {"name": "TempSensor5/2"}, "name": "TempSensor5/2"}, "Ethernet5/25/1": {"state": {"name": "Ethernet5/25/1"}, "name": "Ethernet5/25/1"}, "Ethernet5/17/1": {"state": {"name": "Ethernet5/17/1"}, "name": "Ethernet5/17/1"}}}}, "Linecard4": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Linecard4", "serial-no": "JPE13510269", "part-no": "7500E-72S-LC", "type": "LINECARD"}, "name": "Linecard4", "subcomponents": {"subcomponent": {"Ethernet4/42": {"state": {"name": "Ethernet4/42"}, "name": "Ethernet4/42"}, "Ethernet4/14": {"state": {"name": "Ethernet4/14"}, "name": "Ethernet4/14"}, "Ethernet4/28": {"state": {"name": "Ethernet4/28"}, "name": "Ethernet4/28"}, "Ethernet4/29": {"state": {"name": "Ethernet4/29"}, "name": "Ethernet4/29"}, "Ethernet4/43": {"state": {"name": "Ethernet4/43"}, "name": "Ethernet4/43"}, "Ethernet4/20": {"state": {"name": "Ethernet4/20"}, "name": "Ethernet4/20"}, "Ethernet4/21": {"state": {"name": "Ethernet4/21"}, "name": "Ethernet4/21"}, "Ethernet4/22": {"state": {"name": "Ethernet4/22"}, "name": "Ethernet4/22"}, "Ethernet4/23": {"state": {"name": "Ethernet4/23"}, "name": "Ethernet4/23"}, "Ethernet4/24": {"state": {"name": "Ethernet4/24"}, "name": "Ethernet4/24"}, "Ethernet4/25": {"state": {"name": "Ethernet4/25"}, "name": "Ethernet4/25"}, "Ethernet4/26": {"state": {"name": "Ethernet4/26"}, "name": "Ethernet4/26"}, "Ethernet4/27": {"state": {"name": "Ethernet4/27"}, "name": "Ethernet4/27"}, "TempSensor4/4": {"state": {"name": "TempSensor4/4"}, "name": "TempSensor4/4"}, "TempSensor4/5": {"state": {"name": "TempSensor4/5"}, "name": "TempSensor4/5"}, "TempSensor4/6": {"state": {"name": "TempSensor4/6"}, "name": "TempSensor4/6"}, "TempSensor4/7": {"state": {"name": "TempSensor4/7"}, "name": "TempSensor4/7"}, "Ethernet4/46": {"state": {"name": "Ethernet4/46"}, "name": "Ethernet4/46"}, "TempSensor4/1": {"state": {"name": "TempSensor4/1"}, "name": "TempSensor4/1"}, "TempSensor4/2": {"state": {"name": "TempSensor4/2"}, "name": "TempSensor4/2"}, "TempSensor4/3": {"state": {"name": "TempSensor4/3"}, "name": "TempSensor4/3"}, "Ethernet4/48": {"state": {"name": "Ethernet4/48"}, "name": "Ethernet4/48"}, "Ethernet4/47": {"state": {"name": "Ethernet4/47"}, "name": "Ethernet4/47"}, "Ethernet4/49/1": {"state": {"name": "Ethernet4/49/1"}, "name": "Ethernet4/49/1"}, "Ethernet4/44": {"state": {"name": "Ethernet4/44"}, "name": "Ethernet4/44"}, "Ethernet4/40": {"state": {"name": "Ethernet4/40"}, "name": "Ethernet4/40"}, "Ethernet4/45": {"state": {"name": "Ethernet4/45"}, "name": "Ethernet4/45"}, "Ethernet4/13": {"state": {"name": "Ethernet4/13"}, "name": "Ethernet4/13"}, "Ethernet4/5": {"state": {"name": "Ethernet4/5"}, "name": "Ethernet4/5"}, "Ethernet4/4": {"state": {"name": "Ethernet4/4"}, "name": "Ethernet4/4"}, "Ethernet4/7": {"state": {"name": "Ethernet4/7"}, "name": "Ethernet4/7"}, "Ethernet4/6": {"state": {"name": "Ethernet4/6"}, "name": "Ethernet4/6"}, "Ethernet4/1": {"state": {"name": "Ethernet4/1"}, "name": "Ethernet4/1"}, "Ethernet4/3": {"state": {"name": "Ethernet4/3"}, "name": "Ethernet4/3"}, "Ethernet4/2": {"state": {"name": "Ethernet4/2"}, "name": "Ethernet4/2"}, "Ethernet4/50/1": {"state": {"name": "Ethernet4/50/1"}, "name": "Ethernet4/50/1"}, "Ethernet4/9": {"state": {"name": "Ethernet4/9"}, "name": "Ethernet4/9"}, "Ethernet4/8": {"state": {"name": "Ethernet4/8"}, "name": "Ethernet4/8"}, "Ethernet4/12": {"state": {"name": "Ethernet4/12"}, "name": "Ethernet4/12"}, "Ethernet4/11": {"state": {"name": "Ethernet4/11"}, "name": "Ethernet4/11"}, "Ethernet4/10": {"state": {"name": "Ethernet4/10"}, "name": "Ethernet4/10"}, "Ethernet4/39": {"state": {"name": "Ethernet4/39"}, "name": "Ethernet4/39"}, "Ethernet4/38": {"state": {"name": "Ethernet4/38"}, "name": "Ethernet4/38"}, "Ethernet4/15": {"state": {"name": "Ethernet4/15"}, "name": "Ethernet4/15"}, "Ethernet4/41": {"state": {"name": "Ethernet4/41"}, "name": "Ethernet4/41"}, "Ethernet4/17": {"state": {"name": "Ethernet4/17"}, "name": "Ethernet4/17"}, "Ethernet4/16": {"state": {"name": "Ethernet4/16"}, "name": "Ethernet4/16"}, "Ethernet4/33": {"state": {"name": "Ethernet4/33"}, "name": "Ethernet4/33"}, "Ethernet4/32": {"state": {"name": "Ethernet4/32"}, "name": "Ethernet4/32"}, "Ethernet4/31": {"state": {"name": "Ethernet4/31"}, "name": "Ethernet4/31"}, "Ethernet4/30": {"state": {"name": "Ethernet4/30"}, "name": "Ethernet4/30"}, "Ethernet4/37": {"state": {"name": "Ethernet4/37"}, "name": "Ethernet4/37"}, "Ethernet4/36": {"state": {"name": "Ethernet4/36"}, "name": "Ethernet4/36"}, "Ethernet4/35": {"state": {"name": "Ethernet4/35"}, "name": "Ethernet4/35"}, "Ethernet4/34": {"state": {"name": "Ethernet4/34"}, "name": "Ethernet4/34"}, "Ethernet4/19": {"state": {"name": "Ethernet4/19"}, "name": "Ethernet4/19"}, "Ethernet4/18": {"state": {"name": "Ethernet4/18"}, "name": "Ethernet4/18"}}}}, "Linecard6": {"state": {"mfg-name": "Arista Networks", "version": "03.00", "name": "Linecard6", "serial-no": "JPE16030547", "part-no": "7500E-36Q-LC", "type": "LINECARD"}, "name": "Linecard6", "subcomponents": {"subcomponent": {"Ethernet6/24/1": {"state": {"name": "Ethernet6/24/1"}, "name": "Ethernet6/24/1"}, "Ethernet6/15/1": {"state": {"name": "Ethernet6/15/1"}, "name": "Ethernet6/15/1"}, "Ethernet6/33/1": {"state": {"name": "Ethernet6/33/1"}, "name": "Ethernet6/33/1"}, "TempSensor6/10": {"state": {"name": "TempSensor6/10"}, "name": "TempSensor6/10"}, "TempSensor6/11": {"state": {"name": "TempSensor6/11"}, "name": "TempSensor6/11"}, "TempSensor6/12": {"state": {"name": "TempSensor6/12"}, "name": "TempSensor6/12"}, "Ethernet6/14/1": {"state": {"name": "Ethernet6/14/1"}, "name": "Ethernet6/14/1"}, "Ethernet6/18/1": {"state": {"name": "Ethernet6/18/1"}, "name": "Ethernet6/18/1"}, "Ethernet6/22/1": {"state": {"name": "Ethernet6/22/1"}, "name": "Ethernet6/22/1"}, "Ethernet6/31/1": {"state": {"name": "Ethernet6/31/1"}, "name": "Ethernet6/31/1"}, "Ethernet6/35/1": {"state": {"name": "Ethernet6/35/1"}, "name": "Ethernet6/35/1"}, "Ethernet6/23/1": {"state": {"name": "Ethernet6/23/1"}, "name": "Ethernet6/23/1"}, "Ethernet6/6/1": {"state": {"name": "Ethernet6/6/1"}, "name": "Ethernet6/6/1"}, "Ethernet6/30/1": {"state": {"name": "Ethernet6/30/1"}, "name": "Ethernet6/30/1"}, "Ethernet6/34/1": {"state": {"name": "Ethernet6/34/1"}, "name": "Ethernet6/34/1"}, "Ethernet6/1/1": {"state": {"name": "Ethernet6/1/1"}, "name": "Ethernet6/1/1"}, "Ethernet6/19/1": {"state": {"name": "Ethernet6/19/1"}, "name": "Ethernet6/19/1"}, "Ethernet6/13/1": {"state": {"name": "Ethernet6/13/1"}, "name": "Ethernet6/13/1"}, "Ethernet6/2/1": {"state": {"name": "Ethernet6/2/1"}, "name": "Ethernet6/2/1"}, "Ethernet6/36/1": {"state": {"name": "Ethernet6/36/1"}, "name": "Ethernet6/36/1"}, "Ethernet6/12/1": {"state": {"name": "Ethernet6/12/1"}, "name": "Ethernet6/12/1"}, "Ethernet6/3/1": {"state": {"name": "Ethernet6/3/1"}, "name": "Ethernet6/3/1"}, "Ethernet6/7/1": {"state": {"name": "Ethernet6/7/1"}, "name": "Ethernet6/7/1"}, "Ethernet6/11/1": {"state": {"name": "Ethernet6/11/1"}, "name": "Ethernet6/11/1"}, "Ethernet6/4/1": {"state": {"name": "Ethernet6/4/1"}, "name": "Ethernet6/4/1"}, "Ethernet6/20/1": {"state": {"name": "Ethernet6/20/1"}, "name": "Ethernet6/20/1"}, "Ethernet6/8/1": {"state": {"name": "Ethernet6/8/1"}, "name": "Ethernet6/8/1"}, "Ethernet6/5/1": {"state": {"name": "Ethernet6/5/1"}, "name": "Ethernet6/5/1"}, "Ethernet6/10/1": {"state": {"name": "Ethernet6/10/1"}, "name": "Ethernet6/10/1"}, "Ethernet6/25/1": {"state": {"name": "Ethernet6/25/1"}, "name": "Ethernet6/25/1"}, "Ethernet6/9/1": {"state": {"name": "Ethernet6/9/1"}, "name": "Ethernet6/9/1"}, "Ethernet6/21/1": {"state": {"name": "Ethernet6/21/1"}, "name": "Ethernet6/21/1"}, "Ethernet6/17/1": {"state": {"name": "Ethernet6/17/1"}, "name": "Ethernet6/17/1"}, "Ethernet6/16/1": {"state": {"name": "Ethernet6/16/1"}, "name": "Ethernet6/16/1"}, "TempSensor6/8": {"state": {"name": "TempSensor6/8"}, "name": "TempSensor6/8"}, "TempSensor6/9": {"state": {"name": "TempSensor6/9"}, "name": "TempSensor6/9"}, "TempSensor6/2": {"state": {"name": "TempSensor6/2"}, "name": "TempSensor6/2"}, "TempSensor6/3": {"state": {"name": "TempSensor6/3"}, "name": "TempSensor6/3"}, "TempSensor6/1": {"state": {"name": "TempSensor6/1"}, "name": "TempSensor6/1"}, "TempSensor6/6": {"state": {"name": "TempSensor6/6"}, "name": "TempSensor6/6"}, "TempSensor6/7": {"state": {"name": "TempSensor6/7"}, "name": "TempSensor6/7"}, "TempSensor6/4": {"state": {"name": "TempSensor6/4"}, "name": "TempSensor6/4"}, "TempSensor6/5": {"state": {"name": "TempSensor6/5"}, "name": "TempSensor6/5"}, "Ethernet6/28/1": {"state": {"name": "Ethernet6/28/1"}, "name": "Ethernet6/28/1"}, "Ethernet6/26/1": {"state": {"name": "Ethernet6/26/1"}, "name": "Ethernet6/26/1"}, "Ethernet6/29/1": {"state": {"name": "Ethernet6/29/1"}, "name": "Ethernet6/29/1"}, "Ethernet6/27/1": {"state": {"name": "Ethernet6/27/1"}, "name": "Ethernet6/27/1"}, "Ethernet6/32/1": {"state": {"name": "Ethernet6/32/1"}, "name": "Ethernet6/32/1"}}}}, "Ethernet3/50/1": {"state": {"type": "PORT", "name": "Ethernet3/50/1"}, "name": "Ethernet3/50/1", "subcomponents": {"subcomponent": {"xcvr_3/50": {"state": {"name": "xcvr_3/50"}, "name": "xcvr_3/50"}}}}, "TempSensor1/9": {"state": {"type": "SENSOR", "name": "TempSensor1/9", "temperature": {"max": 31.0, "instant": 20.0}, "description": "Front sensor"}, "name": "TempSensor1/9", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 75.0}, "name": "critical-threshold"}}}}, "TempSensor1/8": {"state": {"type": "SENSOR", "name": "TempSensor1/8", "temperature": {"max": 33.0, "instant": 23.0}, "description": "Rear sensor"}, "name": "TempSensor1/8", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 75.0}, "name": "critical-threshold"}}}}, "TempSensor1/1": {"state": {"type": "SENSOR", "name": "TempSensor1/1", "temperature": {"max": 50.0, "instant": 33.0}, "description": "Digital Temperature Sensor on cpu0"}, "name": "TempSensor1/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor1/3": {"state": {"type": "SENSOR", "name": "TempSensor1/3", "temperature": {"max": 44.0, "instant": 27.0}, "description": "Digital Temperature Sensor on cpu2"}, "name": "TempSensor1/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor1/2": {"state": {"type": "SENSOR", "name": "TempSensor1/2", "temperature": {"max": 50.0, "instant": 30.0}, "description": "Digital Temperature Sensor on cpu1"}, "name": "TempSensor1/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor1/5": {"state": {"type": "SENSOR", "name": "TempSensor1/5", "temperature": {"max": 38.0, "instant": 28.0}, "description": "Supervisor temp sensor"}, "name": "TempSensor1/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 85.0}, "name": "critical-threshold"}}}}, "TempSensor1/4": {"state": {"type": "SENSOR", "name": "TempSensor1/4", "temperature": {"max": 43.0, "instant": 29.0}, "description": "Digital Temperature Sensor on cpu3"}, "name": "TempSensor1/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor1/7": {"state": {"type": "SENSOR", "name": "TempSensor1/7", "temperature": {"max": 57.0, "instant": 44.0}, "description": "PlxFc sensor"}, "name": "TempSensor1/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 103.0}, "name": "critical-threshold"}}}}, "TempSensor1/6": {"state": {"type": "SENSOR", "name": "TempSensor1/6", "temperature": {"max": 57.0, "instant": 46.0}, "description": "PlxLc sensor"}, "name": "TempSensor1/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 103.0}, "name": "critical-threshold"}}}}, "Ethernet4/28": {"state": {"type": "PORT", "name": "Ethernet4/28"}, "name": "Ethernet4/28"}, "TempSensor2/7": {"state": {"type": "SENSOR", "name": "TempSensor2/7", "temperature": {"max": 60.0, "instant": 50.0}, "description": "PlxFc sensor"}, "name": "TempSensor2/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 103.0}, "name": "critical-threshold"}}}}, "TempSensor2/4": {"state": {"type": "SENSOR", "name": "TempSensor2/4", "temperature": {"max": 53.0, "instant": 35.0}, "description": "Digital Temperature Sensor on cpu3"}, "name": "TempSensor2/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor2/5": {"state": {"type": "SENSOR", "name": "TempSensor2/5", "temperature": {"max": 37.0, "instant": 29.0}, "description": "Supervisor temp sensor"}, "name": "TempSensor2/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 85.0}, "name": "critical-threshold"}}}}, "TempSensor2/2": {"state": {"type": "SENSOR", "name": "TempSensor2/2", "temperature": {"max": 51.0, "instant": 30.0}, "description": "Digital Temperature Sensor on cpu1"}, "name": "TempSensor2/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor2/3": {"state": {"type": "SENSOR", "name": "TempSensor2/3", "temperature": {"max": 54.0, "instant": 33.0}, "description": "Digital Temperature Sensor on cpu2"}, "name": "TempSensor2/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor2/1": {"state": {"type": "SENSOR", "name": "TempSensor2/1", "temperature": {"max": 59.0, "instant": 37.0}, "description": "Digital Temperature Sensor on cpu0"}, "name": "TempSensor2/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/1/1": {"state": {"type": "PORT", "name": "Ethernet6/1/1"}, "name": "Ethernet6/1/1", "subcomponents": {"subcomponent": {"xcvr_6/1": {"state": {"name": "xcvr_6/1"}, "name": "xcvr_6/1"}}}}, "Ethernet4/21": {"state": {"type": "PORT", "name": "Ethernet4/21"}, "name": "Ethernet4/21"}, "TempSensor3/5": {"state": {"type": "SENSOR", "name": "TempSensor3/5", "temperature": {"max": 32.0, "instant": 23.0}, "description": "Inlet sensor"}, "name": "TempSensor3/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "Ethernet4/23": {"state": {"type": "PORT", "name": "Ethernet4/23"}, "name": "Ethernet4/23"}, "Ethernet4/24": {"state": {"type": "PORT", "name": "Ethernet4/24"}, "name": "Ethernet4/24"}, "Ethernet4/25": {"state": {"type": "PORT", "name": "Ethernet4/25"}, "name": "Ethernet4/25"}, "TempSensor3/1": {"state": {"type": "SENSOR", "name": "TempSensor3/1", "temperature": {"max": 46.0, "instant": 39.0}, "description": "Board sensor"}, "name": "TempSensor3/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet4/27": {"state": {"type": "PORT", "name": "Ethernet4/27"}, "name": "Ethernet4/27"}, "xcvr_6/15": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3786028215286006}, "input-power": {"instant": 3.5360852070863924}, "laser-bias-current": {"instant": 40.972}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4388875810927493}, "input-power": {"instant": 3.1494108669298315}, "laser-bias-current": {"instant": 38.976}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.3649860815669923}, "input-power": {"instant": 3.180842140032647}, "laser-bias-current": {"instant": 38.538000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5140049803561784}, "input-power": {"instant": 3.2166055684867034}, "laser-bias-current": {"instant": 34.358000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA161900940", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/15"}, "name": "xcvr_6/15"}, "xcvr_6/14": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3506901382344783}, "input-power": {"instant": 2.803279187476755}, "laser-bias-current": {"instant": 47.794000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4154383422065298}, "input-power": {"instant": 3.1026836663244772}, "laser-bias-current": {"instant": 44.552}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5066435352956065}, "input-power": {"instant": 3.0713219065578024}, "laser-bias-current": {"instant": 44.188}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5484984152074421}, "input-power": {"instant": 2.441781250225441}, "laser-bias-current": {"instant": 35.502}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100059", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/14"}, "name": "xcvr_6/14"}, "xcvr_6/17": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.2182237675218488}, "input-power": {"instant": 0.3124683623267499}, "laser-bias-current": {"instant": 46.978}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4528965905414637}, "input-power": {"instant": 1.546065392836229}, "laser-bias-current": {"instant": 45.652}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.042138841993232}, "input-power": {"instant": 1.0274233614457007}, "laser-bias-current": {"instant": 45.816}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.9725730969341972}, "input-power": {"instant": 0.9729202409189597}, "laser-bias-current": {"instant": 48.864000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100393", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/17"}, "name": "xcvr_6/17"}, "xcvr_6/16": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 3.047274293836333}, "input-power": {"instant": 2.6601990885349824}, "laser-bias-current": {"instant": 39.21}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4326468201122067}, "input-power": {"instant": 2.4765417581902405}, "laser-bias-current": {"instant": 40.79}}}, "2": {"state": {"index": 2, "output-power": {"instant": 2.675002593932656}, "input-power": {"instant": 2.572944983622567}, "laser-bias-current": {"instant": 40.754}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.6184695952851902}, "input-power": {"instant": 2.4770328193417157}, "laser-bias-current": {"instant": 70.718}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH1603000AW", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/16"}, "name": "xcvr_6/16"}, "TempSensor5/9": {"state": {"type": "SENSOR", "name": "TempSensor5/9", "temperature": {"max": 74.25, "instant": 69.0}, "description": "Switch chip 4 sensor"}, "name": "TempSensor5/9", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "xcvr_6/10": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.7017367380627135}, "input-power": {"instant": 2.3979981844709863}, "laser-bias-current": {"instant": 38.048}}}, "1": {"state": {"index": 1, "output-power": {"instant": 2.5051758561048487}, "input-power": {"instant": 1.8092831999399106}, "laser-bias-current": {"instant": 36.428}}}, "2": {"state": {"index": 2, "output-power": {"instant": 2.5212455250564414}, "input-power": {"instant": 2.218834917852406}, "laser-bias-current": {"instant": 35.962}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.3334726558624288}, "input-power": {"instant": 2.9205660462146854}, "laser-bias-current": {"instant": 39.772}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH1605000G7", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/10"}, "name": "xcvr_6/10"}, "TempSensor4/2": {"state": {"type": "SENSOR", "name": "TempSensor4/2", "temperature": {"max": 45.0, "instant": 36.0}, "description": "Switch chip 1 sensor"}, "name": "TempSensor4/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor4/3": {"state": {"type": "SENSOR", "name": "TempSensor4/3", "temperature": {"max": 45.0, "instant": 37.0}, "description": "Switch chip 2 sensor"}, "name": "TempSensor4/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor5/5": {"state": {"type": "SENSOR", "name": "TempSensor5/5", "temperature": {"max": 56.75, "instant": 50.75}, "description": "Switch chip 1 sensor"}, "name": "TempSensor5/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor5/4": {"state": {"type": "SENSOR", "name": "TempSensor5/4", "temperature": {"max": 72.0, "instant": 67.0}, "description": "Board sensor"}, "name": "TempSensor5/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor5/7": {"state": {"type": "SENSOR", "name": "TempSensor5/7", "temperature": {"max": 69.0, "instant": 63.0}, "description": "Board sensor"}, "name": "TempSensor5/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor15/2": {"state": {"type": "SENSOR", "name": "TempSensor15/2", "temperature": {"max": 58.0, "instant": 52.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor15/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor5/1": {"state": {"type": "SENSOR", "name": "TempSensor5/1", "temperature": {"max": 46.0, "instant": 40.0}, "description": "Inlet sensor"}, "name": "TempSensor5/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "xcvr_6/18": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3580028330211125}, "input-power": {"instant": 1.744668588860181}, "laser-bias-current": {"instant": 41.21}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5887489845599667}, "input-power": {"instant": 2.3182625864728124}, "laser-bias-current": {"instant": 37.286}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.582720046520838}, "input-power": {"instant": 1.9337508061569908}, "laser-bias-current": {"instant": 38.732}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5736609176227034}, "input-power": {"instant": 2.047438326887998}, "laser-bias-current": {"instant": 34.86}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA160800021", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/18"}, "name": "xcvr_6/18"}, "TempSensor5/3": {"state": {"type": "SENSOR", "name": "TempSensor5/3", "temperature": {"max": 50.5, "instant": 45.0}, "description": "Outlet sensor"}, "name": "TempSensor5/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor5/2": {"state": {"type": "SENSOR", "name": "TempSensor5/2", "temperature": {"max": 68.75, "instant": 63.5}, "description": "Board sensor"}, "name": "TempSensor5/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet3/18": {"state": {"type": "PORT", "name": "Ethernet3/18"}, "name": "Ethernet3/18"}, "Ethernet3/19": {"state": {"type": "PORT", "name": "Ethernet3/19"}, "name": "Ethernet3/19"}, "Ethernet3/10": {"state": {"type": "PORT", "name": "Ethernet3/10"}, "name": "Ethernet3/10"}, "Ethernet3/11": {"state": {"type": "PORT", "name": "Ethernet3/11"}, "name": "Ethernet3/11"}, "Ethernet3/12": {"state": {"type": "PORT", "name": "Ethernet3/12"}, "name": "Ethernet3/12"}, "Ethernet3/13": {"state": {"type": "PORT", "name": "Ethernet3/13"}, "name": "Ethernet3/13"}, "Ethernet3/14": {"state": {"type": "PORT", "name": "Ethernet3/14"}, "name": "Ethernet3/14"}, "Ethernet3/15": {"state": {"type": "PORT", "name": "Ethernet3/15"}, "name": "Ethernet3/15"}, "Ethernet3/16": {"state": {"type": "PORT", "name": "Ethernet3/16"}, "name": "Ethernet3/16"}, "Ethernet3/17": {"state": {"type": "PORT", "name": "Ethernet3/17"}, "name": "Ethernet3/17"}, "Ethernet3/28": {"state": {"type": "PORT", "name": "Ethernet3/28"}, "name": "Ethernet3/28"}, "Ethernet6/2/1": {"state": {"type": "PORT", "name": "Ethernet6/2/1"}, "name": "Ethernet6/2/1", "subcomponents": {"subcomponent": {"xcvr_6/2": {"state": {"name": "xcvr_6/2"}, "name": "xcvr_6/2"}}}}, "TempSensor6/8": {"state": {"type": "SENSOR", "name": "TempSensor6/8", "temperature": {"max": 63.0, "instant": 56.75}, "description": "Switch chip 3 sensor"}, "name": "TempSensor6/8", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/9": {"state": {"type": "SENSOR", "name": "TempSensor6/9", "temperature": {"max": 80.25, "instant": 75.75}, "description": "Switch chip 4 sensor"}, "name": "TempSensor6/9", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/2": {"state": {"type": "SENSOR", "name": "TempSensor6/2", "temperature": {"max": 75.25, "instant": 70.5}, "description": "Board sensor"}, "name": "TempSensor6/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor6/3": {"state": {"type": "SENSOR", "name": "TempSensor6/3", "temperature": {"max": 52.75, "instant": 48.0}, "description": "Outlet sensor"}, "name": "TempSensor6/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor6/1": {"state": {"type": "SENSOR", "name": "TempSensor6/1", "temperature": {"max": 51.75, "instant": 46.25}, "description": "Inlet sensor"}, "name": "TempSensor6/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor6/6": {"state": {"type": "SENSOR", "name": "TempSensor6/6", "temperature": {"max": 83.75, "instant": 79.25}, "description": "Switch chip 2 sensor"}, "name": "TempSensor6/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/7": {"state": {"type": "SENSOR", "name": "TempSensor6/7", "temperature": {"max": 76.0, "instant": 71.0}, "description": "Board sensor"}, "name": "TempSensor6/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/4": {"state": {"type": "SENSOR", "name": "TempSensor6/4", "temperature": {"max": 76.0, "instant": 71.0}, "description": "Board sensor"}, "name": "TempSensor6/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/5": {"state": {"type": "SENSOR", "name": "TempSensor6/5", "temperature": {"max": 60.5, "instant": 54.75}, "description": "Switch chip 1 sensor"}, "name": "TempSensor6/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Management2/1": {"state": {"type": "PORT", "name": "Management2/1"}, "name": "Management2/1"}, "TempSensor6/10": {"state": {"type": "SENSOR", "name": "TempSensor6/10", "temperature": {"max": 75.0, "instant": 70.0}, "description": "Board sensor"}, "name": "TempSensor6/10", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/11": {"state": {"type": "SENSOR", "name": "TempSensor6/11", "temperature": {"max": 60.75, "instant": 55.0}, "description": "Switch chip 5 sensor"}, "name": "TempSensor6/11", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor6/12": {"state": {"type": "SENSOR", "name": "TempSensor6/12", "temperature": {"max": 81.5, "instant": 77.25}, "description": "Switch chip 6 sensor"}, "name": "TempSensor6/12", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "xcvr_5/18": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5094055396547734}, "input-power": {"instant": -0.09616741093766645}, "laser-bias-current": {"instant": 34.182}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5781928441729765}, "input-power": {"instant": 0.4898530257071121}, "laser-bias-current": {"instant": 29.256}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5688216443937675}, "input-power": {"instant": 0.4194507214526366}, "laser-bias-current": {"instant": 30.758}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4764541250174235}, "input-power": {"instant": 1.0428220709443803}, "laser-bias-current": {"instant": 27.16}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163600360", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/18"}, "name": "xcvr_5/18"}, "Management2/2": {"state": {"type": "PORT", "name": "Management2/2"}, "name": "Management2/2"}, "xcvr_5/10": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3385812520333484}, "input-power": {"instant": -0.038387066319929275}, "laser-bias-current": {"instant": 46.822}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4338956899465582}, "input-power": {"instant": 0.35629827790438995}, "laser-bias-current": {"instant": 45.212}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4807797676250578}, "input-power": {"instant": 0.44265299915319467}, "laser-bias-current": {"instant": 42.438}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.546065392836229}, "input-power": {"instant": -0.9210516458371698}, "laser-bias-current": {"instant": 36.884}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163100576", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/10"}, "name": "xcvr_5/10"}, "xcvr_5/11": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.4968088248293832}, "input-power": {"instant": 2.168517832843797}, "laser-bias-current": {"instant": 51.994}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5378438646936976}, "input-power": {"instant": 1.8627810344536755}, "laser-bias-current": {"instant": 49.88}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5011142512878184}, "input-power": {"instant": 1.1750329942923088}, "laser-bias-current": {"instant": 49.22}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.2865257363311846}, "input-power": {"instant": 0.5238609538937489}, "laser-bias-current": {"instant": 48.918}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800411", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/11"}, "name": "xcvr_5/11"}, "xcvr_5/12": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5384534008096518}, "input-power": {"instant": 1.3950127473591012}, "laser-bias-current": {"instant": 35.52}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.4612803567823818}, "input-power": {"instant": 1.2414542506165382}, "laser-bias-current": {"instant": 41.484}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5509300753040245}, "input-power": {"instant": 1.250581511720732}, "laser-bias-current": {"instant": 36.92}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.411674686462323}, "input-power": {"instant": 0.7401144600894494}, "laser-bias-current": {"instant": 46.574}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA160900525", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/12"}, "name": "xcvr_5/12"}, "xcvr_5/13": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.7554080401676808}, "input-power": {"instant": 0.21891873919109184}, "laser-bias-current": {"instant": 49.952}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.8469143081759887}, "input-power": {"instant": 0.8703566480566005}, "laser-bias-current": {"instant": 51.316}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.8087105165054362}, "input-power": {"instant": -0.5680236993107357}, "laser-bias-current": {"instant": 49.146}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.69527489553293}, "input-power": {"instant": -1.8601892436352818}, "laser-bias-current": {"instant": 45.578}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800401", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/13"}, "name": "xcvr_5/13"}, "xcvr_6/28": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -0.27612000892527355}, "input-power": {"instant": 3.1371961949509286}, "laser-bias-current": {"instant": 48.892}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.1132973670415014}, "input-power": {"instant": 2.9587484521737917}, "laser-bias-current": {"instant": 45.128}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.4473569745050687}, "input-power": {"instant": 3.0196272647336286}, "laser-bias-current": {"instant": 42.996}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.6284511327705067}, "input-power": {"instant": 3.095450032954359}, "laser-bias-current": {"instant": 40.910000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163600368", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/28"}, "name": "xcvr_6/28"}, "xcvr_6/33": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.084973713482591}, "input-power": {"instant": 2.496385455404173}, "laser-bias-current": {"instant": 55.446}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.825002473791999}, "input-power": {"instant": 2.5358028956218304}, "laser-bias-current": {"instant": 48.926}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.8161495172896114}, "input-power": {"instant": 2.2561938133339954}, "laser-bias-current": {"instant": 48.068}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.7926446433902532}, "input-power": {"instant": 2.488311928079616}, "laser-bias-current": {"instant": 46.042}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800402", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/33"}, "name": "xcvr_6/33"}, "xcvr_6/32": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.781132523146316}, "input-power": {"instant": 2.625934580260507}, "laser-bias-current": {"instant": 31.912}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.901635516307052}, "input-power": {"instant": 2.586851626074722}, "laser-bias-current": {"instant": 31.464000000000002}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.8452108585291116}, "input-power": {"instant": 2.255677134394709}, "laser-bias-current": {"instant": 34.724000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.777384504017192}, "input-power": {"instant": 1.8934992433919762}, "laser-bias-current": {"instant": 35.676}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800430", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/32"}, "name": "xcvr_6/32"}, "xcvr_6/31": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.7376882313664987}, "input-power": {"instant": 3.120291800255357}, "laser-bias-current": {"instant": 38.77}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.7105328755937599}, "input-power": {"instant": 2.910356747682661}, "laser-bias-current": {"instant": 41.688}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.7403071803802561}, "input-power": {"instant": 3.134242671691929}, "laser-bias-current": {"instant": 43.602000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.7940815151383571}, "input-power": {"instant": 3.3118426658608335}, "laser-bias-current": {"instant": 32.498}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800408", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/31"}, "name": "xcvr_6/31"}, "xcvr_6/30": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.280436738264572}, "input-power": {"instant": 2.946645895001745}, "laser-bias-current": {"instant": 52.36}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.6932168368183698}, "input-power": {"instant": 3.577252684006318}, "laser-bias-current": {"instant": 47.318}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.2652102554341216}, "input-power": {"instant": 3.539546793717099}, "laser-bias-current": {"instant": 51.262}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.7295302754635467}, "input-power": {"instant": 2.6670196688408776}, "laser-bias-current": {"instant": 42.924}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800359", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/30"}, "name": "xcvr_6/30"}, "TempSensor2/8": {"state": {"type": "SENSOR", "name": "TempSensor2/8", "temperature": {"max": 33.0, "instant": 24.0}, "description": "Rear sensor"}, "name": "TempSensor2/8", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 75.0}, "name": "critical-threshold"}}}}, "xcvr_5/2": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3436838460337874}, "input-power": {"instant": 2.7468884223755863}, "laser-bias-current": {"instant": 47.196}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.9516935143175509}, "input-power": {"instant": 2.3646168162681525}, "laser-bias-current": {"instant": 47.316}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.9843604534036299}, "input-power": {"instant": 2.5056636904012386}, "laser-bias-current": {"instant": 50.31}}}, "3": {"state": {"index": 3, "output-power": {"instant": 0.7302145435973895}, "input-power": {"instant": 2.5671774597748698}, "laser-bias-current": {"instant": 46.730000000000004}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153500549", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_5/2"}, "name": "xcvr_5/2"}, "xcvr_6/29": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.2768778753985055}, "input-power": {"instant": 3.313665517857811}, "laser-bias-current": {"instant": 51.664}}}, "1": {"state": {"index": 1, "output-power": {"instant": 0.8303654241196456}, "input-power": {"instant": 3.4242268082220617}, "laser-bias-current": {"instant": 52.066}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.28571252692537463}, "input-power": {"instant": 3.2182618376850325}, "laser-bias-current": {"instant": 52.114000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5384534008096518}, "input-power": {"instant": 2.537982298682495}, "laser-bias-current": {"instant": 47.94}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800357", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/29"}, "name": "xcvr_6/29"}, "Ethernet3/36": {"state": {"type": "PORT", "name": "Ethernet3/36"}, "name": "Ethernet3/36", "subcomponents": {"subcomponent": {"xcvr_3/36": {"state": {"name": "xcvr_3/36"}, "name": "xcvr_3/36"}}}}, "Ethernet3/37": {"state": {"type": "PORT", "name": "Ethernet3/37"}, "name": "Ethernet3/37"}, "Ethernet3/34": {"state": {"type": "PORT", "name": "Ethernet3/34"}, "name": "Ethernet3/34", "subcomponents": {"subcomponent": {"xcvr_3/34": {"state": {"name": "xcvr_3/34"}, "name": "xcvr_3/34"}}}}, "Ethernet3/35": {"state": {"type": "PORT", "name": "Ethernet3/35"}, "name": "Ethernet3/35", "subcomponents": {"subcomponent": {"xcvr_3/35": {"state": {"name": "xcvr_3/35"}, "name": "xcvr_3/35"}}}}, "Ethernet3/32": {"state": {"type": "PORT", "name": "Ethernet3/32"}, "name": "Ethernet3/32"}, "Ethernet3/33": {"state": {"type": "PORT", "name": "Ethernet3/33"}, "name": "Ethernet3/33"}, "Ethernet3/30": {"state": {"type": "PORT", "name": "Ethernet3/30"}, "name": "Ethernet3/30"}, "Ethernet3/31": {"state": {"type": "PORT", "name": "Ethernet3/31"}, "name": "Ethernet3/31"}, "Ethernet6/8/1": {"state": {"type": "PORT", "name": "Ethernet6/8/1"}, "name": "Ethernet6/8/1", "subcomponents": {"subcomponent": {"xcvr_6/8": {"state": {"name": "xcvr_6/8"}, "name": "xcvr_6/8"}}}}, "Ethernet3/38": {"state": {"type": "PORT", "name": "Ethernet3/38"}, "name": "Ethernet3/38"}, "Ethernet3/39": {"state": {"type": "PORT", "name": "Ethernet3/39"}, "name": "Ethernet3/39"}, "Ethernet6/9/1": {"state": {"type": "PORT", "name": "Ethernet6/9/1"}, "name": "Ethernet6/9/1", "subcomponents": {"subcomponent": {"xcvr_6/9": {"state": {"name": "xcvr_6/9"}, "name": "xcvr_6/9"}}}}, "Ethernet5/9/1": {"state": {"type": "PORT", "name": "Ethernet5/9/1"}, "name": "Ethernet5/9/1", "subcomponents": {"subcomponent": {"xcvr_5/9": {"state": {"name": "xcvr_5/9"}, "name": "xcvr_5/9"}}}}, "Ethernet5/19/1": {"state": {"type": "PORT", "name": "Ethernet5/19/1"}, "name": "Ethernet5/19/1"}, "TempSensor5/11": {"state": {"type": "SENSOR", "name": "TempSensor5/11", "temperature": {"max": 51.75, "instant": 45.25}, "description": "Switch chip 5 sensor"}, "name": "TempSensor5/11", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor5/10": {"state": {"type": "SENSOR", "name": "TempSensor5/10", "temperature": {"max": 67.0, "instant": 62.0}, "description": "Board sensor"}, "name": "TempSensor5/10", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "xcvr_3/36": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.3900356324280416}, "input-power": {"instant": -5.476001540885584}, "laser-bias-current": {"instant": 26.22}}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN0FD692787", "part-no": "SFP10G-LR-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_3/36"}, "name": "xcvr_3/36"}, "TempSensor5/12": {"state": {"type": "SENSOR", "name": "TempSensor5/12", "temperature": {"max": 73.75, "instant": 68.25}, "description": "Switch chip 6 sensor"}, "name": "TempSensor5/12", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet4/26": {"state": {"type": "PORT", "name": "Ethernet4/26"}, "name": "Ethernet4/26"}, "xcvr_4/50": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}, "1": {"state": {"index": 1, "output-power": {"instant": -0.6278310913729435}, "input-power": {"instant": 0.06337660374550858}, "laser-bias-current": {"instant": 5.384}}}, "2": {"state": {"index": 2, "output-power": {"instant": -0.34046110897937076}, "input-power": {"instant": -0.22688026603074007}, "laser-bias-current": {"instant": 5.518}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.09972101229705377}, "input-power": {"instant": -0.25396207912967483}, "laser-bias-current": {"instant": 5.886}}}, "4": {"state": {"index": 4, "output-power": {"instant": -0.12959713020733066}, "input-power": {"instant": -0.6338573802478864}, "laser-bias-current": {"instant": 5.432}}}, "5": {"state": {"index": 5, "output-power": {"instant": 0.11189687609991505}, "input-power": {"instant": -0.33295223342125535}, "laser-bias-current": {"instant": 5.822}}}, "6": {"state": {"index": 6, "output-power": {"instant": -0.06651960076740071}, "input-power": {"instant": -1.0385974855798041}, "laser-bias-current": {"instant": 5.402}}}, "7": {"state": {"index": 7, "output-power": {"instant": 0.11824095594308748}, "input-power": {"instant": -0.24752058759319073}, "laser-bias-current": {"instant": 5.378}}}, "8": {"state": {"index": 8, "output-power": {"instant": 0.10639116736629983}, "input-power": {"instant": -0.6333548699992475}, "laser-bias-current": {"instant": 5.708}}}, "9": {"state": {"index": 9, "output-power": {"instant": -0.2489001031383875}, "input-power": {"instant": -0.24292536462819925}, "laser-bias-current": {"instant": 5.38}}}, "10": {"state": {"index": 10, "output-power": {"instant": -0.22139270735302752}, "input-power": {"instant": -0.17186237868137333}, "laser-bias-current": {"instant": 5.824}}}, "11": {"state": {"index": 11, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}}}, "state": {"ethernet-pmd": "ETH_100GBASE_SR10", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "JPE13510269", "part-no": "7500E-72S-LC", "type": "TRANSCEIVER", "name": "xcvr_4/50"}, "name": "xcvr_4/50"}, "Ethernet3/29": {"state": {"type": "PORT", "name": "Ethernet3/29"}, "name": "Ethernet3/29"}, "Ethernet4/46": {"state": {"type": "PORT", "name": "Ethernet4/46"}, "name": "Ethernet4/46"}, "TempSensorP1/2": {"state": {"type": "SENSOR", "name": "TempSensorP1/2", "temperature": {"max": 30.0, "instant": 24.875}, "description": "Power supply sensor"}, "name": "TempSensorP1/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP1/1": {"state": {"type": "SENSOR", "name": "TempSensorP1/1", "temperature": {"max": 47.5, "instant": 32.0}, "description": "Power supply sensor"}, "name": "TempSensorP1/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP2/1": {"state": {"type": "SENSOR", "name": "TempSensorP2/1", "temperature": {"max": 46.25, "instant": 31.75}, "description": "Power supply sensor"}, "name": "TempSensorP2/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "xcvr_6/24": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5527529273009977}, "input-power": {"instant": 2.9165739610218067}, "laser-bias-current": {"instant": 38.686}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5560928367891558}, "input-power": {"instant": 3.084790401617301}, "laser-bias-current": {"instant": 32.728}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5736609176227034}, "input-power": {"instant": 2.4286429614070704}, "laser-bias-current": {"instant": 37.872}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5026508697870389}, "input-power": {"instant": 2.580862843279794}, "laser-bias-current": {"instant": 29.64}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100696", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/24"}, "name": "xcvr_6/24"}, "TempSensorP2/2": {"state": {"type": "SENSOR", "name": "TempSensorP2/2", "temperature": {"max": 31.0, "instant": 24.25}, "description": "Power supply sensor"}, "name": "TempSensorP2/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP3/1": {"state": {"type": "SENSOR", "name": "TempSensorP3/1", "temperature": {"max": 48.5, "instant": 31.625}, "description": "Power supply sensor"}, "name": "TempSensorP3/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP3/2": {"state": {"type": "SENSOR", "name": "TempSensorP3/2", "temperature": {"max": 31.375, "instant": 24.375}, "description": "Power supply sensor"}, "name": "TempSensorP3/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP4/2": {"state": {"type": "SENSOR", "name": "TempSensorP4/2", "temperature": {"max": 34.375, "instant": 25.25}, "description": "Power supply sensor"}, "name": "TempSensorP4/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "TempSensorP4/1": {"state": {"type": "SENSOR", "name": "TempSensorP4/1", "temperature": {"max": 45.25, "instant": 31.5}, "description": "Power supply sensor"}, "name": "TempSensorP4/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 70.0}, "name": "critical-threshold"}}}}, "xcvr_6/25": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.3296372613072682}, "input-power": {"instant": 1.4126159062208998}, "laser-bias-current": {"instant": 26.080000000000002}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5204360248765125}, "input-power": {"instant": 1.3899701403263576}, "laser-bias-current": {"instant": 28.076}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.4776904626014709}, "input-power": {"instant": 1.6767171623002097}, "laser-bias-current": {"instant": 28.212}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4884934295922037}, "input-power": {"instant": 2.024883170600935}, "laser-bias-current": {"instant": 38.402}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162200388", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/25"}, "name": "xcvr_6/25"}, "Ethernet6/17/1": {"state": {"type": "PORT", "name": "Ethernet6/17/1"}, "name": "Ethernet6/17/1", "subcomponents": {"subcomponent": {"xcvr_6/17": {"state": {"name": "xcvr_6/17"}, "name": "xcvr_6/17"}}}}, "Ethernet6/6/1": {"state": {"type": "PORT", "name": "Ethernet6/6/1"}, "name": "Ethernet6/6/1", "subcomponents": {"subcomponent": {"xcvr_6/6": {"state": {"name": "xcvr_6/6"}, "name": "xcvr_6/6"}}}}, "TempSensor1/11": {"state": {"type": "SENSOR", "name": "TempSensor1/11", "temperature": {"max": 37.0, "instant": 27.0}, "description": "CPU VRM temp sensor 1"}, "name": "TempSensor1/11", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 105.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor1/10": {"state": {"type": "SENSOR", "name": "TempSensor1/10", "temperature": {"max": 37.0, "instant": 27.0}, "description": "CPU VRM temp sensor 0"}, "name": "TempSensor1/10", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 105.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet5/28/1": {"state": {"type": "PORT", "name": "Ethernet5/28/1"}, "name": "Ethernet5/28/1"}, "Ethernet4/4": {"state": {"type": "PORT", "name": "Ethernet4/4"}, "name": "Ethernet4/4", "subcomponents": {"subcomponent": {"xcvr_4/4": {"state": {"name": "xcvr_4/4"}, "name": "xcvr_4/4"}}}}, "xcvr_3/50": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}, "1": {"state": {"index": 1, "output-power": {"instant": -0.13631406429726933}, "input-power": {"instant": -0.4575749056067524}, "laser-bias-current": {"instant": 6.144}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.09620840814324794}, "input-power": {"instant": -0.17683530307934792}, "laser-bias-current": {"instant": 5.612}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.10105436281226954}, "input-power": {"instant": -0.7572071393811841}, "laser-bias-current": {"instant": 6.198}}}, "4": {"state": {"index": 4, "output-power": {"instant": -0.1430414031015781}, "input-power": {"instant": -0.2881695914383853}, "laser-bias-current": {"instant": 5.6240000000000006}}}, "5": {"state": {"index": 5, "output-power": {"instant": 0.08174184006426444}, "input-power": {"instant": -0.32405227328110353}, "laser-bias-current": {"instant": 5.586}}}, "6": {"state": {"index": 6, "output-power": {"instant": 0.13427127070696265}, "input-power": {"instant": -1.0193333935836524}, "laser-bias-current": {"instant": 5.562}}}, "7": {"state": {"index": 7, "output-power": {"instant": 0.07449044497748858}, "input-power": {"instant": -0.4730440041308315}, "laser-bias-current": {"instant": 5.488}}}, "8": {"state": {"index": 8, "output-power": {"instant": 0.35029282202367895}, "input-power": {"instant": -0.3976712687148787}, "laser-bias-current": {"instant": 5.5440000000000005}}}, "9": {"state": {"index": 9, "output-power": {"instant": 0.306401948686319}, "input-power": {"instant": -0.9049745859458458}, "laser-bias-current": {"instant": 5.622}}}, "10": {"state": {"index": 10, "output-power": {"instant": 0.31570032141100324}, "input-power": {"instant": -0.6509774167768612}, "laser-bias-current": {"instant": 5.566}}}, "11": {"state": {"index": 11, "output-power": {"instant": -30.0}, "input-power": {"instant": -30.0}, "laser-bias-current": {"instant": 0.0}}}}}, "state": {"ethernet-pmd": "ETH_100GBASE_SR10", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "JPE13510257", "part-no": "7500E-72S-LC", "type": "TRANSCEIVER", "name": "xcvr_3/50"}, "name": "xcvr_3/50"}, "Fabric6": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric6", "serial-no": "JPE13473813", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric6", "subcomponents": {"subcomponent": {"TempSensor16/2": {"state": {"name": "TempSensor16/2"}, "name": "TempSensor16/2"}, "TempSensor16/1": {"state": {"name": "TempSensor16/1"}, "name": "TempSensor16/1"}}}}, "Fabric4": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric4", "serial-no": "JPE13492642", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric4", "subcomponents": {"subcomponent": {"TempSensor14/1": {"state": {"name": "TempSensor14/1"}, "name": "TempSensor14/1"}, "TempSensor14/2": {"state": {"name": "TempSensor14/2"}, "name": "TempSensor14/2"}}}}, "Fabric5": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric5", "serial-no": "JPE13470733", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric5", "subcomponents": {"subcomponent": {"TempSensor15/1": {"state": {"name": "TempSensor15/1"}, "name": "TempSensor15/1"}, "TempSensor15/2": {"state": {"name": "TempSensor15/2"}, "name": "TempSensor15/2"}}}}, "Fabric2": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric2", "serial-no": "JPE13470700", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric2", "subcomponents": {"subcomponent": {"TempSensor12/2": {"state": {"name": "TempSensor12/2"}, "name": "TempSensor12/2"}, "TempSensor12/1": {"state": {"name": "TempSensor12/1"}, "name": "TempSensor12/1"}}}}, "Fabric3": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric3", "serial-no": "JPE13470749", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric3", "subcomponents": {"subcomponent": {"TempSensor13/2": {"state": {"name": "TempSensor13/2"}, "name": "TempSensor13/2"}, "TempSensor13/1": {"state": {"name": "TempSensor13/1"}, "name": "TempSensor13/1"}}}}, "Fabric1": {"state": {"mfg-name": "Arista Networks", "version": "01.01", "name": "Fabric1", "serial-no": "JPE13470767", "part-no": "7504E-FM", "type": "LINECARD"}, "name": "Fabric1", "subcomponents": {"subcomponent": {"TempSensor11/1": {"state": {"name": "TempSensor11/1"}, "name": "TempSensor11/1"}, "TempSensor11/2": {"state": {"name": "TempSensor11/2"}, "name": "TempSensor11/2"}}}}, "TempSensor2/10": {"state": {"type": "SENSOR", "name": "TempSensor2/10", "temperature": {"max": 37.0, "instant": 29.0}, "description": "CPU VRM temp sensor 0"}, "name": "TempSensor2/10", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 105.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor2/11": {"state": {"type": "SENSOR", "name": "TempSensor2/11", "temperature": {"max": 37.0, "instant": 29.0}, "description": "CPU VRM temp sensor 1"}, "name": "TempSensor2/11", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 105.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet6/7/1": {"state": {"type": "PORT", "name": "Ethernet6/7/1"}, "name": "Ethernet6/7/1", "subcomponents": {"subcomponent": {"xcvr_6/7": {"state": {"name": "xcvr_6/7"}, "name": "xcvr_6/7"}}}}, "Ethernet3/47": {"state": {"type": "PORT", "name": "Ethernet3/47"}, "name": "Ethernet3/47"}, "Ethernet3/46": {"state": {"type": "PORT", "name": "Ethernet3/46"}, "name": "Ethernet3/46"}, "Ethernet3/45": {"state": {"type": "PORT", "name": "Ethernet3/45"}, "name": "Ethernet3/45"}, "Ethernet3/44": {"state": {"type": "PORT", "name": "Ethernet3/44"}, "name": "Ethernet3/44"}, "Ethernet3/43": {"state": {"type": "PORT", "name": "Ethernet3/43"}, "name": "Ethernet3/43"}, "Ethernet3/42": {"state": {"type": "PORT", "name": "Ethernet3/42"}, "name": "Ethernet3/42"}, "Ethernet3/41": {"state": {"type": "PORT", "name": "Ethernet3/41"}, "name": "Ethernet3/41"}, "Ethernet3/40": {"state": {"type": "PORT", "name": "Ethernet3/40"}, "name": "Ethernet3/40"}, "Ethernet3/48": {"state": {"type": "PORT", "name": "Ethernet3/48"}, "name": "Ethernet3/48", "subcomponents": {"subcomponent": {"xcvr_3/48": {"state": {"name": "xcvr_3/48"}, "name": "xcvr_3/48"}}}}, "Ethernet5/26/1": {"state": {"type": "PORT", "name": "Ethernet5/26/1"}, "name": "Ethernet5/26/1"}, "DCS-7504": {"state": {"name": "DCS-7504", "serial-no": "HSH13485008", "part-no": "DCS-7504", "mfg-name": "Arista Networks", "version": "02.00", "type": "CHASSIS", "description": "DCS-7504 Chassis"}, "name": "DCS-7504", "subcomponents": {"subcomponent": {"powerSupply_4": {"state": {"name": "powerSupply_4"}, "name": "powerSupply_4"}, "fan_3": {"state": {"name": "fan_3"}, "name": "fan_3"}, "fan_1": {"state": {"name": "fan_1"}, "name": "fan_1"}, "powerSupply_2": {"state": {"name": "powerSupply_2"}, "name": "powerSupply_2"}, "Fabric1": {"state": {"name": "Fabric1"}, "name": "Fabric1"}, "Linecard3": {"state": {"name": "Linecard3"}, "name": "Linecard3"}, "fan_6": {"state": {"name": "fan_6"}, "name": "fan_6"}, "powerSupply_1": {"state": {"name": "powerSupply_1"}, "name": "powerSupply_1"}, "Linecard5": {"state": {"name": "Linecard5"}, "name": "Linecard5"}, "fan_4": {"state": {"name": "fan_4"}, "name": "fan_4"}, "Fabric3": {"state": {"name": "Fabric3"}, "name": "Fabric3"}, "Supervisor1": {"state": {"name": "Supervisor1"}, "name": "Supervisor1"}, "Supervisor2": {"state": {"name": "Supervisor2"}, "name": "Supervisor2"}, "powerSupply_3": {"state": {"name": "powerSupply_3"}, "name": "powerSupply_3"}, "Fabric6": {"state": {"name": "Fabric6"}, "name": "Fabric6"}, "fan_2": {"state": {"name": "fan_2"}, "name": "fan_2"}, "Fabric4": {"state": {"name": "Fabric4"}, "name": "Fabric4"}, "Fabric5": {"state": {"name": "Fabric5"}, "name": "Fabric5"}, "Fabric2": {"state": {"name": "Fabric2"}, "name": "Fabric2"}, "Linecard4": {"state": {"name": "Linecard4"}, "name": "Linecard4"}, "fan_5": {"state": {"name": "fan_5"}, "name": "fan_5"}, "Linecard6": {"state": {"name": "Linecard6"}, "name": "Linecard6"}}}}, "TempSensor2/6": {"state": {"type": "SENSOR", "name": "TempSensor2/6", "temperature": {"max": 59.0, "instant": 49.0}, "description": "PlxLc sensor"}, "name": "TempSensor2/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 103.0}, "name": "critical-threshold"}}}}, "Ethernet4/29": {"state": {"type": "PORT", "name": "Ethernet4/29"}, "name": "Ethernet4/29"}, "TempSensor16/2": {"state": {"type": "SENSOR", "name": "TempSensor16/2", "temperature": {"max": 55.0, "instant": 50.0}, "description": "Fan controller 1 sensor"}, "name": "TempSensor16/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "xcvr_3/35": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": -1.4200450443907586}, "input-power": {"instant": -9.292235371565653}, "laser-bias-current": {"instant": 30.21}}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAN0FD692786", "part-no": "SFP10G-LR-ARISTA", "type": "TRANSCEIVER", "name": "xcvr_3/35"}, "name": "xcvr_3/35"}, "TempSensor3/7": {"state": {"type": "SENSOR", "name": "TempSensor3/7", "temperature": {"max": 35.0, "instant": 27.0}, "description": "Outlet sensor"}, "name": "TempSensor3/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor3/6": {"state": {"type": "SENSOR", "name": "TempSensor3/6", "temperature": {"max": 42.0, "instant": 35.0}, "description": "Board sensor"}, "name": "TempSensor3/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet4/22": {"state": {"type": "PORT", "name": "Ethernet4/22"}, "name": "Ethernet4/22"}, "TempSensor3/4": {"state": {"type": "SENSOR", "name": "TempSensor3/4", "temperature": {"max": 49.0, "instant": 40.0}, "description": "Switch chip 3 sensor"}, "name": "TempSensor3/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor3/3": {"state": {"type": "SENSOR", "name": "TempSensor3/3", "temperature": {"max": 47.0, "instant": 40.0}, "description": "Switch chip 2 sensor"}, "name": "TempSensor3/3", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor3/2": {"state": {"type": "SENSOR", "name": "TempSensor3/2", "temperature": {"max": 46.0, "instant": 37.0}, "description": "Switch chip 1 sensor"}, "name": "TempSensor3/2", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet6/18/1": {"state": {"type": "PORT", "name": "Ethernet6/18/1"}, "name": "Ethernet6/18/1", "subcomponents": {"subcomponent": {"xcvr_6/18": {"state": {"name": "xcvr_6/18"}, "name": "xcvr_6/18"}}}}, "TempSensor2/9": {"state": {"type": "SENSOR", "name": "TempSensor2/9", "temperature": {"max": 30.0, "instant": 21.0}, "description": "Front sensor"}, "name": "TempSensor2/9", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 65.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 75.0}, "name": "critical-threshold"}}}}, "xcvr_4/48": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XMD1018MCF6J", "part-no": "SFP-1G-T", "type": "TRANSCEIVER", "name": "xcvr_4/48"}, "name": "xcvr_4/48"}, "TempSensor4/4": {"state": {"type": "SENSOR", "name": "TempSensor4/4", "temperature": {"max": 48.0, "instant": 39.0}, "description": "Switch chip 3 sensor"}, "name": "TempSensor4/4", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "TempSensor4/5": {"state": {"type": "SENSOR", "name": "TempSensor4/5", "temperature": {"max": 32.0, "instant": 23.0}, "description": "Inlet sensor"}, "name": "TempSensor4/5", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "TempSensor4/6": {"state": {"type": "SENSOR", "name": "TempSensor4/6", "temperature": {"max": 41.0, "instant": 34.0}, "description": "Board sensor"}, "name": "TempSensor4/6", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "TempSensor4/7": {"state": {"type": "SENSOR", "name": "TempSensor4/7", "temperature": {"max": 36.0, "instant": 29.0}, "description": "Outlet sensor"}, "name": "TempSensor4/7", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 75.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 90.0}, "name": "critical-threshold"}}}}, "xcvr_6/11": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5280796341906377}, "input-power": {"instant": 0.3506934442110454}, "laser-bias-current": {"instant": 38.934}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.45662470707546}, "input-power": {"instant": 0.6329582107352039}, "laser-bias-current": {"instant": 30.722}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5341848503771072}, "input-power": {"instant": 1.980244255331196}, "laser-bias-current": {"instant": 34.550000000000004}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.398161406105758}, "input-power": {"instant": 0.8753297573409347}, "laser-bias-current": {"instant": 28.23}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA153600154", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/11"}, "name": "xcvr_6/11"}, "Ethernet5/8/1": {"state": {"type": "PORT", "name": "Ethernet5/8/1"}, "name": "Ethernet5/8/1", "subcomponents": {"subcomponent": {"xcvr_5/8": {"state": {"name": "xcvr_5/8"}, "name": "xcvr_5/8"}}}}, "TempSensor5/8": {"state": {"type": "SENSOR", "name": "TempSensor5/8", "temperature": {"max": 53.0, "instant": 46.25}, "description": "Switch chip 3 sensor"}, "name": "TempSensor5/8", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet6/11/1": {"state": {"type": "PORT", "name": "Ethernet6/11/1"}, "name": "Ethernet6/11/1", "subcomponents": {"subcomponent": {"xcvr_6/11": {"state": {"name": "xcvr_6/11"}, "name": "xcvr_6/11"}}}}, "xcvr_6/13": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.511245900506819}, "input-power": {"instant": 2.07284205912198}, "laser-bias-current": {"instant": 38.300000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5424133016729824}, "input-power": {"instant": 1.9898680567093319}, "laser-bias-current": {"instant": 30.428}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.479853206838051}, "input-power": {"instant": 2.4467287841611007}, "laser-bias-current": {"instant": 28.652}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5198239545747416}, "input-power": {"instant": 1.8582535961296198}, "laser-bias-current": {"instant": 33.314}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100079", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/13"}, "name": "xcvr_6/13"}, "Ethernet5/5/1": {"state": {"type": "PORT", "name": "Ethernet5/5/1"}, "name": "Ethernet5/5/1", "subcomponents": {"subcomponent": {"xcvr_5/5": {"state": {"name": "xcvr_5/5"}, "name": "xcvr_5/5"}}}}, "xcvr_6/12": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.555789314769318}, "input-power": {"instant": 2.0972942801620498}, "laser-bias-current": {"instant": 35.464}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5715443990628142}, "input-power": {"instant": 1.9879450017559863}, "laser-bias-current": {"instant": 36.006}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5390628513886773}, "input-power": {"instant": 2.003579455416351}, "laser-bias-current": {"instant": 34.706}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5433266124230505}, "input-power": {"instant": 2.0650205758868534}, "laser-bias-current": {"instant": 33.56}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162100055", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/12"}, "name": "xcvr_6/12"}, "Ethernet6/10/1": {"state": {"type": "PORT", "name": "Ethernet6/10/1"}, "name": "Ethernet6/10/1", "subcomponents": {"subcomponent": {"xcvr_6/10": {"state": {"name": "xcvr_6/10"}, "name": "xcvr_6/10"}}}}, "Ethernet5/4/1": {"state": {"type": "PORT", "name": "Ethernet5/4/1"}, "name": "Ethernet5/4/1", "subcomponents": {"subcomponent": {"xcvr_5/4": {"state": {"name": "xcvr_5/4"}, "name": "xcvr_5/4"}}}}, "Ethernet4/5": {"state": {"type": "PORT", "name": "Ethernet4/5"}, "name": "Ethernet4/5", "subcomponents": {"subcomponent": {"xcvr_4/5": {"state": {"name": "xcvr_4/5"}, "name": "xcvr_4/5"}}}}, "TempSensor15/1": {"state": {"type": "SENSOR", "name": "TempSensor15/1", "temperature": {"max": 50.75, "instant": 44.75}, "description": "Outlet sensor"}, "name": "TempSensor15/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet4/7": {"state": {"type": "PORT", "name": "Ethernet4/7"}, "name": "Ethernet4/7"}, "Ethernet4/6": {"state": {"type": "PORT", "name": "Ethernet4/6"}, "name": "Ethernet4/6"}, "Ethernet4/1": {"state": {"type": "PORT", "name": "Ethernet4/1"}, "name": "Ethernet4/1", "subcomponents": {"subcomponent": {"xcvr_4/1": {"state": {"name": "xcvr_4/1"}, "name": "xcvr_4/1"}}}}, "Ethernet5/3/1": {"state": {"type": "PORT", "name": "Ethernet5/3/1"}, "name": "Ethernet5/3/1", "subcomponents": {"subcomponent": {"xcvr_5/3": {"state": {"name": "xcvr_5/3"}, "name": "xcvr_5/3"}}}}, "Ethernet4/3": {"state": {"type": "PORT", "name": "Ethernet4/3"}, "name": "Ethernet4/3", "subcomponents": {"subcomponent": {"xcvr_4/3": {"state": {"name": "xcvr_4/3"}, "name": "xcvr_4/3"}}}}, "Ethernet4/2": {"state": {"type": "PORT", "name": "Ethernet4/2"}, "name": "Ethernet4/2", "subcomponents": {"subcomponent": {"xcvr_4/2": {"state": {"name": "xcvr_4/2"}, "name": "xcvr_4/2"}}}}, "Ethernet4/15": {"state": {"type": "PORT", "name": "Ethernet4/15"}, "name": "Ethernet4/15"}, "Ethernet4/50/1": {"state": {"type": "PORT", "name": "Ethernet4/50/1"}, "name": "Ethernet4/50/1", "subcomponents": {"subcomponent": {"xcvr_4/50": {"state": {"name": "xcvr_4/50"}, "name": "xcvr_4/50"}}}}, "Ethernet5/2/1": {"state": {"type": "PORT", "name": "Ethernet5/2/1"}, "name": "Ethernet5/2/1", "subcomponents": {"subcomponent": {"xcvr_5/2": {"state": {"name": "xcvr_5/2"}, "name": "xcvr_5/2"}}}}, "Ethernet4/8": {"state": {"type": "PORT", "name": "Ethernet4/8"}, "name": "Ethernet4/8"}, "Ethernet6/16/1": {"state": {"type": "PORT", "name": "Ethernet6/16/1"}, "name": "Ethernet6/16/1", "subcomponents": {"subcomponent": {"xcvr_6/16": {"state": {"name": "xcvr_6/16"}, "name": "xcvr_6/16"}}}}, "Ethernet4/39": {"state": {"type": "PORT", "name": "Ethernet4/39"}, "name": "Ethernet4/39"}, "Ethernet4/38": {"state": {"type": "PORT", "name": "Ethernet4/38"}, "name": "Ethernet4/38"}, "Ethernet4/33": {"state": {"type": "PORT", "name": "Ethernet4/33"}, "name": "Ethernet4/33"}, "Ethernet4/32": {"state": {"type": "PORT", "name": "Ethernet4/32"}, "name": "Ethernet4/32"}, "Ethernet4/31": {"state": {"type": "PORT", "name": "Ethernet4/31"}, "name": "Ethernet4/31"}, "Ethernet4/30": {"state": {"type": "PORT", "name": "Ethernet4/30"}, "name": "Ethernet4/30"}, "Ethernet4/37": {"state": {"type": "PORT", "name": "Ethernet4/37"}, "name": "Ethernet4/37"}, "Ethernet4/36": {"state": {"type": "PORT", "name": "Ethernet4/36"}, "name": "Ethernet4/36"}, "Ethernet4/35": {"state": {"type": "PORT", "name": "Ethernet4/35"}, "name": "Ethernet4/35"}, "Ethernet4/34": {"state": {"type": "PORT", "name": "Ethernet4/34"}, "name": "Ethernet4/34"}, "Ethernet6/28/1": {"state": {"type": "PORT", "name": "Ethernet6/28/1"}, "name": "Ethernet6/28/1", "subcomponents": {"subcomponent": {"xcvr_6/28": {"state": {"name": "xcvr_6/28"}, "name": "xcvr_6/28"}}}}, "Ethernet3/7": {"state": {"type": "PORT", "name": "Ethernet3/7"}, "name": "Ethernet3/7"}, "Ethernet3/4": {"state": {"type": "PORT", "name": "Ethernet3/4"}, "name": "Ethernet3/4"}, "Ethernet3/5": {"state": {"type": "PORT", "name": "Ethernet3/5"}, "name": "Ethernet3/5", "subcomponents": {"subcomponent": {"xcvr_3/5": {"state": {"name": "xcvr_3/5"}, "name": "xcvr_3/5"}}}}, "Ethernet3/2": {"state": {"type": "PORT", "name": "Ethernet3/2"}, "name": "Ethernet3/2", "subcomponents": {"subcomponent": {"xcvr_3/2": {"state": {"name": "xcvr_3/2"}, "name": "xcvr_3/2"}}}}, "Ethernet3/3": {"state": {"type": "PORT", "name": "Ethernet3/3"}, "name": "Ethernet3/3", "subcomponents": {"subcomponent": {"xcvr_3/3": {"state": {"name": "xcvr_3/3"}, "name": "xcvr_3/3"}}}}, "Ethernet3/1": {"state": {"type": "PORT", "name": "Ethernet3/1"}, "name": "Ethernet3/1", "subcomponents": {"subcomponent": {"xcvr_3/1": {"state": {"name": "xcvr_3/1"}, "name": "xcvr_3/1"}}}}, "Ethernet6/29/1": {"state": {"type": "PORT", "name": "Ethernet6/29/1"}, "name": "Ethernet6/29/1", "subcomponents": {"subcomponent": {"xcvr_6/29": {"state": {"name": "xcvr_6/29"}, "name": "xcvr_6/29"}}}}, "Ethernet3/8": {"state": {"type": "PORT", "name": "Ethernet3/8"}, "name": "Ethernet3/8"}, "Ethernet3/9": {"state": {"type": "PORT", "name": "Ethernet3/9"}, "name": "Ethernet3/9"}, "Ethernet6/24/1": {"state": {"type": "PORT", "name": "Ethernet6/24/1"}, "name": "Ethernet6/24/1", "subcomponents": {"subcomponent": {"xcvr_6/24": {"state": {"name": "xcvr_6/24"}, "name": "xcvr_6/24"}}}}, "TempSensor4/1": {"state": {"type": "SENSOR", "name": "TempSensor4/1", "temperature": {"max": 45.0, "instant": 38.0}, "description": "Board sensor"}, "name": "TempSensor4/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 110.0}, "name": "critical-threshold"}}}}, "Ethernet6/15/1": {"state": {"type": "PORT", "name": "Ethernet6/15/1"}, "name": "Ethernet6/15/1", "subcomponents": {"subcomponent": {"xcvr_6/15": {"state": {"name": "xcvr_6/15"}, "name": "xcvr_6/15"}}}}, "xcvr_3/34": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 0.4277233749767362}, "input-power": {"instant": -6.499459064209696}, "laser-bias-current": {"instant": 43.83}}}}}, "state": {"enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XAP1025T6009", "part-no": "SFP-10G-ER", "type": "TRANSCEIVER", "name": "xcvr_3/34"}, "name": "xcvr_3/34"}, "Ethernet5/1/1": {"state": {"type": "PORT", "name": "Ethernet5/1/1"}, "name": "Ethernet5/1/1", "subcomponents": {"subcomponent": {"xcvr_5/1": {"state": {"name": "xcvr_5/1"}, "name": "xcvr_5/1"}}}}, "Ethernet6/25/1": {"state": {"type": "PORT", "name": "Ethernet6/25/1"}, "name": "Ethernet6/25/1", "subcomponents": {"subcomponent": {"xcvr_6/25": {"state": {"name": "xcvr_6/25"}, "name": "xcvr_6/25"}}}}, "xcvr_6/21": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 2.5107826448400195}, "input-power": {"instant": 3.7171420264261767}, "laser-bias-current": {"instant": 35.388}}}, "1": {"state": {"index": 1, "output-power": {"instant": 2.873089515699725}, "input-power": {"instant": 4.219492510628786}, "laser-bias-current": {"instant": 34.752}}}, "2": {"state": {"index": 2, "output-power": {"instant": 3.2487894311199383}, "input-power": {"instant": 1.781132523146316}, "laser-bias-current": {"instant": 42.412}}}, "3": {"state": {"index": 3, "output-power": {"instant": 2.6325722701406606}, "input-power": {"instant": 3.0888441442201664}, "laser-bias-current": {"instant": 36.928}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH16070000C", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/21"}, "name": "xcvr_6/21"}, "Ethernet6/14/1": {"state": {"type": "PORT", "name": "Ethernet6/14/1"}, "name": "Ethernet6/14/1", "subcomponents": {"subcomponent": {"xcvr_6/14": {"state": {"name": "xcvr_6/14"}, "name": "xcvr_6/14"}}}}, "Ethernet6/32/1": {"state": {"type": "PORT", "name": "Ethernet6/32/1"}, "name": "Ethernet6/32/1", "subcomponents": {"subcomponent": {"xcvr_6/32": {"state": {"name": "xcvr_6/32"}, "name": "xcvr_6/32"}}}}, "Ethernet6/22/1": {"state": {"type": "PORT", "name": "Ethernet6/22/1"}, "name": "Ethernet6/22/1", "subcomponents": {"subcomponent": {"xcvr_6/22": {"state": {"name": "xcvr_6/22"}, "name": "xcvr_6/22"}}}}, "Ethernet6/35/1": {"state": {"type": "PORT", "name": "Ethernet6/35/1"}, "name": "Ethernet6/35/1"}, "Ethernet6/23/1": {"state": {"type": "PORT", "name": "Ethernet6/23/1"}, "name": "Ethernet6/23/1", "subcomponents": {"subcomponent": {"xcvr_6/23": {"state": {"name": "xcvr_6/23"}, "name": "xcvr_6/23"}}}}, "Ethernet4/10": {"state": {"type": "PORT", "name": "Ethernet4/10"}, "name": "Ethernet4/10"}, "Ethernet6/34/1": {"state": {"type": "PORT", "name": "Ethernet6/34/1"}, "name": "Ethernet6/34/1"}, "Ethernet6/19/1": {"state": {"type": "PORT", "name": "Ethernet6/19/1"}, "name": "Ethernet6/19/1", "subcomponents": {"subcomponent": {"xcvr_6/19": {"state": {"name": "xcvr_6/19"}, "name": "xcvr_6/19"}}}}, "Ethernet5/7/1": {"state": {"type": "PORT", "name": "Ethernet5/7/1"}, "name": "Ethernet5/7/1", "subcomponents": {"subcomponent": {"xcvr_5/7": {"state": {"name": "xcvr_5/7"}, "name": "xcvr_5/7"}}}}, "Ethernet6/13/1": {"state": {"type": "PORT", "name": "Ethernet6/13/1"}, "name": "Ethernet6/13/1", "subcomponents": {"subcomponent": {"xcvr_6/13": {"state": {"name": "xcvr_6/13"}, "name": "xcvr_6/13"}}}}, "Ethernet5/33/1": {"state": {"type": "PORT", "name": "Ethernet5/33/1"}, "name": "Ethernet5/33/1"}, "xcvr_6/19": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 2.2703784493022594}, "input-power": {"instant": 3.808260568363413}, "laser-bias-current": {"instant": 33.874}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.9747353501477694}, "input-power": {"instant": 5.036953728699967}, "laser-bias-current": {"instant": 31.164}}}, "2": {"state": {"index": 2, "output-power": {"instant": 2.1808890286084504}, "input-power": {"instant": 4.189307277285006}, "laser-bias-current": {"instant": 37.94}}}, "3": {"state": {"index": 3, "output-power": {"instant": 2.4154648059654837}, "input-power": {"instant": 3.306166672944384}, "laser-bias-current": {"instant": 39.498}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XTH16030013N", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/19"}, "name": "xcvr_6/19"}, "Ethernet5/6/1": {"state": {"type": "PORT", "name": "Ethernet5/6/1"}, "name": "Ethernet5/6/1", "subcomponents": {"subcomponent": {"xcvr_5/6": {"state": {"name": "xcvr_5/6"}, "name": "xcvr_5/6"}}}}, "Ethernet6/36/1": {"state": {"type": "PORT", "name": "Ethernet6/36/1"}, "name": "Ethernet6/36/1"}, "Ethernet6/12/1": {"state": {"type": "PORT", "name": "Ethernet6/12/1"}, "name": "Ethernet6/12/1", "subcomponents": {"subcomponent": {"xcvr_6/12": {"state": {"name": "xcvr_6/12"}, "name": "xcvr_6/12"}}}}, "Ethernet4/20": {"state": {"type": "PORT", "name": "Ethernet4/20"}, "name": "Ethernet4/20"}, "Ethernet6/20/1": {"state": {"type": "PORT", "name": "Ethernet6/20/1"}, "name": "Ethernet6/20/1", "subcomponents": {"subcomponent": {"xcvr_6/20": {"state": {"name": "xcvr_6/20"}, "name": "xcvr_6/20"}}}}, "Ethernet5/18/1": {"state": {"type": "PORT", "name": "Ethernet5/18/1"}, "name": "Ethernet5/18/1", "subcomponents": {"subcomponent": {"xcvr_5/18": {"state": {"name": "xcvr_5/18"}, "name": "xcvr_5/18"}}}}, "TempSensor16/1": {"state": {"type": "SENSOR", "name": "TempSensor16/1", "temperature": {"max": 50.25, "instant": 44.75}, "description": "Outlet sensor"}, "name": "TempSensor16/1", "properties": {"property": {"overheat-threshold": {"state": {"name": "overheat-threshold", "value": 95.0}, "name": "overheat-threshold"}, "alarm": {"state": {"name": "alarm", "value": false}, "name": "alarm"}, "critical-threshold": {"state": {"name": "critical-threshold", "value": 105.0}, "name": "critical-threshold"}}}}, "Ethernet6/21/1": {"state": {"type": "PORT", "name": "Ethernet6/21/1"}, "name": "Ethernet6/21/1", "subcomponents": {"subcomponent": {"xcvr_6/21": {"state": {"name": "xcvr_6/21"}, "name": "xcvr_6/21"}}}}, "Ethernet5/12/1": {"state": {"type": "PORT", "name": "Ethernet5/12/1"}, "name": "Ethernet5/12/1", "subcomponents": {"subcomponent": {"xcvr_5/12": {"state": {"name": "xcvr_5/12"}, "name": "xcvr_5/12"}}}}, "Ethernet5/13/1": {"state": {"type": "PORT", "name": "Ethernet5/13/1"}, "name": "Ethernet5/13/1", "subcomponents": {"subcomponent": {"xcvr_5/13": {"state": {"name": "xcvr_5/13"}, "name": "xcvr_5/13"}}}}, "Ethernet4/11": {"state": {"type": "PORT", "name": "Ethernet4/11"}, "name": "Ethernet4/11"}, "Ethernet4/49/1": {"state": {"type": "PORT", "name": "Ethernet4/49/1"}, "name": "Ethernet4/49/1", "subcomponents": {"subcomponent": {"xcvr_4/49": {"state": {"name": "xcvr_4/49"}, "name": "xcvr_4/49"}}}}, "Ethernet4/13": {"state": {"type": "PORT", "name": "Ethernet4/13"}, "name": "Ethernet4/13"}, "Ethernet4/12": {"state": {"type": "PORT", "name": "Ethernet4/12"}, "name": "Ethernet4/12"}, "Ethernet5/10/1": {"state": {"type": "PORT", "name": "Ethernet5/10/1"}, "name": "Ethernet5/10/1", "subcomponents": {"subcomponent": {"xcvr_5/10": {"state": {"name": "xcvr_5/10"}, "name": "xcvr_5/10"}}}}, "Ethernet4/14": {"state": {"type": "PORT", "name": "Ethernet4/14"}, "name": "Ethernet4/14"}, "Ethernet4/17": {"state": {"type": "PORT", "name": "Ethernet4/17"}, "name": "Ethernet4/17"}, "Ethernet4/16": {"state": {"type": "PORT", "name": "Ethernet4/16"}, "name": "Ethernet4/16"}, "Ethernet4/19": {"state": {"type": "PORT", "name": "Ethernet4/19"}, "name": "Ethernet4/19"}, "Ethernet4/18": {"state": {"type": "PORT", "name": "Ethernet4/18"}, "name": "Ethernet4/18"}, "xcvr_6/26": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.0554424574657295}, "input-power": {"instant": 1.8816885858669652}, "laser-bias-current": {"instant": 48.252}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5691242570001673}, "input-power": {"instant": 1.8591028504071438}, "laser-bias-current": {"instant": 43.418}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.3113727377860718}, "input-power": {"instant": 2.2827200212399923}, "laser-bias-current": {"instant": 47.884}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.553664066467042}, "input-power": {"instant": 2.1362399341608684}, "laser-bias-current": {"instant": 40.984}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163300333", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/26"}, "name": "xcvr_6/26"}, "xcvr_6/27": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.2561137189746363}, "input-power": {"instant": -0.10817248744452446}, "laser-bias-current": {"instant": 54.062}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.464691330718697}, "input-power": {"instant": 0.6419583586464261}, "laser-bias-current": {"instant": 53.716}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.7411798125426703}, "input-power": {"instant": 1.1200139548618848}, "laser-bias-current": {"instant": 43.738}}}, "3": {"state": {"index": 3, "output-power": {"instant": -0.05946936412324799}, "input-power": {"instant": -0.32592443402527316}, "laser-bias-current": {"instant": 43.016}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA163800400", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/27"}, "name": "xcvr_6/27"}, "xcvr_6/20": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.1437742978615528}, "input-power": {"instant": 2.628306348556597}, "laser-bias-current": {"instant": 45.852000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.1028660840356563}, "input-power": {"instant": 3.120080078387235}, "laser-bias-current": {"instant": 46.254}}}, "2": {"state": {"index": 2, "output-power": {"instant": 0.5161552300498995}, "input-power": {"instant": 3.4931638877010673}, "laser-bias-current": {"instant": 46.2}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.411674686462323}, "input-power": {"instant": 3.603851143046364}, "laser-bias-current": {"instant": 42.748}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162200005", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/20"}, "name": "xcvr_6/20"}, "Ethernet5/11/1": {"state": {"type": "PORT", "name": "Ethernet5/11/1"}, "name": "Ethernet5/11/1", "subcomponents": {"subcomponent": {"xcvr_5/11": {"state": {"name": "xcvr_5/11"}, "name": "xcvr_5/11"}}}}, "xcvr_6/22": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5038797732528009}, "input-power": {"instant": 2.187979981117376}, "laser-bias-current": {"instant": 32.608000000000004}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5585202495926742}, "input-power": {"instant": 2.3964977716666214}, "laser-bias-current": {"instant": 30.428}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.543631006663162}, "input-power": {"instant": 1.8141479625428403}, "laser-bias-current": {"instant": 29.312}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.4182589451107486}, "input-power": {"instant": 2.1587539546127577}, "laser-bias-current": {"instant": 29.512}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162200592", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/22"}, "name": "xcvr_6/22"}, "xcvr_6/23": {"transceiver": {"physical-channels": {"channel": {"0": {"state": {"index": 0, "output-power": {"instant": 1.5167623084704784}, "input-power": {"instant": 0.5895717877731022}, "laser-bias-current": {"instant": 30.842000000000002}}}, "1": {"state": {"index": 1, "output-power": {"instant": 1.5231892742464526}, "input-power": {"instant": 0.5774215582875275}, "laser-bias-current": {"instant": 33.186}}}, "2": {"state": {"index": 2, "output-power": {"instant": 1.5506261922392062}, "input-power": {"instant": 0.3734680356809017}, "laser-bias-current": {"instant": 37.122}}}, "3": {"state": {"index": 3, "output-power": {"instant": 1.5094055396547734}, "input-power": {"instant": 0.7700432679335023}, "laser-bias-current": {"instant": 41.972}}}}}, "state": {"ethernet-pmd": "ETH_40GBASE_LR4", "enabled": true}}, "state": {"mfg-name": "Arista Networks", "serial-no": "XLA162200392", "part-no": "QSFP-40G-UNIV", "type": "TRANSCEIVER", "name": "xcvr_6/23"}, "name": "xcvr_6/23"}, "Ethernet6/26/1": {"state": {"type": "PORT", "name": "Ethernet6/26/1"}, "name": "Ethernet6/26/1", "subcomponents": {"subcomponent": {"xcvr_6/26": {"state": {"name": "xcvr_6/26"}, "name": "xcvr_6/26"}}}}, "Ethernet5/16/1": {"state": {"type": "PORT", "name": "Ethernet5/16/1"}, "name": "Ethernet5/16/1"}, "Ethernet6/27/1": {"state": {"type": "PORT", "name": "Ethernet6/27/1"}, "name": "Ethernet6/27/1", "subcomponents": {"subcomponent": {"xcvr_6/27": {"state": {"name": "xcvr_6/27"}, "name": "xcvr_6/27"}}}}, "Ethernet5/17/1": {"state": {"type": "PORT", "name": "Ethernet5/17/1"}, "name": "Ethernet5/17/1"}}}} diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 2337cfce..ca76840c 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -52,6 +52,7 @@ def pretty_json(dictionary): test_state_profile_models = [ ["junos", napalm_yang.models.openconfig_interfaces, "default"], + ["eos", napalm_yang.models.openconfig_interfaces, "default"], ] From 41da104bb9c7916c382a447c07544e72b60c77c7 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 18 Jun 2017 20:51:19 +0200 Subject: [PATCH 082/153] Parser doesn't require mode if using default mode --- .../parsers/config/openconfig-if-ip/ipv4.yaml | 3 +- .../openconfig-interfaces/interfaces.yaml | 15 ++---- .../includes/bgp.yaml | 18 +++---- .../includes/static_routes.yaml | 9 ++-- .../network-instances.yaml | 18 +++---- .../parsers/config/openconfig-vlan/vlan.yaml | 3 +- .../openconfig-interfaces/interfaces.yaml | 3 +- .../transceiver.yaml | 3 +- .../state/openconfig-platform/components.yaml | 9 ++-- .../parsers/config/openconfig-if-ip/ipv4.yaml | 3 +- .../openconfig-interfaces/interfaces.yaml | 15 ++---- .../parsers/config/openconfig-vlan/vlan.yaml | 3 +- .../parsers/config/openconfig-if-ip/ipv4.yaml | 9 ++-- .../openconfig-interfaces/interfaces.yaml | 15 ++---- .../includes/bgp.yaml | 19 +++---- .../includes/static_routes.yaml | 3 +- .../network-instances.yaml | 3 +- .../parsers/config/openconfig-vlan/vlan.yaml | 3 +- .../openconfig-interfaces/interfaces.yaml | 51 +++++++------------ napalm_yang/parsers/base.py | 6 +-- napalm_yang/parsers/json.py | 4 +- napalm_yang/parsers/text.py | 10 ++-- napalm_yang/parsers/xml.py | 10 ++-- 23 files changed, 84 insertions(+), 151 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml index 200ca4cb..6297c111 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -17,8 +17,7 @@ ipv4: _process: unnecessary address: _process: - - mode: block - regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" + - regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml index 44267380..6bdb13dc 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -9,8 +9,7 @@ interfaces: _process: unnecessary interface: _process: - - mode: block - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" + - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" from: "{{ bookmarks.interfaces.0 }}" name: _process: unnecessary @@ -44,20 +43,17 @@ interfaces: from: "{{ bookmarks.interface[interface_key] }}" description: _process: - - mode: search - regexp: "description (?P.*)" + - regexp: "description (?P.*)" from: "{{ bookmarks.interface[interface_key] }}" mtu: _process: - - mode: search - regexp: "mtu (?P[0-9]+)" + - regexp: "mtu (?P[0-9]+)" from: "{{ bookmarks.interface[interface_key] }}" subinterfaces: _process: unnecessary subinterface: _process: - - mode: block - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" + - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" from: "{{ bookmarks.interfaces.0 }}" index: _process: unnecessary @@ -76,6 +72,5 @@ interfaces: from: "{{ bookmarks.subinterface[subinterface_key] }}" description: _process: - - mode: search - regexp: "description (?P.*)" + - regexp: "description (?P.*)" from: "{{ bookmarks.subinterface[subinterface_key] }}" diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml index dd0a74b9..448ae2a1 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -258,14 +258,12 @@ global: _process: unnecessary as: _process: - - mode: search - regexp: "local-as (?P.*)" + - regexp: "local-as (?P.*)" from: "{{ bookmarks['protocol'][protocol_key] }}" default: "{{ extra_vars.process_id|default(1) }}" router-id: _process: - - mode: search - regexp: "router-id (?P.*)" + - regexp: "router-id (?P.*)" from: "{{ bookmarks['protocol'][protocol_key] }}" default-route-distance: _process: not_implemented @@ -355,8 +353,7 @@ neighbors: _process: unnecessary neighbor: _process: - - mode: block - regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" + - regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" from: "{{ bookmarks['protocol'][protocol_key] }}" flat: true add-paths: @@ -625,8 +622,7 @@ neighbors: _process: not_implemented description: _process: - - mode: search - regexp: "neighbor {{ neighbor_key }} description (?P.*)" + - regexp: "neighbor {{ neighbor_key }} description (?P.*)" from: "{{ bookmarks['neighbor'][neighbor_key] }}" enabled: _process: @@ -635,8 +631,7 @@ neighbors: from: "{{ bookmarks['neighbor'][neighbor_key] }}" local-as: _process: - - mode: search - regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" + - regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" from: "{{ bookmarks['neighbor'][neighbor_key] }}" neighbor-address: _process: @@ -645,8 +640,7 @@ neighbors: from: "{{ bookmarks['neighbor'][neighbor_key] }}" peer-as: _process: - - mode: search - regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" + - regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" from: "{{ bookmarks['neighbor'][neighbor_key] }}" peer-group: _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 68dd311d..8cabb5a3 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -4,13 +4,11 @@ _process: when: "{{ protocol_key != 'static static' }}" static: _process: - - mode: block - regexp: "(?Pip route (?P\\d+.*\\/\\d+).*)" + - regexp: "(?Pip route (?P\\d+.*\\/\\d+).*)" from: "{{ bookmarks['network-instances'][0] }}" when: "{{ network_instance_key == 'global' }}" flat: true - - mode: block - regexp: "(?Pip route vrf {{ network_instance_key }} (?P\\d+.*\\/\\d+).*)" + - regexp: "(?Pip route vrf {{ network_instance_key }} (?P\\d+.*\\/\\d+).*)" from: "{{ bookmarks['network-instances'][0] }}" when: "{{ network_instance_key != 'global' }}" flat: true @@ -26,8 +24,7 @@ static: _process: unnecessary next-hop: _process: - - mode: block - regexp: "(?Pip route (vrf {{ network_instance_key }} )*{{ static_key }} (?P\\d+.\\d+.\\d+.\\d+) (?P\\d+) tag (?P\\d+))" + - regexp: "(?Pip route (vrf {{ network_instance_key }} )*{{ static_key }} (?P\\d+.\\d+.\\d+.\\d+) (?P\\d+) tag (?P\\d+))" from: "{{ bookmarks['static'][static_key] }}" config: _process: unnecessary diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index e5e7afce..3c74e1b5 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -10,8 +10,7 @@ network-instances: _process: unnecessary network-instance: _process: - - mode: block - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" from: "{{ bookmarks['network-instances'][0] }}" mandatory: - key: "global" @@ -22,8 +21,7 @@ network-instances: _process: unnecessary description: _process: - - mode: search - regexp: "description (?P.*)" + - regexp: "description (?P.*)" from: "{{ bookmarks.parent }}" enabled: _process: @@ -37,8 +35,7 @@ network-instances: _process: unnecessary route-distinguisher: _process: - - mode: search - regexp: "rd (?P.*)" + - regexp: "rd (?P.*)" from: "{{ bookmarks.parent }}" router-id: _process: not_implemented @@ -321,18 +318,15 @@ network-instances: _process: unnecessary protocol: _process: - - mode: block - regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" + - regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" from: "{{ bookmarks['network-instances'][0] }}" composite_key: [protocol_name, protocol_name] when: "{{ network_instance_key == 'global' }}" - - mode: block - regexp: "router (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?^ (?Pvrf {{ network_instance_key }}\n(?:.|\n)*?)^(!| vrf.*)$" + - regexp: "router (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?^ (?Pvrf {{ network_instance_key }}\n(?:.|\n)*?)^(!| vrf.*)$" from: "{{ bookmarks['network-instances'][0] }}" composite_key: [protocol_name, protocol_name] when: "{{ network_instance_key != 'global' }}" - - mode: block - regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" + - regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" from: "{{ bookmarks['network-instances'][0] }}" key: "static static" bgp: !include includes/bgp.yaml diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml index eef423e1..9ba682df 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml @@ -9,6 +9,5 @@ vlan: _process: unnecessary vlan-id: _process: - - mode: search - regexp: "^\\W*encapsulation dot1q vlan (?P[0-9]+)" + - regexp: "^\\W*encapsulation dot1q vlan (?P[0-9]+)" from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml index 4350bc79..25bc1952 100644 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -10,8 +10,7 @@ interfaces: _process: unnecessary interface: _process: - - mode: dict - from: "{{ bookmarks.interfaces.0.interfaces|json }}" + - from: "{{ bookmarks.interfaces.0.interfaces|json }}" config: _process: unnecessary hold-time: diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml index 602d247b..6fdbae8d 100644 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml @@ -16,8 +16,7 @@ transceiver: _process: unnecessary channel: _process: - - mode: dict - from: "{{ bookmarks.parent.get('transceiver', {}).get('physical-channels', {}).get('channel', {})|json }}" + - from: "{{ bookmarks.parent.get('transceiver', {}).get('physical-channels', {}).get('channel', {})|json }}" config: _process: not_implemented description: diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml index 7066f9b6..488496a0 100644 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml @@ -8,8 +8,7 @@ components: _process: unnecessary component: _process: - - mode: dict - from: "{{ bookmarks.components.0.components.component|json }}" + - from: "{{ bookmarks.components.0.components.component|json }}" config: _process: not_implemented name: @@ -20,8 +19,7 @@ components: _process: unnecessary property: _process: - - mode: dict - from: "{{ bookmarks.parent.get('properties', {}).get('property', {})|json }}" + - from: "{{ bookmarks.parent.get('properties', {}).get('property', {})|json }}" config: _process: not_implemented name: @@ -100,8 +98,7 @@ components: _process: unnecessary subcomponent: _process: - - mode: dict - from: "{{ bookmarks.parent.get('subcomponents', {}).get('subcomponent', {})|json }}" + - from: "{{ bookmarks.parent.get('subcomponents', {}).get('subcomponent', {})|json }}" config: _process: not_implemented name: diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml index f40016f8..10bda473 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml @@ -17,8 +17,7 @@ ipv4: _process: unnecessary address: _process: - - mode: block - regexp: "(?Pip address (?P(?P.*)) (?P([0-255]|\\.)*)(?P secondary)*)$" + - regexp: "(?Pip address (?P(?P.*)) (?P([0-255]|\\.)*)(?P secondary)*)$" from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index f01a2ef5..a603a8ed 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -9,8 +9,7 @@ interfaces: _process: unnecessary interface: _process: - - mode: block - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" + - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" from: "{{ bookmarks.interfaces.0 }}" name: _process: unnecessary @@ -46,20 +45,17 @@ interfaces: from: "{{ bookmarks.interface[interface_key] }}" description: _process: - - mode: search - regexp: "description (?P.*)" + - regexp: "description (?P.*)" from: "{{ bookmarks.interface[interface_key] }}" mtu: _process: - - mode: search - regexp: "mtu (?P[0-9]+)" + - regexp: "mtu (?P[0-9]+)" from: "{{ bookmarks.interface[interface_key] }}" subinterfaces: _process: unnecessary subinterface: _process: - - mode: block - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" + - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" from: "{{ bookmarks.interfaces.0 }}" index: _process: unnecessary @@ -78,6 +74,5 @@ interfaces: from: "{{ bookmarks.subinterface[subinterface_key] }}" description: _process: - - mode: search - regexp: "description (?P.*)" + - regexp: "description (?P.*)" from: "{{ bookmarks.subinterface[subinterface_key] }}" diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml index 270e5a56..1f49ea7c 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml @@ -9,6 +9,5 @@ vlan: _process: unnecessary vlan-id: _process: - - mode: search - regexp: "^\\W*encapsulation dot1q (?P[0-9]+)" + - regexp: "^\\W*encapsulation dot1q (?P[0-9]+)" from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml index a48ab1b5..7c462e63 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -17,8 +17,7 @@ ipv4: _process: unnecessary address: _process: - - mode: xpath - xpath: "family/inet/address" + - xpath: "family/inet/address" key: name from: "{{ bookmarks['parent'] }}" ip: @@ -27,14 +26,12 @@ ipv4: _process: unnecessary ip: _process: - - mode: xpath - xpath: "name" + - xpath: "name" regexp: "(?P.*)/\\d+" from: "{{ bookmarks['parent'] }}" prefix-length: _process: - - mode: xpath - xpath: "name" + - xpath: "name" regexp: ".*/(?P\\d+)" from: "{{ bookmarks['parent'] }}" vrrp: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index 81b988c0..5e5548b1 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -10,8 +10,7 @@ interfaces: _process: unnecessary interface: _process: - - mode: xpath - xpath: "interfaces/interface" + - xpath: "interfaces/interface" key: name from: "{{ bookmarks.interfaces.0 }}" name: @@ -55,20 +54,17 @@ interfaces: from: "{{ bookmarks['parent'] }}" description: _process: - - mode: xpath - xpath: description + - xpath: description from: "{{ bookmarks['parent'] }}" mtu: _process: - - mode: xpath - xpath: mtu + - xpath: mtu from: "{{ bookmarks['parent'] }}" subinterfaces: _process: unnecessary subinterface: _process: - - mode: xpath - xpath: "unit" + - xpath: "unit" key: name from: "{{ bookmarks['parent'] }}" index: @@ -88,6 +84,5 @@ interfaces: from: "{{ bookmarks['parent'] }}" description: _process: - - mode: xpath - xpath: description + - xpath: description from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml index 37d65f08..776ee6a2 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -258,13 +258,11 @@ global: _process: unnecessary as: _process: - - mode: xpath - xpath: "routing-options/autonomous-system/as-number" + - xpath: "routing-options/autonomous-system/as-number" from: "{{ bookmarks['network_instance'][network_instance_key] }}" router-id: _process: - - mode: xpath - xpath: "routing-options/router-id" + - xpath: "routing-options/router-id" from: "{{ bookmarks['network_instance'][network_instance_key] }}" default-route-distance: _process: not_implemented @@ -624,24 +622,21 @@ neighbors: _process: not_implemented description: _process: - - mode: xpath - xpath: "description" + - xpath: "description" from: "{{ bookmarks.parent }}" enabled: _process: not_implemented local-as: _process: - - mode: xpath - xpath: "local-as.as-number" + - xpath: "local-as.as-number" from: "{{ bookmarks.parent }}" neighbor-address: _process: - - mode: value - value: "{{ neighbor_key }}" + - mode: value + value: "{{ neighbor_key }}" peer-as: _process: - - mode: xpath - xpath: "peer-as" + - xpath: "peer-as" from: "{{ bookmarks.parent }}" peer-group: _process: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index dbaaa7f3..18f9dc87 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -30,8 +30,7 @@ static: _process: not_implemented metric: _process: - - mode: xpath - xpath: "metric" + - xpath: "metric" from: "{{ bookmarks.parent }}" next-hop: _process: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml index d9a11746..a012343f 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -23,8 +23,7 @@ network-instances: _process: unnecessary description: _process: - - mode: xpath - xpath: description + - xpath: description from: "{{ bookmarks.parent }}" enabled: _process: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml index ae5eff7a..ed1a06e8 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml @@ -8,6 +8,5 @@ vlan: _process: unnecessary vlan-id: _process: - - mode: xpath - xpath: "vlan-id" + - xpath: "vlan-id" from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index aae32e17..01cb2ab8 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -10,8 +10,7 @@ interfaces: _process: unnecessary interface: _process: - - mode: xpath - xpath: "physical-interface" + - xpath: "physical-interface" key: name from: "{{ bookmarks.interfaces.0 }}" config: @@ -38,8 +37,7 @@ interfaces: down: DOWN description: _process: - - mode: xpath - xpath: "description" + - xpath: "description" from: "{{ bookmarks['parent'] }}" enabled: _process: @@ -51,19 +49,16 @@ interfaces: down: false ifindex: _process: - - mode: xpath - xpath: "snmp-index" + - xpath: "snmp-index" from: "{{ bookmarks['parent'] }}" last-change: _process: - - mode: xpath - xpath: "interface-flapped" + - xpath: "interface-flapped" attribute: "seconds" from: "{{ bookmarks['parent'] }}" mtu: _process: - - mode: xpath - xpath: "mtu" + - xpath: "mtu" regexp: "(?P\\d+)" # Someone thought mixing strings and ints was a good idea from: "{{ bookmarks['parent'] }}" name: @@ -101,30 +96,25 @@ interfaces: _process: unnecessary in-broadcast-pkts: _process: - - mode: xpath - xpath: "ethernet-mac-statistics/input-broadcasts" + - xpath: "ethernet-mac-statistics/input-broadcasts" from: "{{ bookmarks['parent'] }}" in-discards: _process: - - mode: xpath - xpath: "input-error-list/input-discards" + - xpath: "input-error-list/input-discards" from: "{{ bookmarks['parent'] }}" in-errors: _process: - - mode: xpath - xpath: "input-error-list/input-errors" + - xpath: "input-error-list/input-errors" from: "{{ bookmarks['parent'] }}" in-multicast-pkts: _process: - - mode: xpath - xpath: "ethernet-mac-statistics/input-multicasts" + - xpath: "ethernet-mac-statistics/input-multicasts" from: "{{ bookmarks['parent'] }}" in-octets: _process: not_implemented in-unicast-pkts: _process: - - mode: xpath - xpath: "ethernet-mac-statistics/input-unicasts" + - xpath: "ethernet-mac-statistics/input-unicasts" from: "{{ bookmarks['parent'] }}" in-unknown-protos: _process: not_implemented @@ -132,34 +122,29 @@ interfaces: _process: not_implemented out-broadcast-pkts: _process: - - mode: xpath - xpath: "ethernet-mac-statistics/output-broadcasts" + - xpath: "ethernet-mac-statistics/output-broadcasts" from: "{{ bookmarks['parent'] }}" out-discards: _process: not_implemented out-errors: _process: - - mode: xpath - xpath: "output-error-list/output-errors" + - xpath: "output-error-list/output-errors" from: "{{ bookmarks['parent'] }}" out-multicast-pkts: _process: - - mode: xpath - xpath: "ethernet-mac-statistics/output-multicasts" + - xpath: "ethernet-mac-statistics/output-multicasts" from: "{{ bookmarks['parent'] }}" out-octets: _process: not_implemented out-unicast-pkts: _process: - - mode: xpath - xpath: "ethernet-mac-statistics/output-unicasts" + - xpath: "ethernet-mac-statistics/output-unicasts" from: "{{ bookmarks['parent'] }}" subinterfaces: _process: unnecessary subinterface: _process: - - mode: xpath - xpath: "logical-interface" + - xpath: "logical-interface" key: name from: "{{ bookmarks['parent'] }}" index: @@ -172,8 +157,7 @@ interfaces: _process: not_implemented description: _process: - - mode: xpath - xpath: "description" + - xpath: "description" from: "{{ bookmarks['parent'] }}" enabled: _process: not_implemented @@ -181,8 +165,7 @@ interfaces: _process: not_implemented ifindex: _process: - - mode: xpath - xpath: "snmp-index" + - xpath: "snmp-index" from: "{{ bookmarks['parent'] }}" last-change: _process: not_implemented diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 33e5a647..dc9d8440 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -10,14 +10,14 @@ def init_native(cls, native): @classmethod def parse_list(cls, mapping): for m in mapping: - method_name = "_parse_list_{}".format(m["mode"]) + method_name = "_parse_list_{}".format(m.get("mode", "default")) for key, block, extra_vars in getattr(cls, method_name)(m): yield key, block, extra_vars @classmethod def parse_leaf(cls, mapping): for m in mapping: - method_name = "_parse_leaf_{}".format(m["mode"]) + method_name = "_parse_leaf_{}".format(m.get("mode", "default")) result = getattr(cls, method_name)(m) if result is not None: return result @@ -25,7 +25,7 @@ def parse_leaf(cls, mapping): @classmethod def parse_container(cls, mapping): for m in mapping: - method_name = "_parse_container_{}".format(m["mode"]) + method_name = "_parse_container_{}".format(m.get("mode", "default")) result, extra_vars = getattr(cls, method_name)(m) if result or extra_vars: break diff --git a/napalm_yang/parsers/json.py b/napalm_yang/parsers/json.py index ede3aa82..f37eee38 100644 --- a/napalm_yang/parsers/json.py +++ b/napalm_yang/parsers/json.py @@ -21,14 +21,14 @@ def init_native(cls, native): return super().init_native(resp) @classmethod - def _parse_list_dict(cls, mapping, key=None): + def _parse_list_default(cls, mapping, key=None): d = json.loads(mapping['from']) if isinstance(d, dict): for k, v in d.items(): yield k, v, {} @classmethod - def _parse_leaf_dict(cls, mapping, check_default=True, check_presence=False): + def _parse_leaf_default(cls, mapping, check_default=True, check_presence=False): d = mapping['from'] if d and not check_presence: regexp = mapping.get('regexp', None) diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 6808d64b..7b522270 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -8,7 +8,7 @@ class TextParser(BaseParser): @classmethod - def _parse_list_block(cls, mapping): + def _parse_list_default(cls, mapping): block_matches = re.finditer(mapping["regexp"], mapping["from"], re.MULTILINE + re.I) mandatory_elements = mapping.pop("mandatory", []) @@ -39,7 +39,7 @@ def _parse_list_block(cls, mapping): yield key, block, extra_vars @classmethod - def _parse_leaf_search(cls, mapping, check_default=True): + def _parse_leaf_default(cls, mapping, check_default=True): match = re.search(mapping["regexp"], mapping["from"], re.MULTILINE + re.I) if match: @@ -51,15 +51,15 @@ def _parse_leaf_search(cls, mapping, check_default=True): @classmethod def _parse_leaf_is_present(cls, mapping): - value = cls._parse_leaf_search(mapping, check_default=False) + value = cls._parse_leaf_default(mapping, check_default=False) return bool(value) @classmethod def _parse_leaf_is_absent(cls, mapping): - value = cls._parse_leaf_search(mapping, check_default=False) + value = cls._parse_leaf_default(mapping, check_default=False) return not bool(value) @classmethod def _parse_leaf_map(cls, mapping): - value = cls._parse_leaf_search(mapping) + value = cls._parse_leaf_default(mapping) return mapping["map"][value] diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index adf80d6c..8356d704 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -10,7 +10,7 @@ class XMLParser(BaseParser): @classmethod - def _parse_list_xpath(cls, mapping): + def _parse_list_default(cls, mapping): xml = etree.fromstring(mapping["from"]) mandatory_elements = mapping.pop("mandatory", []) @@ -132,7 +132,7 @@ def _parse_list_container(cls, mapping): return cls._parse_list_container_helper(mapping, [root], root) @classmethod - def _parse_leaf_xpath(cls, mapping, check_default=True, check_presence=False): + def _parse_leaf_default(cls, mapping, check_default=True, check_presence=False): xml = etree.fromstring(mapping["from"]) element = xml.xpath(mapping["xpath"]) @@ -158,7 +158,7 @@ def _parse_leaf_xpath(cls, mapping, check_default=True, check_presence=False): @classmethod def _parse_leaf_map(cls, mapping): - value = cls._parse_leaf_xpath(mapping) + value = cls._parse_leaf_default(mapping) if "regex" in mapping.keys(): value = re.search(mapping["regexp"], value).group("value") @@ -167,8 +167,8 @@ def _parse_leaf_map(cls, mapping): @classmethod def _parse_leaf_is_present(cls, mapping): - return cls._parse_leaf_xpath(mapping, check_default=False, check_presence=True) + return cls._parse_leaf_default(mapping, check_default=False, check_presence=True) @classmethod def _parse_leaf_is_absent(cls, mapping): - return not cls._parse_leaf_xpath(mapping, check_default=False, check_presence=True) + return not cls._parse_leaf_default(mapping, check_default=False, check_presence=True) From 0de89fbd0c2587fbabcc33926536a10cfa9cc664 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Mon, 19 Jun 2017 08:22:31 +0200 Subject: [PATCH 083/153] forgot to pass extra_vars to resolve_rule in _translate_leaf --- napalm_yang/translator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 0bfba3b7..8ad029db 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -54,7 +54,7 @@ def _translate(self, attribute, model, mapping, translation, other): self._translate_leaf(attribute, model, mapping, translation, other) def _translate_leaf(self, attribute, model, mapping, translation, other): - rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, None, model, + rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, self.extra_vars, model, self.bookmarks) self.translator.translate_leaf(attribute, model, other, rule, translation, self.bookmarks) From cc50c2549fc2a242e16cf8a879f836930d91ee8b Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 19 Jun 2017 08:34:48 +0200 Subject: [PATCH 084/153] XMLParser now avoid serializing/deserializing the object all the time --- .../translators/openconfig-if-ip/ipv4.yaml | 6 +- .../openconfig-interfaces/interfaces.yaml | 21 ++---- .../includes/bgp.yaml | 15 ++-- .../includes/static_routes.yaml | 12 ++-- .../network-instances.yaml | 15 ++-- .../eos/translators/openconfig-vlan/vlan.yaml | 3 +- .../translators/openconfig-if-ip/ipv4.yaml | 6 +- .../openconfig-interfaces/interfaces.yaml | 21 ++---- .../ios/translators/openconfig-vlan/vlan.yaml | 3 +- .../parsers/config/openconfig-if-ip/ipv4.yaml | 4 -- .../openconfig-interfaces/interfaces.yaml | 12 +--- .../includes/bgp.yaml | 8 +-- .../includes/static_routes.yaml | 3 - .../network-instances.yaml | 8 +-- .../parsers/config/openconfig-vlan/vlan.yaml | 1 - .../openconfig-interfaces/interfaces.yaml | 22 +----- .../translators/openconfig-if-ip/ipv4.yaml | 9 +-- .../openconfig-interfaces/interfaces.yaml | 24 +++---- .../includes/bgp.yaml | 21 ++---- .../includes/static_routes.yaml | 9 +-- .../network-instances.yaml | 15 ++-- .../translators/openconfig-vlan/vlan.yaml | 6 +- napalm_yang/parser.py | 7 +- napalm_yang/parsers/base.py | 72 +++++++++++-------- napalm_yang/parsers/xml.py | 61 ++++++++-------- napalm_yang/translators/base.py | 28 ++++---- napalm_yang/translators/text.py | 15 ++-- napalm_yang/translators/xml.py | 10 +-- test/integration/test_profiles.py | 6 +- 29 files changed, 176 insertions(+), 267 deletions(-) diff --git a/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml index e75e5d6e..88a4ba8c 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-if-ip/ipv4.yaml @@ -8,8 +8,7 @@ ipv4: _process: unnecessary enabled: _process: - - mode: element - value: " no switchport\n" + - value: " no switchport\n" negate: " switchport\n" in: "interface.{{ interface_key }}" when: "{{ model and interface_key[0:4] not in ['Mana', 'Loop'] }}" @@ -19,8 +18,7 @@ ipv4: _process: unnecessary address: _process: - - mode: container - key_value: " ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" + - key_value: " ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" negate: " default ip address {{ model.config.ip }}/{{ model.config.prefix_length }} {{ 'secondary' if model.config.secondary else '' }}\n" replace: false ip: diff --git a/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml index 836bf3d7..de0fe626 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-interfaces/interfaces.yaml @@ -7,8 +7,7 @@ interfaces: _process: unnecessary interface: _process: - - mode: container - key_value: "interface {{ interface_key }}\n" + - key_value: "interface {{ interface_key }}\n" negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" end: " exit\n" name: @@ -29,25 +28,21 @@ interfaces: _process: unnecessary enabled: _process: - - mode: element - value: " shutdown\n" + - value: " shutdown\n" when: "{{ not model }}" description: _process: - - mode: element - value: " description {{ model }}\n" + - value: " description {{ model }}\n" negate: " default description" mtu: _process: - - mode: element - value: " mtu {{ model }}\n" + - value: " mtu {{ model }}\n" negate: " default mtu\n" subinterfaces: _process: unnecessary subinterface: _process: - - mode: container - key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" + - key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" in: "interfaces" end: " exit\n" @@ -61,11 +56,9 @@ interfaces: _process: unnecessary enabled: _process: - - mode: element - value: " shutdown\n" + - value: " shutdown\n" when: "{{ not model }}" description: _process: - - mode: element - value: " description {{ model }}\n" + - value: " description {{ model }}\n" negate: " default description" diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml index 8ddd1bf0..f53ade93 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/bgp.yaml @@ -260,8 +260,7 @@ global: _process: unnecessary router-id: _process: - - mode: element - value: " router-id {{ model }}\n" + - value: " router-id {{ model }}\n" negate: " default router-id\n" default-route-distance: _process: not_implemented @@ -351,8 +350,7 @@ neighbors: _process: unnecessary neighbor: _process: - - mode: container - key_value: " neighbor {{ neighbor_key }} remote-as {{ model.config.peer_as }}\n" + - key_value: " neighbor {{ neighbor_key }} remote-as {{ model.config.peer_as }}\n" negate: " no neighbor {{ neighbor_key }}\n" add-paths: _process: not_implemented @@ -620,19 +618,16 @@ neighbors: _process: not_implemented description: _process: - - mode: element - value: " neighbor {{ neighbor_key }} description {{ model }}\n" + - value: " neighbor {{ neighbor_key }} description {{ model }}\n" negate: " default neighbor {{ neighbor_key }} description\n" enabled: _process: - - mode: element - value: " neighbor {{ neighbor_key }} shutdown\n" + - value: " neighbor {{ neighbor_key }} shutdown\n" negate: " default neighbor {{ neighbor_key }}\n" when: "{{ not model }}" local-as: _process: - - mode: element - value: " neighbor {{ neighbor_key }} local-as {{ model }} no-prepend replace-as\n" + - value: " neighbor {{ neighbor_key }} local-as {{ model }} no-prepend replace-as\n" negate: " default neighbor {{ neighbor_key }} local-as\n" neighbor-address: _process: unnecessary diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml index c92de95a..e0ff034b 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml @@ -14,13 +14,11 @@ static: _process: unnecessary next-hop: _process: - - mode: container - key_value: "ip route {{ static_key }} {{ next_hop_key }}\n" + - key_value: "ip route {{ static_key }} {{ next_hop_key }}\n" negate: "no ip route {{ static_key }} {{ next_hop_key }}\n" when: "{{ network_instance_key == 'global' }}" in: "network-instances" - - mode: container - key_value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }}\n" + - key_value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }}\n" negate: "no ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }}\n" when: "{{ network_instance_key != 'global' }}" in: "network-instances" @@ -30,12 +28,10 @@ static: _process: not_implemented metric: _process: - - mode: element - value: "ip route {{ static_key }} {{ next_hop_key }} {{ model }}\n" + - value: "ip route {{ static_key }} {{ next_hop_key }} {{ model }}\n" negate: "ip route {{ static_key }} {{ next_hop_key }} 1\n" when: "{{ network_instance_key == 'global' }}" - - mode: element - value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }} {{ model }}\n" + - value: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }} {{ model }}\n" negate: "ip route vrf {{ network_instance_key }} {{ static_key }} {{ next_hop_key }} 1\n" when: "{{ network_instance_key != 'global' }}" next-hop: diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml index 307bbc0c..980c1e63 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/network-instances.yaml @@ -7,8 +7,7 @@ network-instances: _process: unnecessary network-instance: _process: - - mode: container - key_value: "vrf definition {{ network_instance_key }}\n" + - key_value: "vrf definition {{ network_instance_key }}\n" negate: "no vrf definition {{ network_instance_key }}\n" continue_negating: true end: " exit\n" @@ -18,8 +17,7 @@ network-instances: _process: unnecessary description: _process: - - mode: element - value: " description {{ model }}\n" + - value: " description {{ model }}\n" negate: " default description\n" enabled: _process: unnecessary @@ -31,8 +29,7 @@ network-instances: _process: unnecessary route-distinguisher: _process: - - mode: element - value: " rd {{ model }}\n" + - value: " rd {{ model }}\n" negate: " default rd\n" router-id: _process: not_implemented @@ -262,14 +259,12 @@ network-instances: _process: unnecessary protocol: _process: - - mode: container - key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n" + - key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n" negate: "no router bgp {{ model.bgp.global_.config.as_ }}\n" end: " exit\n" when: "{{ protocol_key == 'bgp bgp' and network_instance_key == 'global' }}" in: "network-instances" - - mode: container - key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n vrf {{ network_instance_key}}\n" + - key_value: "router bgp {{ model.bgp.global_.config.as_ }}\n vrf {{ network_instance_key}}\n" negate: "router bgp {{ model.bgp.global_.config.as_ }}\n no vrf {{ network_instance_key}}\n" end: " exit\n" when: "{{ protocol_key == 'bgp bgp' and network_instance_key != 'global' }}" diff --git a/napalm_yang/mappings/eos/translators/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/eos/translators/openconfig-vlan/vlan.yaml index 0c9ece30..8e6032dd 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-vlan/vlan.yaml @@ -8,6 +8,5 @@ vlan: _process: unnecessary vlan-id: _process: - - mode: element - value: " encapsulation dot1q vlan {{ model }}\n" + - value: " encapsulation dot1q vlan {{ model }}\n" negate: " default encapsulation dot1q vlan {{ model }}\n" diff --git a/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml index fa61f3af..516be4bf 100644 --- a/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/translators/openconfig-if-ip/ipv4.yaml @@ -8,8 +8,7 @@ ipv4: _process: unnecessary enabled: _process: # TODO look at this one, I think this is different depending on IOS version - - mode: element - value: " no switchport\n" + - value: " no switchport\n" negate: " switchport\n" in: "interface.{{ interface_key }}" when: "{{ model and interface_key[0:4] not in ['Mana', 'Loop'] }}" @@ -19,8 +18,7 @@ ipv4: _process: unnecessary address: _process: - - mode: container - key_value: " ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" + - key_value: " ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" negate: " default ip address {{ model.config.ip }} {{ model.config.prefix_length|cidr_to_netmask }}{{ ' secondary' if model.config.secondary else '' }}\n" replace: false ip: diff --git a/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml index 68db90eb..5355473a 100644 --- a/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/translators/openconfig-interfaces/interfaces.yaml @@ -7,8 +7,7 @@ interfaces: _process: unnecessary interface: _process: - - mode: container - key_value: "interface {{ interface_key }}\n" + - key_value: "interface {{ interface_key }}\n" negate: "{{ 'no' if interface_key[0:4] in ['Port', 'Loop'] else 'default' }} interface {{ interface_key }}\n" end: " exit\n" name: @@ -29,18 +28,15 @@ interfaces: _process: unnecessary enabled: _process: - - mode: element - value: " shutdown\n" + - value: " shutdown\n" when: "{{ not model }}" description: _process: - - mode: element - value: " description {{ model }}\n" + - value: " description {{ model }}\n" negate: " default description\n" mtu: _process: - - mode: element - value: " mtu {{ model }}\n" + - value: " mtu {{ model }}\n" negate: " default mtu\n" # IOS will complain with % Interface Loopback1 does not support user settable mtu. when: "{{ model and interface_key[0:4] not in ['Mana', 'Loop'] }}" @@ -48,8 +44,7 @@ interfaces: _process: unnecessary subinterface: _process: - - mode: container - key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" + - key_value: "interface {{ interface_key}}.{{ subinterface_key }}\n" negate: "no interface {{ interface_key}}.{{ subinterface_key }}\n" in: "interfaces" end: " exit\n" @@ -63,11 +58,9 @@ interfaces: _process: unnecessary enabled: _process: - - mode: element - value: " shutdown\n" + - value: " shutdown\n" when: "{{ not model }}" description: _process: - - mode: element - value: " description {{ model }}\n" + - value: " description {{ model }}\n" negate: " default description" diff --git a/napalm_yang/mappings/ios/translators/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/ios/translators/openconfig-vlan/vlan.yaml index d4f22c68..c0b35e2e 100644 --- a/napalm_yang/mappings/ios/translators/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/ios/translators/openconfig-vlan/vlan.yaml @@ -8,6 +8,5 @@ vlan: _process: unnecessary vlan-id: _process: - - mode: element - value: " encapsulation dot1q {{ model }}\n" + - value: " encapsulation dot1q {{ model }}\n" negate: " no encapsulation dot1q\n" diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml index 7c462e63..81e39979 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -10,7 +10,6 @@ ipv4: _process: - mode: is_present xpath: "family/inet" - from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented addresses: @@ -19,7 +18,6 @@ ipv4: _process: - xpath: "family/inet/address" key: name - from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary config: @@ -28,12 +26,10 @@ ipv4: _process: - xpath: "name" regexp: "(?P.*)/\\d+" - from: "{{ bookmarks['parent'] }}" prefix-length: _process: - xpath: "name" regexp: ".*/(?P\\d+)" - from: "{{ bookmarks['parent'] }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index 5e5548b1..adb0c49a 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -12,7 +12,7 @@ interfaces: _process: - xpath: "interfaces/interface" key: name - from: "{{ bookmarks.interfaces.0 }}" + from: interfaces.0 name: _process: unnecessary hold-time: @@ -34,10 +34,6 @@ interfaces: - mode: map xpath: name regexp: "(?P[a-z]+).*" - # Next field could easily be - # from: "{{ bookmarks['parent'] }}" - # but this is more efficient - from: "{{ parent_key }}" map: ge: ethernetCsmacd xe: ethernetCsmacd @@ -51,22 +47,18 @@ interfaces: _process: - mode: is_absent xpath: "disable" - from: "{{ bookmarks['parent'] }}" description: _process: - xpath: description - from: "{{ bookmarks['parent'] }}" mtu: _process: - xpath: mtu - from: "{{ bookmarks['parent'] }}" subinterfaces: _process: unnecessary subinterface: _process: - xpath: "unit" key: name - from: "{{ bookmarks['parent'] }}" index: _process: unnecessary config: @@ -81,8 +73,6 @@ interfaces: _process: - mode: is_absent xpath: "disable" - from: "{{ bookmarks['parent'] }}" description: _process: - xpath: description - from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml index 776ee6a2..42e6d1c1 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -259,11 +259,11 @@ global: as: _process: - xpath: "routing-options/autonomous-system/as-number" - from: "{{ bookmarks['network_instance'][network_instance_key] }}" + from: "network_instance.{{ network_instance_key }}" router-id: _process: - xpath: "routing-options/router-id" - from: "{{ bookmarks['network_instance'][network_instance_key] }}" + from: "network_instance.{{ network_instance_key }}" default-route-distance: _process: not_implemented config: @@ -355,7 +355,6 @@ neighbors: - mode: nested xpath: "group/?peer_group.name/neighbor" key_attribute: name - from: "{{ bookmarks.parent }}" add-paths: _process: not_implemented config: @@ -623,13 +622,11 @@ neighbors: description: _process: - xpath: "description" - from: "{{ bookmarks.parent }}" enabled: _process: not_implemented local-as: _process: - xpath: "local-as.as-number" - from: "{{ bookmarks.parent }}" neighbor-address: _process: - mode: value @@ -637,7 +634,6 @@ neighbors: peer-as: _process: - xpath: "peer-as" - from: "{{ bookmarks.parent }}" peer-group: _process: - mode: value diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 18f9dc87..02b5172e 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -7,7 +7,6 @@ static: - mode: container xpath: "route" key_attribute: name - from: "{{ bookmarks.parent }}" config: _process: unnecessary prefix: @@ -23,7 +22,6 @@ static: - mode: container xpath: "qualified-next-hop" key_attribute: name - from: "{{ bookmarks.parent }}" config: _process: unnecessary index: @@ -31,7 +29,6 @@ static: metric: _process: - xpath: "metric" - from: "{{ bookmarks.parent }}" next-hop: _process: - mode: value diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml index a012343f..e0ee8ac6 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -13,10 +13,10 @@ network-instances: - mode: container xpath: "routing-instances/instance" key_attribute: name - from: "{{ bookmarks['network-instances'].0 }}" + from: network-instances.0 mandatory: - key: "global" - block: "{{ bookmarks['network-instances'].0 }}" + block: network-instances.0 extra_vars: {} afts: !include includes/afts.yaml config: @@ -24,7 +24,6 @@ network-instances: description: _process: - xpath: description - from: "{{ bookmarks.parent }}" enabled: _process: - mode: value @@ -46,7 +45,6 @@ network-instances: when: "{{ network_instance_key == 'global' }}" - mode: map xpath: instance-type - from: "{{ bookmarks.parent }}" map: vrf: L3VRF virtual-router: L2L3 @@ -324,12 +322,10 @@ network-instances: _process: - mode: container xpath: "protocols" - from: "{{ bookmarks.parent }}" nested: true composite_key: [protocols_name, protocols_name] - mode: container xpath: "routing-options/static" - from: "{{ bookmarks.parent }}" key: "static static" bgp: !include includes/bgp.yaml config: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml index ed1a06e8..a4e51d99 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml @@ -9,4 +9,3 @@ vlan: vlan-id: _process: - xpath: "vlan-id" - from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index 01cb2ab8..b7fff72b 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -12,7 +12,7 @@ interfaces: _process: - xpath: "physical-interface" key: name - from: "{{ bookmarks.interfaces.0 }}" + from: interfaces.0 config: _process: unnecessary hold-time: @@ -31,43 +31,36 @@ interfaces: _process: - mode: map xpath: "admin-status" - from: "{{ bookmarks['parent'] }}" map: up: UP down: DOWN description: _process: - xpath: "description" - from: "{{ bookmarks['parent'] }}" enabled: _process: - mode: map xpath: "admin-status" - from: "{{ bookmarks['parent'] }}" map: up: true down: false ifindex: _process: - xpath: "snmp-index" - from: "{{ bookmarks['parent'] }}" last-change: _process: - xpath: "interface-flapped" attribute: "seconds" - from: "{{ bookmarks['parent'] }}" mtu: _process: - xpath: "mtu" regexp: "(?P\\d+)" # Someone thought mixing strings and ints was a good idea - from: "{{ bookmarks['parent'] }}" name: _process: unnecessary oper-status: _process: - mode: map xpath: "oper-status" - from: "{{ bookmarks['parent'] }}" map: up: UP down: DOWN @@ -75,7 +68,6 @@ interfaces: _process: - mode: map xpath: "if-type" - from: "{{ bookmarks['parent'] }}" map: GRE: tunnel IPIP: tunnel @@ -97,25 +89,20 @@ interfaces: in-broadcast-pkts: _process: - xpath: "ethernet-mac-statistics/input-broadcasts" - from: "{{ bookmarks['parent'] }}" in-discards: _process: - xpath: "input-error-list/input-discards" - from: "{{ bookmarks['parent'] }}" in-errors: _process: - xpath: "input-error-list/input-errors" - from: "{{ bookmarks['parent'] }}" in-multicast-pkts: _process: - xpath: "ethernet-mac-statistics/input-multicasts" - from: "{{ bookmarks['parent'] }}" in-octets: _process: not_implemented in-unicast-pkts: _process: - xpath: "ethernet-mac-statistics/input-unicasts" - from: "{{ bookmarks['parent'] }}" in-unknown-protos: _process: not_implemented last-clear: @@ -123,30 +110,25 @@ interfaces: out-broadcast-pkts: _process: - xpath: "ethernet-mac-statistics/output-broadcasts" - from: "{{ bookmarks['parent'] }}" out-discards: _process: not_implemented out-errors: _process: - xpath: "output-error-list/output-errors" - from: "{{ bookmarks['parent'] }}" out-multicast-pkts: _process: - xpath: "ethernet-mac-statistics/output-multicasts" - from: "{{ bookmarks['parent'] }}" out-octets: _process: not_implemented out-unicast-pkts: _process: - xpath: "ethernet-mac-statistics/output-unicasts" - from: "{{ bookmarks['parent'] }}" subinterfaces: _process: unnecessary subinterface: _process: - xpath: "logical-interface" key: name - from: "{{ bookmarks['parent'] }}" index: _process: unnecessary config: @@ -158,7 +140,6 @@ interfaces: description: _process: - xpath: "description" - from: "{{ bookmarks['parent'] }}" enabled: _process: not_implemented admin-status: @@ -166,7 +147,6 @@ interfaces: ifindex: _process: - xpath: "snmp-index" - from: "{{ bookmarks['parent'] }}" last-change: _process: not_implemented name: diff --git a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml index 2c2ee9af..b827d669 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-if-ip/ipv4.yaml @@ -4,8 +4,7 @@ metadata: ipv4: _process: - - mode: container - container: "family/inet" + - container: "family/inet" when: "{{ model.config.enabled or model.addresses.address|length }}" config: _process: unnecessary @@ -17,8 +16,7 @@ ipv4: _process: unnecessary address: _process: - - mode: container - container: address + - container: address ip: _process: unnecessary config: @@ -27,8 +25,7 @@ ipv4: _process: unnecessary prefix-length: _process: - - mode: element - element: name + - element: name value: "{{ model._parent.ip }}/{{ model }}" when: "{{ model }}" vrrp: diff --git a/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml index 6987a56a..862bf36b 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-interfaces/interfaces.yaml @@ -5,13 +5,11 @@ metadata: interfaces: _process: - - mode: container - container: interfaces + - container: interfaces replace: true interface: _process: - - mode: container - container: interface + - container: interface key_element: name key_value: "{{ interface_key }}" name: @@ -32,24 +30,20 @@ interfaces: _process: unnecessary enabled: _process: - - mode: element - element: "disable" + - element: "disable" when: "{{ not model }}" value: null description: _process: - - mode: element - element: description + - element: description mtu: _process: - - mode: element - element: mtu + - element: mtu subinterfaces: _process: unnecessary subinterface: _process: - - mode: container - container: unit + - container: unit key_element: name key_value: "{{ subinterface_key }}" index: @@ -62,11 +56,9 @@ interfaces: _process: unnecessary enabled: _process: - - mode: element - element: "disable" + - element: "disable" when: "{{ not model }}" value: null description: _process: - - mode: element - element: description + - element: description diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml index 3e71d714..fb25321f 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/bgp.yaml @@ -258,13 +258,11 @@ global: _process: unnecessary as: _process: - - mode: element - element: "routing-options/autonomous-system/as-number" + - element: "routing-options/autonomous-system/as-number" in: "network_instance.{{ network_instance_key }}" router-id: _process: - - mode: element - element: "routing-options/router-id" + - element: "routing-options/router-id" in: "network_instance.{{ network_instance_key }}" default-route-distance: _process: not_implemented @@ -354,13 +352,11 @@ neighbors: _process: unnecessary neighbor: _process: - - mode: container - container: "group" + - container: "group" delete_on_merge: false key_element: name key_value: "{{ model.config.peer_group }}" - - mode: container - container: "neighbor" + - container: "neighbor" key_element: name key_value: "{{ neighbor_key }}" add-paths: @@ -629,20 +625,17 @@ neighbors: _process: not_implemented description: _process: - - mode: element - element: description + - element: description enabled: _process: not_implemented local-as: _process: - - mode: element - element: "local-as/as-number" + - element: "local-as/as-number" neighbor-address: _process: unnecessary peer-as: _process: - - mode: element - element: "peer-as" + - element: "peer-as" peer-group: _process: unnecessary peer-type: diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml index 549be135..9e52db43 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/includes/static_routes.yaml @@ -4,8 +4,7 @@ _process: when: "{{ protocol_key != 'static static' }}" static: _process: - - mode: container - container: "route" + - container: "route" key_element: name key_value: "{{ static_key }}" config: @@ -18,8 +17,7 @@ static: _process: unnecessary next-hop: _process: - - mode: container - container: "qualified-next-hop" + - container: "qualified-next-hop" key_element: name key_value: "{{ next_hop_key }}" config: @@ -28,8 +26,7 @@ static: _process: not_implemented metric: _process: - - mode: element - element: metric + - element: metric next-hop: _process: unnecessary recurse: diff --git a/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml index 80562e11..a5d1701d 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-network-instance/network-instances.yaml @@ -7,14 +7,12 @@ network-instances: _process: unnecessary network-instance: _process: - - mode: container - container: "routing-instances" + - container: "routing-instances" replace: true delete_on_merge: false reuse: true when: "{{ network_instance_key != 'global' }}" - - mode: container - container: instance + - container: instance key_element: name key_value: "{{ network_instance_key }}" when: "{{ network_instance_key != 'global' }}" @@ -23,8 +21,7 @@ network-instances: _process: unnecessary description: _process: - - mode: element - element: description + - element: description enabled: _process: unnecessary enabled-address-families: @@ -269,12 +266,10 @@ network-instances: _process: unnecessary protocol: _process: - - mode: container - container: "protocols/{{ model.identifier }}" + - container: "protocols/{{ model.identifier }}" replace: true when: "{{ protocol_key != 'static static' }}" - - mode: container - container: "routing-options/static" + - container: "routing-options/static" when: "{{ protocol_key == 'static static' }}" bgp: !include includes/bgp.yaml config: diff --git a/napalm_yang/mappings/junos/translators/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/junos/translators/openconfig-vlan/vlan.yaml index ba20d4b7..0d728150 100644 --- a/napalm_yang/mappings/junos/translators/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/junos/translators/openconfig-vlan/vlan.yaml @@ -8,11 +8,9 @@ vlan: _process: unnecessary vlan-id: _process: - - mode: element - element: "vlan-tagging" + - element: "vlan-tagging" in: "interface.{{ interface_key }}" when: "{{ model > 0 }}" value: null - - mode: element - element: "vlan-id" + - element: "vlan-id" when: "{{ model > 0 }}" diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index f1c41d40..ec89ef51 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -90,7 +90,7 @@ def _parse_container(self, attribute, model, mapping): self.extra_vars, None, self.bookmarks) if model._yang_type is not None: # None means it's an element of a list - block, extra_vars = self.parser.parse_container(mapping["_process"]) + block, extra_vars = self.parser.parse_container(mapping["_process"], self.bookmarks) if block is None: return @@ -128,7 +128,8 @@ def _parse_list(self, attribute, model, mapping): # for each individual element of the list self.bookmarks[attribute] = {} - for key, block, extra_vars in self.parser.parse_list(mapping_copy["_process"]): + for key, block, extra_vars in self.parser.parse_list(mapping_copy["_process"], + self.bookmarks): logger.debug("Parsing element {}[{}]".format(attribute, key)) try: @@ -167,7 +168,7 @@ def _parse_leaf(self, attribute, model, mapping): if model._is_keyval: return - value = self.parser.parse_leaf(mapping["_process"]) + value = self.parser.parse_leaf(mapping["_process"], self.bookmarks) if value is not None and (value != model.default() or isinstance(value, bool)): setter = getattr(model._parent, "_set_{}".format(attribute)) diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index dc9d8440..b6be32a6 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -3,56 +3,87 @@ class BaseParser(object): + @staticmethod + def resolve_bookmark(bookmarks, path): + b = bookmarks + for p in path.split("."): + try: + b = b[p] + except TypeError: + b = b[int(p)] + bookmark = b + return bookmark + @classmethod def init_native(cls, native): return native @classmethod - def parse_list(cls, mapping): + def parse_list(cls, mapping, bookmarks): for m in mapping: + # parent will change as the tree is processed so we save it + # so we can restore it + parent = bookmarks["parent"] + + mandatory_elements = m.get("mandatory", []) + for me in mandatory_elements: + me["block"] = cls.resolve_bookmark(bookmarks, me["block"]) + + data = cls.resolve_bookmark(bookmarks, m.get("from", "parent")) method_name = "_parse_list_{}".format(m.get("mode", "default")) - for key, block, extra_vars in getattr(cls, method_name)(m): + for key, block, extra_vars in getattr(cls, method_name)(m, data): yield key, block, extra_vars + # we restore the parent + bookmarks["parent"] = parent + @classmethod - def parse_leaf(cls, mapping): + def parse_leaf(cls, mapping, bookmarks): for m in mapping: + data = cls.resolve_bookmark(bookmarks, m.get("from", "parent")) method_name = "_parse_leaf_{}".format(m.get("mode", "default")) - result = getattr(cls, method_name)(m) + result = getattr(cls, method_name)(m, data) if result is not None: return result @classmethod - def parse_container(cls, mapping): + def parse_container(cls, mapping, bookmarks): for m in mapping: + # parent will change as the tree is processed so we save it + # so we can restore it + parent = bookmarks["parent"] + data = cls.resolve_bookmark(bookmarks, m.get("from", "parent")) method_name = "_parse_container_{}".format(m.get("mode", "default")) - result, extra_vars = getattr(cls, method_name)(m) + result, extra_vars = getattr(cls, method_name)(m, data) if result or extra_vars: break + + # we restore the parent + bookmarks["parent"] = parent return result, extra_vars @classmethod - def _parse_leaf_skip(cls, mapping): + def _parse_leaf_skip(cls, mapping, bookmarks): return _parse_leaf_gate = _parse_leaf_skip @classmethod - def _parse_container_skip(cls, mapping): + def _parse_container_skip(cls, mapping, bookmarks): return "", {} @classmethod - def _parse_list_skip(cls, mapping): + def _parse_list_skip(cls, mapping, bookmarks): return {} _parse_list_gate = _parse_list_skip @classmethod - def _parse_leaf_value(cls, mapping): + def _parse_leaf_value(cls, mapping, bookmarks): return mapping["value"] @classmethod - def _parse_container_gate(cls, mapping): + def _parse_container_gate(cls, mapping, bookmarks): """This basically stops parsing the tree by returning None""" return None, {} @@ -63,22 +94,3 @@ def _parse_post_process_filter(cls, post_process_filter, key, extra_vars={}): kwargs["extra_vars"] = extra_vars key = template(post_process_filter, **kwargs) return key - - """ - @classmethod - def _parse_leaf_key(cls, mapping, texts, keys, extra_vars): - leaf_extraction = mapping["_leaf_extraction"] - value = keys[leaf_extraction["value"]] - - if "regexp" in leaf_extraction.keys(): - value = re.search(mapping["_leaf_extraction"]["regexp"], value).group("value") - return value - - @classmethod - def _parse_list_not_implemented(cls, mapping, texts, keys, extra_vars): - return {} - - @classmethod - def _parse_leaf_not_implemented(cls, mapping, texts, keys, extra_vars): - return - """ diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index 8356d704..56cef5e7 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -10,32 +10,39 @@ class XMLParser(BaseParser): @classmethod - def _parse_list_default(cls, mapping): - xml = etree.fromstring(mapping["from"]) + def init_native(cls, native): + r = [] + for n in native: + if hasattr(n, "xpath"): + r.append(n) + else: + r.append(etree.fromstring(n)) + return r + @classmethod + def _parse_list_default(cls, mapping, data): mandatory_elements = mapping.pop("mandatory", []) post_process_filter = mapping.pop("post_process_filter", None) - for element in itertools.chain(xml.xpath(mapping["xpath"]), mandatory_elements): + for element in itertools.chain(data.xpath(mapping["xpath"]), mandatory_elements): if isinstance(element, dict): yield element["key"], element["block"], element["extra_vars"] else: key = element.xpath(mapping["key"])[0].text.strip() if post_process_filter: key = cls._parse_post_process_filter(post_process_filter, key) - yield key, etree.tostring(element), {} + yield key, element, {} @classmethod - def _parse_list_nested(cls, mapping): - xml = etree.fromstring(mapping["from"]) + def _parse_list_nested(cls, mapping, data): path = mapping["xpath"].split("/") iterators = [] list_vars = [] - cls._parse_list_nested_recursive(xml, path, iterators, list_vars) - return cls._parse_list_container_helper(mapping, iterators, xml, list_vars) + cls._parse_list_nested_recursive(data, path, iterators, list_vars) + return cls._parse_list_container_helper(mapping, iterators, data, list_vars) @classmethod - def _parse_list_nested_recursive(cls, xml, path, iterators, list_vars, cur_vars=None): + def _parse_list_nested_recursive(cls, data, path, iterators, list_vars, cur_vars=None): """ This helps parsing shit like: @@ -69,18 +76,18 @@ def _parse_list_nested_recursive(cls, xml, path, iterators, list_vars, cur_vars= p = path[0] path = path[1:] else: - for _ in xml: + for _ in data: list_vars.append(cur_vars) - iterators.append(xml) - return xml + iterators.append(data) + return data if p.startswith("?"): - for x in xml: + for x in data: key, var_path = p.split(".") cur_vars.update({key.lstrip("?"): x.xpath(var_path)[0].text}) cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) else: - x = xml.xpath(p) + x = data.xpath(p) cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) @classmethod @@ -119,22 +126,20 @@ def _parse_list_container_helper(cls, mapping, iterators, root, list_vars=None): if post_process_filter: key = cls._parse_post_process_filter(post_process_filter, key, extra_vars) - yield key, etree.tostring(element), extra_vars + yield key, element, extra_vars @classmethod - def _parse_list_container(cls, mapping): - xml = etree.fromstring(mapping["from"]) - xml = xml.xpath(mapping["xpath"]) + def _parse_list_container(cls, mapping, data): + data = data.xpath(mapping["xpath"]) nested = mapping.get("nested", False) - root = xml[0] if nested and len(xml) else xml + root = data[0] if nested and len(data) else data return cls._parse_list_container_helper(mapping, [root], root) @classmethod - def _parse_leaf_default(cls, mapping, check_default=True, check_presence=False): - xml = etree.fromstring(mapping["from"]) - element = xml.xpath(mapping["xpath"]) + def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): + element = data.xpath(mapping["xpath"]) if element and not check_presence: if "attribute" in mapping.keys(): @@ -157,8 +162,8 @@ def _parse_leaf_default(cls, mapping, check_default=True, check_presence=False): return None @classmethod - def _parse_leaf_map(cls, mapping): - value = cls._parse_leaf_default(mapping) + def _parse_leaf_map(cls, mapping, data): + value = cls._parse_leaf_default(mapping, data) if "regex" in mapping.keys(): value = re.search(mapping["regexp"], value).group("value") @@ -166,9 +171,9 @@ def _parse_leaf_map(cls, mapping): return mapping["map"][value] if value else None @classmethod - def _parse_leaf_is_present(cls, mapping): - return cls._parse_leaf_default(mapping, check_default=False, check_presence=True) + def _parse_leaf_is_present(cls, mapping, data): + return cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) @classmethod - def _parse_leaf_is_absent(cls, mapping): - return not cls._parse_leaf_default(mapping, check_default=False, check_presence=True) + def _parse_leaf_is_absent(cls, mapping, data): + return not cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 9cec9d3a..ee67cf98 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -19,13 +19,14 @@ def __init__(self, merge, replace): def init_element(self, attribute, model, other, mapping, translation, bookmarks): et = translation for m in mapping: - if m["mode"] == "skip": + mode = m.get("mode", "default") + if mode == "skip": continue - elif m["mode"] == "gate": + elif mode == "gate": return t = _find_translation_point(m, bookmarks, et) - method_name = "_init_element_{}".format(m["mode"]) + method_name = "_init_element_{}".format(mode) et = getattr(self, method_name)(attribute, model, other, m, t) if et is False: # if it's False we want to return None to signal we want to abort @@ -35,36 +36,39 @@ def init_element(self, attribute, model, other, mapping, translation, bookmarks) def default_element(self, mapping, translation, bookmarks, replacing=False): t = translation for m in mapping: - if m["mode"] == "skip": + mode = m.get("mode", "default") + if mode == "skip": continue - elif m["mode"] == "gate": + elif mode == "gate": return t = _find_translation_point(m, bookmarks, t) - method_name = "_default_element_{}".format(m["mode"]) + method_name = "_default_element_{}".format(mode) t = getattr(self, method_name)(m, t, replacing) def translate_leaf(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: - if m["mode"] == "skip": + mode = m.get("mode", "default") + if mode == "skip": continue - elif m["mode"] == "gate": + elif mode == "gate": return t = _find_translation_point(m, bookmarks, translation) - method_name = "_translate_leaf_{}".format(m["mode"]) + method_name = "_translate_leaf_{}".format(mode) getattr(self, method_name)(attribute, model, other, m, t) def translate_container(self, attribute, model, other, mapping, translation, bookmarks): et = translation for m in mapping: - if m["mode"] == "skip": + mode = m.get("mode", "default") + if mode == "skip": continue - elif m["mode"] == "gate": + elif mode == "gate": return t = _find_translation_point(m, bookmarks, et) - method_name = "_translate_container_{}".format(m["mode"]) + method_name = "_translate_container_{}".format(mode) et = getattr(self, method_name)(attribute, model, other, m, t) if et is False: # if it's False we want to return None to signal we want to abort diff --git a/napalm_yang/translators/text.py b/napalm_yang/translators/text.py index aab742cb..57fbc211 100644 --- a/napalm_yang/translators/text.py +++ b/napalm_yang/translators/text.py @@ -17,7 +17,7 @@ def init_translation(self, metadata, translation): def post_processing(self, translator): return self._xml_to_text(translator.translation) - def _translate_leaf_element(self, attribute, model, other, mapping, translation): + def _translate_leaf_default(self, attribute, model, other, mapping, translation): force = False if model == other and not self.replace: @@ -30,9 +30,9 @@ def _translate_leaf_element(self, attribute, model, other, mapping, translation) return mapping["element"] = "command" - super()._translate_leaf_element(attribute, model, other, mapping, translation, force) + super()._translate_leaf_default(attribute, model, other, mapping, translation, force) - def _init_element_container(self, attribute, model, other, mapping, translation): + def _init_element_default(self, attribute, model, other, mapping, translation): if other is not None: if not napalm_yang.utils.diff(model, other) and not self.replace: # If objects are equal we return None as that aborts translating @@ -47,7 +47,7 @@ def _init_element_container(self, attribute, model, other, mapping, translation) mapping["key_element"] = "command" mapping["container"] = model._yang_name - t = super()._init_element_container(attribute, model, other, mapping, translation) + t = super()._init_element_default(attribute, model, other, mapping, translation) end = mapping.get("end", "") if end and t is not None: @@ -56,12 +56,7 @@ def _init_element_container(self, attribute, model, other, mapping, translation) return t - # def _translate_container_container(self, attribute, model, other, mapping, translation): - # mapping["key_element"] = "container" - # mapping["container"] = model._yang_name - # return super()._init_element_container(attribute, model, other, mapping, translation) - - def _default_element_container(self, mapping, translation, replacing): + def _default_element_default(self, mapping, translation, replacing): if (replacing or self.replace) and not mapping.get("replace", True): return diff --git a/napalm_yang/translators/xml.py b/napalm_yang/translators/xml.py index b98c0c88..b9cddcb0 100644 --- a/napalm_yang/translators/xml.py +++ b/napalm_yang/translators/xml.py @@ -14,7 +14,7 @@ def init_translation(self, metadata, translation): else: return translation - def _init_element_container(self, attribute, model, other, mapping, translation): + def _init_element_default(self, attribute, model, other, mapping, translation): t = translation for element in mapping["container"].split("/"): @@ -40,9 +40,9 @@ def _init_element_container(self, attribute, model, other, mapping, translation) return t - _translate_container_container = _init_element_container + _translate_container_default = _init_element_default - def _default_element_container(self, mapping, translation, replacing): + def _default_element_default(self, mapping, translation, replacing): if not self.merge: return @@ -64,7 +64,7 @@ def _default_element_container(self, mapping, translation, replacing): return t - def _translate_leaf_element(self, attribute, model, other, mapping, translation, force=False): + def _translate_leaf_default(self, attribute, model, other, mapping, translation, force=False): delete = False if not model._changed() and other and self.merge: delete = True @@ -89,4 +89,4 @@ def _translate_leaf_element(self, attribute, model, other, mapping, translation, def _translate_leaf_map(self, attribute, model, other, mapping, translation): mapping["value"] = mapping["map"][model] - self._translate_leaf_element(attribute, model, other, mapping, translation) + self._translate_leaf_default(attribute, model, other, mapping, translation) diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index ca76840c..506d402f 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -45,14 +45,14 @@ def pretty_json(dictionary): test_config_profile_models = [ - ["ios", napalm_yang.models.openconfig_interfaces, "default"], - ["eos", napalm_yang.models.openconfig_network_instance, "default"], + # ["ios", napalm_yang.models.openconfig_interfaces, "default"], + # ["eos", napalm_yang.models.openconfig_network_instance, "default"], ["junos", napalm_yang.models.openconfig_network_instance, "default"], ] test_state_profile_models = [ ["junos", napalm_yang.models.openconfig_interfaces, "default"], - ["eos", napalm_yang.models.openconfig_interfaces, "default"], + # ["eos", napalm_yang.models.openconfig_interfaces, "default"], ] From 4571e648ff58b4704df3a7fc0248551ef6bdb80c Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 19 Jun 2017 09:25:06 +0200 Subject: [PATCH 085/153] TextParser now avoids serializing/deserializing the object all the time --- .../parsers/config/openconfig-if-ip/ipv4.yaml | 2 -- .../openconfig-interfaces/interfaces.yaml | 12 +++-------- .../includes/bgp.yaml | 8 -------- .../includes/static_routes.yaml | 3 --- .../network-instances.yaml | 12 +++++------ .../parsers/config/openconfig-vlan/vlan.yaml | 1 - .../parsers/config/openconfig-if-ip/ipv4.yaml | 2 -- .../openconfig-interfaces/interfaces.yaml | 12 +++-------- .../parsers/config/openconfig-vlan/vlan.yaml | 1 - napalm_yang/parsers/base.py | 2 ++ napalm_yang/parsers/text.py | 20 +++++++++---------- test/integration/test_profiles.py | 4 ++-- 12 files changed, 25 insertions(+), 54 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml index 6297c111..65f45cbc 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -10,7 +10,6 @@ ipv4: _process: - mode: is_absent regexp: "(?P^\\W*switchport$)" - from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented addresses: @@ -18,7 +17,6 @@ ipv4: address: _process: - regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" - from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml index 6bdb13dc..cf7b521c 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -10,7 +10,7 @@ interfaces: interface: _process: - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + from: interfaces.0 name: _process: unnecessary hold-time: @@ -28,8 +28,7 @@ interfaces: type: _process: - mode: map - regexp: "(?P(\\w|-)*)\\d+" - from: "{{ interface_key }}" + regexp: "interface (?P(\\w|-)*)\\d+" map: Ethernet: ethernetCsmacd Management: ethernetCsmacd @@ -40,21 +39,18 @@ interfaces: _process: - mode: is_present regexp: "(?Pno shutdown)" - from: "{{ bookmarks.interface[interface_key] }}" description: _process: - regexp: "description (?P.*)" - from: "{{ bookmarks.interface[interface_key] }}" mtu: _process: - regexp: "mtu (?P[0-9]+)" - from: "{{ bookmarks.interface[interface_key] }}" subinterfaces: _process: unnecessary subinterface: _process: - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + from: interfaces.0 index: _process: unnecessary config: @@ -69,8 +65,6 @@ interfaces: _process: - mode: is_present regexp: "(?Pno shutdown)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" description: _process: - regexp: "description (?P.*)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml index 448ae2a1..57965bfd 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -259,12 +259,10 @@ global: as: _process: - regexp: "local-as (?P.*)" - from: "{{ bookmarks['protocol'][protocol_key] }}" default: "{{ extra_vars.process_id|default(1) }}" router-id: _process: - regexp: "router-id (?P.*)" - from: "{{ bookmarks['protocol'][protocol_key] }}" default-route-distance: _process: not_implemented config: @@ -354,7 +352,6 @@ neighbors: neighbor: _process: - regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" - from: "{{ bookmarks['protocol'][protocol_key] }}" flat: true add-paths: _process: not_implemented @@ -623,25 +620,20 @@ neighbors: description: _process: - regexp: "neighbor {{ neighbor_key }} description (?P.*)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" enabled: _process: - mode: is_absent regexp: "neighbor {{ neighbor_key }} (?Pshutdown)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" local-as: _process: - regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" neighbor-address: _process: - mode: value value: "{{ neighbor_key }}" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" peer-as: _process: - regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" - from: "{{ bookmarks['neighbor'][neighbor_key] }}" peer-group: _process: not_implemented peer-type: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 8cabb5a3..391c8416 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -5,11 +5,9 @@ _process: static: _process: - regexp: "(?Pip route (?P\\d+.*\\/\\d+).*)" - from: "{{ bookmarks['network-instances'][0] }}" when: "{{ network_instance_key == 'global' }}" flat: true - regexp: "(?Pip route vrf {{ network_instance_key }} (?P\\d+.*\\/\\d+).*)" - from: "{{ bookmarks['network-instances'][0] }}" when: "{{ network_instance_key != 'global' }}" flat: true config: @@ -25,7 +23,6 @@ static: next-hop: _process: - regexp: "(?Pip route (vrf {{ network_instance_key }} )*{{ static_key }} (?P\\d+.\\d+.\\d+.\\d+) (?P\\d+) tag (?P\\d+))" - from: "{{ bookmarks['static'][static_key] }}" config: _process: unnecessary index: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 3c74e1b5..3fb5fc51 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -11,10 +11,10 @@ network-instances: network-instance: _process: - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" - from: "{{ bookmarks['network-instances'][0] }}" + from: network-instances.0 mandatory: - key: "global" - block: "" + block: null extra_vars: {} afts: !include includes/afts.yaml config: @@ -22,7 +22,6 @@ network-instances: description: _process: - regexp: "description (?P.*)" - from: "{{ bookmarks.parent }}" enabled: _process: - mode: value @@ -36,7 +35,6 @@ network-instances: route-distinguisher: _process: - regexp: "rd (?P.*)" - from: "{{ bookmarks.parent }}" router-id: _process: not_implemented type: @@ -319,15 +317,15 @@ network-instances: protocol: _process: - regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" - from: "{{ bookmarks['network-instances'][0] }}" + from: network-instances.0 composite_key: [protocol_name, protocol_name] when: "{{ network_instance_key == 'global' }}" - regexp: "router (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?^ (?Pvrf {{ network_instance_key }}\n(?:.|\n)*?)^(!| vrf.*)$" - from: "{{ bookmarks['network-instances'][0] }}" + from: network-instances.0 composite_key: [protocol_name, protocol_name] when: "{{ network_instance_key != 'global' }}" - regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" - from: "{{ bookmarks['network-instances'][0] }}" + from: network-instances.0 key: "static static" bgp: !include includes/bgp.yaml config: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml index 9ba682df..637e54dc 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml @@ -10,4 +10,3 @@ vlan: vlan-id: _process: - regexp: "^\\W*encapsulation dot1q vlan (?P[0-9]+)" - from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml index 10bda473..863e7ee4 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml @@ -10,7 +10,6 @@ ipv4: _process: # TODO look at this one, I think this is different depending on IOS version - mode: is_absent regexp: "(?P^\\s*switchport mode.*$)" - from: "{{ bookmarks['parent'] }}" mtu: _process: not_implemented addresses: @@ -18,7 +17,6 @@ ipv4: address: _process: - regexp: "(?Pip address (?P(?P.*)) (?P([0-255]|\\.)*)(?P secondary)*)$" - from: "{{ bookmarks['parent'] }}" ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index a603a8ed..565b9fac 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -10,7 +10,7 @@ interfaces: interface: _process: - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + from: interfaces.0 name: _process: unnecessary hold-time: @@ -28,8 +28,7 @@ interfaces: type: _process: - mode: map - regexp: "(?P(\\w|-)*)\\d+" - from: "{{ interface_key }}" + regexp: "interface (?P(\\w|-)*)\\d+" map: FastEthernet: ethernetCsmacd GigabitEthernet: ethernetCsmacd @@ -42,21 +41,18 @@ interfaces: _process: - mode: is_present regexp: "(?Pno shutdown)" - from: "{{ bookmarks.interface[interface_key] }}" description: _process: - regexp: "description (?P.*)" - from: "{{ bookmarks.interface[interface_key] }}" mtu: _process: - regexp: "mtu (?P[0-9]+)" - from: "{{ bookmarks.interface[interface_key] }}" subinterfaces: _process: unnecessary subinterface: _process: - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" - from: "{{ bookmarks.interfaces.0 }}" + from: interfaces.0 index: _process: unnecessary config: @@ -71,8 +67,6 @@ interfaces: _process: - mode: is_present regexp: "(?Pno shutdown)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" description: _process: - regexp: "description (?P.*)" - from: "{{ bookmarks.subinterface[subinterface_key] }}" diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml index 1f49ea7c..364e66a9 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml @@ -10,4 +10,3 @@ vlan: vlan-id: _process: - regexp: "^\\W*encapsulation dot1q (?P[0-9]+)" - from: "{{ bookmarks['parent'] }}" diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index b6be32a6..e65314c4 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -5,6 +5,8 @@ class BaseParser(object): @staticmethod def resolve_bookmark(bookmarks, path): + if path is None: + return b = bookmarks for p in path.split("."): try: diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 7b522270..1b8299ef 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -8,8 +8,8 @@ class TextParser(BaseParser): @classmethod - def _parse_list_default(cls, mapping): - block_matches = re.finditer(mapping["regexp"], mapping["from"], re.MULTILINE + re.I) + def _parse_list_default(cls, mapping, data): + block_matches = re.finditer(mapping["regexp"], data, re.MULTILINE + re.I) mandatory_elements = mapping.pop("mandatory", []) @@ -39,8 +39,8 @@ def _parse_list_default(cls, mapping): yield key, block, extra_vars @classmethod - def _parse_leaf_default(cls, mapping, check_default=True): - match = re.search(mapping["regexp"], mapping["from"], re.MULTILINE + re.I) + def _parse_leaf_default(cls, mapping, data, check_default=True): + match = re.search(mapping["regexp"], data, re.MULTILINE + re.I) if match: return match.group("value") @@ -50,16 +50,16 @@ def _parse_leaf_default(cls, mapping, check_default=True): return None @classmethod - def _parse_leaf_is_present(cls, mapping): - value = cls._parse_leaf_default(mapping, check_default=False) + def _parse_leaf_is_present(cls, mapping, data): + value = cls._parse_leaf_default(mapping, data, check_default=False) return bool(value) @classmethod - def _parse_leaf_is_absent(cls, mapping): - value = cls._parse_leaf_default(mapping, check_default=False) + def _parse_leaf_is_absent(cls, mapping, data): + value = cls._parse_leaf_default(mapping, data, check_default=False) return not bool(value) @classmethod - def _parse_leaf_map(cls, mapping): - value = cls._parse_leaf_default(mapping) + def _parse_leaf_map(cls, mapping, data): + value = cls._parse_leaf_default(mapping, data) return mapping["map"][value] diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 506d402f..eb91c397 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -45,8 +45,8 @@ def pretty_json(dictionary): test_config_profile_models = [ - # ["ios", napalm_yang.models.openconfig_interfaces, "default"], - # ["eos", napalm_yang.models.openconfig_network_instance, "default"], + ["ios", napalm_yang.models.openconfig_interfaces, "default"], + ["eos", napalm_yang.models.openconfig_network_instance, "default"], ["junos", napalm_yang.models.openconfig_network_instance, "default"], ] From 0e6264173e8646c7fef821b1a882eb149ed20261 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 19 Jun 2017 10:46:49 +0200 Subject: [PATCH 086/153] Removed because of lack of tests and now they are broken --- .../transceiver.yaml | 124 ------------------ .../state/openconfig-platform/components.yaml | 114 ---------------- 2 files changed, 238 deletions(-) delete mode 100644 napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml delete mode 100644 napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml deleted file mode 100644 index 6fdbae8d..00000000 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-platform-transceiver/transceiver.yaml +++ /dev/null @@ -1,124 +0,0 @@ ---- -metadata: - processor: JSONParser - -transceiver: - _process: unnecessary - config: - _process: not_implemented - enabled: - _process: not_implemented - ethernet-pmd-preconf: - _process: not_implemented - form-factor-preconf: - _process: not_implemented - physical-channels: - _process: unnecessary - channel: - _process: - - from: "{{ bookmarks.parent.get('transceiver', {}).get('physical-channels', {}).get('channel', {})|json }}" - config: - _process: not_implemented - description: - _process: not_implemented - index: - _process: not_implemented - target-output-power: - _process: not_implemented - tx-laser: - _process: not_implemented - index: - _process: not_implemented - state: - _process: unnecessary - description: - _process: not_implemented - index: - _process: - - mode: value - value: "{{ parent_key }}" - input-power: - _process: unnecessary - avg: - _process: not_implemented - instant: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('input-power', {}).get('instant', None) }}" - when: "{{ bookmarks.parent.state.get('input-power', {}).get('instant', 'None') is not equalto 'None' }}" - max: - _process: not_implemented - min: - _process: not_implemented - laser-bias-current: - _process: unnecessary - avg: - _process: not_implemented - instant: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('laser-bias-current', {}).get('instant', None) }}" - when: "{{ bookmarks.parent.state.get('laser-bias-current', {}).get('instant', 'None') is not equalto 'None' }}" - max: - _process: not_implemented - min: - _process: not_implemented - output-frequency: - _process: not_implemented - output-power: - _process: unnecessary - avg: - _process: not_implemented - instant: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('output-power', {}).get('instant', None) }}" - when: "{{ bookmarks.parent.state.get('output-power', {}).get('instant', 'None') is not equalto 'None' }}" - max: - _process: not_implemented - min: - _process: not_implemented - target-output-power: - _process: not_implemented - tx-laser: - _process: not_implemented - state: - _process: unnecessary - connector-type: - _process: not_implemented - date-code: - _process: not_implemented - enabled: - _process: - - mode: value - value: "{{ bookmarks.parent.get('transceiver', {}).get('state', {}).get('enabled', None) }}" - when: "{{ bookmarks.parent.get('transceiver', {}).get('state', {}).get('enabled', 'None') is not equalto 'None' }}" - ethernet-pmd: - _process: - - mode: value - value: "{{ bookmarks.parent.get('transceiver', {}).get('state', {}).get('ethernet-pmd', None) }}" - when: "{{ bookmarks.parent.get('transceiver', {}).get('state', {}).get('ethernet-pmd', 'None') is not equalto 'None' }}" - ethernet-pmd-preconf: - _process: not_implemented - fault-condition: - _process: not_implemented - form-factor: - _process: not_implemented - form-factor-preconf: - _process: not_implemented - internal-temp: - _process: not_implemented - otn-compliance-code: - _process: not_implemented - present: - _process: not_implemented - serial-no: - _process: not_implemented - sonet-sdh-compliance-code: - _process: not_implemented - vendor: - _process: not_implemented - vendor-part: - _process: not_implemented - vendor-rev: - _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml deleted file mode 100644 index 488496a0..00000000 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-platform/components.yaml +++ /dev/null @@ -1,114 +0,0 @@ ---- -metadata: - processor: JSONParser - execute: - - method: _oc_platform - -components: - _process: unnecessary - component: - _process: - - from: "{{ bookmarks.components.0.components.component|json }}" - config: - _process: not_implemented - name: - _process: not_implemented - name: - _process: not_implemented - properties: - _process: unnecessary - property: - _process: - - from: "{{ bookmarks.parent.get('properties', {}).get('property', {})|json }}" - config: - _process: not_implemented - name: - _process: not_implemented - value: - _process: not_implemented - name: - _process: not_implemented - state: - _process: unnecessary - configurable: - _process: not_implemented - name: - _process: - - mode: value - value: "{{ parent_key }}" - value: - _process: - - mode: value - value: "{{ bookmarks.parent.state.value }}" - state: - _process: unnecessary - description: - _process: - - mode: value - value: "{{ bookmarks.parent.state.description|default() }}" - when: "{{ bookmarks.parent.state.description|default('None') is not equalto 'None' }}" - id: - _process: not_implemented - mfg-name: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('mfg-name', None) }}" - when: "{{ bookmarks.parent.state.get('mfg-name', 'None') is not equalto 'None' }}" - name: - _process: - - mode: value - value: "{{ parent_key }}" - part-no: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('part-no', None) }}" - when: "{{ bookmarks.parent.state.get('part-no', 'None') is not equalto 'None' }}" - serial-no: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('serial-no', None) }}" - when: "{{ bookmarks.parent.state.get('serial-no', 'None') is not equalto 'None' }}" - temperature: - _process: unnecessary - avg: - _process: not_implemented - instant: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('temperature', {}).get('instant', None) }}" - when: "{{ bookmarks.parent.state.get('temperature', {}).get('instant', 'None') is not equalto 'None' }}" - max: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('temperature', {}).get('max', None) }}" - when: "{{ bookmarks.parent.state.get('temperature', {}).get('max', 'None') is not equalto 'None' }}" - min: - _process: not_implemented - type: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('type', None) }}" - when: "{{ bookmarks.parent.state.get('type', 'None') is not equalto 'None' }}" - version: - _process: - - mode: value - value: "{{ bookmarks.parent.state.get('version', None) }}" - when: "{{ bookmarks.parent.state.get('version', 'None') is not equalto 'None' }}" - subcomponents: - _process: unnecessary - subcomponent: - _process: - - from: "{{ bookmarks.parent.get('subcomponents', {}).get('subcomponent', {})|json }}" - config: - _process: not_implemented - name: - _process: not_implemented - name: - _process: not_implemented - state: - _process: unnecessary - name: - _process: - - mode: value - value: "{{ parent_key }}" - From 2b8a54f17e6dc26948bf111042be1c8b3c6c42d1 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 19 Jun 2017 10:47:06 +0200 Subject: [PATCH 087/153] JSONParser behaves similar to XMLParser --- .../openconfig-interfaces/interfaces.yaml | 60 ++++++++----------- napalm_yang/parser.py | 1 + napalm_yang/parsers/base.py | 16 ++--- napalm_yang/parsers/json.py | 35 ++++++----- test/integration/test_profiles.py | 2 +- 5 files changed, 56 insertions(+), 58 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml index 25bc1952..14512f84 100644 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -10,7 +10,8 @@ interfaces: _process: unnecessary interface: _process: - - from: "{{ bookmarks.interfaces.0.interfaces|json }}" + - path: interfaces + from: interfaces.0 config: _process: unnecessary hold-time: @@ -26,40 +27,36 @@ interfaces: admin-status: _process: - mode: map - value: "{{ bookmarks.parent.get('interfaceStatus', 'disabled') }}" + path: interfaceStatus + defaul: disabled map: "disabled": DOWN "errdisabled": DOWN "connected": UP "notconnect": UP counters: - _process: unnecessary + _process: + - path: interfaceCounters in-broadcast-pkts: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.inBroadcastPkts }}" + - path: inBroadcastPkts in-discards: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.inDiscards }}" + - path: inDiscards in-errors: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.totalInErrors }}" + - path: totalInErrors in-multicast-pkts: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.inMulticastPkts }}" + - path: inMulticastPkts _process: not_implemented in-octets: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.inOctets }}" + - path: inOctets _process: not_implemented in-unicast-pkts: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.inUcastPkts }}" + - path: inUcastPkts _process: not_implemented in-unknown-protos: _process: not_implemented @@ -67,41 +64,35 @@ interfaces: _process: not_implemented out-broadcast-pkts: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.outBroadcastPkts }}" + - path: outBroadcastPkts _process: not_implemented out-discards: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.outDiscards }}" + - path: outDiscards _process: not_implemented out-errors: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.totalOutErrors }}" + - path: totalOutErrors _process: not_implemented out-multicast-pkts: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.outMulticastPkts }}" + - path: outMulticastPkts _process: not_implemented out-octets: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.outOctets }}" + - path: outOctets _process: not_implemented out-unicast-pkts: _process: - - mode: value - value: "{{ bookmarks.parent.interfaceCounters.outUcastPkts }}" + - path: outUcastPkts description: _process: - - mode: value - value: "{{ bookmarks.parent.description }}" + - path: description enabled: _process: - mode: map - value: "{{ bookmarks.parent.get('interfaceStatus', 'disabled') }}" + path: interfaceStatus + default: disabled map: "disabled": false "errdisabled": true @@ -113,14 +104,14 @@ interfaces: _process: not_implemented mtu: _process: - - mode: value - value: "{{ bookmarks.parent.mtu }}" + - path: mtu name: _process: not_implemented oper-status: _process: - mode: map - value: "{{ bookmarks.parent.get('interfaceStatus', 'disabled') }}" + path: interfaceStatus + default: disabled map: "disabled": DOWN "errdisabled": DOWN @@ -129,7 +120,8 @@ interfaces: type: _process: - mode: map - value: "{{ bookmarks.parent.get('hardware', 'Unspecified') }}" + path: hardware + default: Unspecified map: "ethernet": ethernetCsmacd "Unspecified": null diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index ec89ef51..e0d350c6 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -95,6 +95,7 @@ def _parse_container(self, attribute, model, mapping): if block is None: return elif block != "" or extra_vars: + self.bookmarks["parent"] = block self.bookmarks[attribute] = block self.extra_vars[attribute] = extra_vars diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index e65314c4..856248ef 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -4,17 +4,17 @@ class BaseParser(object): @staticmethod - def resolve_bookmark(bookmarks, path): + def resolve_path(my_dict, path): if path is None: return - b = bookmarks + + b = my_dict for p in path.split("."): try: b = b[p] except TypeError: b = b[int(p)] - bookmark = b - return bookmark + return b @classmethod def init_native(cls, native): @@ -29,9 +29,9 @@ def parse_list(cls, mapping, bookmarks): mandatory_elements = m.get("mandatory", []) for me in mandatory_elements: - me["block"] = cls.resolve_bookmark(bookmarks, me["block"]) + me["block"] = cls.resolve_path(bookmarks, me["block"]) - data = cls.resolve_bookmark(bookmarks, m.get("from", "parent")) + data = cls.resolve_path(bookmarks, m.get("from", "parent")) method_name = "_parse_list_{}".format(m.get("mode", "default")) for key, block, extra_vars in getattr(cls, method_name)(m, data): yield key, block, extra_vars @@ -42,7 +42,7 @@ def parse_list(cls, mapping, bookmarks): @classmethod def parse_leaf(cls, mapping, bookmarks): for m in mapping: - data = cls.resolve_bookmark(bookmarks, m.get("from", "parent")) + data = cls.resolve_path(bookmarks, m.get("from", "parent")) method_name = "_parse_leaf_{}".format(m.get("mode", "default")) result = getattr(cls, method_name)(m, data) if result is not None: @@ -54,7 +54,7 @@ def parse_container(cls, mapping, bookmarks): # parent will change as the tree is processed so we save it # so we can restore it parent = bookmarks["parent"] - data = cls.resolve_bookmark(bookmarks, m.get("from", "parent")) + data = cls.resolve_path(bookmarks, m.get("from", "parent")) method_name = "_parse_container_{}".format(m.get("mode", "default")) result, extra_vars = getattr(cls, method_name)(m, data) if result or extra_vars: diff --git a/napalm_yang/parsers/json.py b/napalm_yang/parsers/json.py index f37eee38..a375548f 100644 --- a/napalm_yang/parsers/json.py +++ b/napalm_yang/parsers/json.py @@ -1,5 +1,4 @@ from __future__ import absolute_import -from builtins import super import re import json @@ -13,23 +12,23 @@ class JSONParser(BaseParser): def init_native(cls, native): resp = [] for k in native: - if isinstance(k, str): - resp.append(json.loads(k)) - else: + if isinstance(k, dict): resp.append(k) + else: + resp.append(json.loads(k)) - return super().init_native(resp) + return resp @classmethod - def _parse_list_default(cls, mapping, key=None): - d = json.loads(mapping['from']) + def _parse_list_default(cls, mapping, data, key=None): + d = cls.resolve_path(data, mapping.get("path", "")) if isinstance(d, dict): for k, v in d.items(): yield k, v, {} @classmethod - def _parse_leaf_default(cls, mapping, check_default=True, check_presence=False): - d = mapping['from'] + def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): + d = cls.resolve_path(data, mapping["path"]) if d and not check_presence: regexp = mapping.get('regexp', None) if regexp: @@ -47,13 +46,19 @@ def _parse_leaf_default(cls, mapping, check_default=True, check_presence=False): return @classmethod - def _parse_leaf_map(cls, mapping): - return mapping['map'][mapping['value']] + def _parse_container_default(cls, mapping, data): + d = cls.resolve_path(data, mapping["path"]) + return d, {} + + @classmethod + def _parse_leaf_map(cls, mapping, data): + v = cls._parse_leaf_default(mapping, data) + return mapping['map'][v] @classmethod - def _parse_leaf_is_present(cls, mapping): - return cls._parse_leaf_path(mapping, check_default=False, check_presence=True) + def _parse_leaf_is_present(cls, mapping, data): + return cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) @classmethod - def _parse_leaf_is_absent(cls, mapping): - return not cls._parse_leaf_path(mapping, check_default=False, check_presence=True) + def _parse_leaf_is_absent(cls, mapping, data): + return not cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index eb91c397..ca76840c 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -52,7 +52,7 @@ def pretty_json(dictionary): test_state_profile_models = [ ["junos", napalm_yang.models.openconfig_interfaces, "default"], - # ["eos", napalm_yang.models.openconfig_interfaces, "default"], + ["eos", napalm_yang.models.openconfig_interfaces, "default"], ] From c0756c5d014067d9d02039a741375b36ae2cb97a Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 19 Jun 2017 11:42:29 +0200 Subject: [PATCH 088/153] JSONParser can now parse subinterfaces correctly --- napalm_yang/helpers.py | 2 +- .../openconfig-interfaces/interfaces.yaml | 100 +++--- napalm_yang/parsers/base.py | 16 +- napalm_yang/parsers/json.py | 18 +- .../default/openconfig-interfaces.expected | 98 +++++- .../default/openconfig-interfaces.native | 324 +++++++++++++++++- test/integration/test_profiles.py | 4 +- 7 files changed, 490 insertions(+), 72 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index e2042828..5b15f745 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -80,7 +80,7 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, elif isinstance(rule, str): if rule in ["unnecessary"]: return [{"mode": "skip", "reason": rule}] - elif rule in ["not_implemented"]: + elif rule in ["not_implemented", "not_supported"]: return [{"mode": "gate", "reason": rule}] else: raise Exception("Not sure what to do with rule {} on attribute {}".format(rule, diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml index 14512f84..b8215b22 100644 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -12,6 +12,7 @@ interfaces: _process: - path: interfaces from: interfaces.0 + regexp: "(?P\\w+(\\w|-|\\/)*\\d+)$" config: _process: unnecessary hold-time: @@ -37,6 +38,10 @@ interfaces: counters: _process: - path: interfaceCounters + default: {} + when: "{{ not interface_key.startswith('Loopback') }}" + - mode: gate + when: "{{ interface_key.startswith('Loopback') }}" in-broadcast-pkts: _process: - path: inBroadcastPkts @@ -49,15 +54,12 @@ interfaces: in-multicast-pkts: _process: - path: inMulticastPkts - _process: not_implemented in-octets: _process: - path: inOctets - _process: not_implemented in-unicast-pkts: _process: - path: inUcastPkts - _process: not_implemented in-unknown-protos: _process: not_implemented last-clear: @@ -65,23 +67,18 @@ interfaces: out-broadcast-pkts: _process: - path: outBroadcastPkts - _process: not_implemented out-discards: _process: - path: outDiscards - _process: not_implemented out-errors: _process: - path: totalOutErrors - _process: not_implemented out-multicast-pkts: _process: - path: outMulticastPkts - _process: not_implemented out-octets: _process: - path: outOctets - _process: not_implemented out-unicast-pkts: _process: - path: outUcastPkts @@ -106,7 +103,8 @@ interfaces: _process: - path: mtu name: - _process: not_implemented + _process: + - path: name oper-status: _process: - mode: map @@ -121,52 +119,47 @@ interfaces: _process: - mode: map path: hardware - default: Unspecified map: - "ethernet": ethernetCsmacd - "Unspecified": null + ethernet: ethernetCsmacd + management: ethernetCsmacd + loopback: softwareLoopback + portchannel: ieee8023adLag + vlan: l3ipvlan subinterfaces: - _process: not_implemented + _process: unnecessary subinterface: - _process: not_implemented + _process: + - path: interfaces + from: interfaces.0 + regexp: "{{interface_key}}\\.(?P\\d+)" + config: + _process: unnecessary state: - _process: not_implemented + _process: unnecessary admin-status: - _process: not_implemented + _process: + - mode: map + path: interfaceStatus + map: + "disabled": DOWN + "errdisabled": DOWN + "connected": UP + "notconnect": DOWN counters: - _process: not_implemented - in-broadcast-pkts: - _process: not_implemented - in-discards: - _process: not_implemented - in-errors: - _process: not_implemented - in-multicast-pkts: - _process: not_implemented - in-octets: - _process: not_implemented - in-unicast-pkts: - _process: not_implemented - in-unknown-protos: - _process: not_implemented - last-clear: - _process: not_implemented - out-broadcast-pkts: - _process: not_implemented - out-discards: - _process: not_implemented - out-errors: - _process: not_implemented - out-multicast-pkts: - _process: not_implemented - out-octets: - _process: not_implemented - out-unicast-pkts: - _process: not_implemented + _process: not_supported description: - _process: not_implemented + _process: + - path: description enabled: - _process: not_implemented + _process: + - mode: map + path: interfaceStatus + default: disabled + map: + "disabled": false + "errdisabled": true + "connected": true + "notconnect": true ifindex: _process: not_implemented index: @@ -174,6 +167,15 @@ interfaces: last-change: _process: not_implemented name: - _process: not_implemented + _process: + - path: name oper-status: - _process: not_implemented + _process: + - mode: map + path: lineProtocolStatus + map: + "disabled": DOWN + "errdisabled": DOWN + "connected": UP + "notconnect": DOWN + "lowerlayerdown": LOWER_LAYER_DOWN diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 856248ef..9d2e7d4a 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -4,16 +4,22 @@ class BaseParser(object): @staticmethod - def resolve_path(my_dict, path): + def resolve_path(my_dict, path, default=None): if path is None: return b = my_dict - for p in path.split("."): + path_split = path.split(".") + for i, p in enumerate(path_split): try: - b = b[p] - except TypeError: - b = b[int(p)] + try: + b = b[p] + except TypeError: + b = b[int(p)] + except KeyError: + if i == len(path_split) - 1 and default is not None: + return default + raise return b @classmethod diff --git a/napalm_yang/parsers/json.py b/napalm_yang/parsers/json.py index a375548f..39abe61f 100644 --- a/napalm_yang/parsers/json.py +++ b/napalm_yang/parsers/json.py @@ -21,14 +21,24 @@ def init_native(cls, native): @classmethod def _parse_list_default(cls, mapping, data, key=None): - d = cls.resolve_path(data, mapping.get("path", "")) + d = cls.resolve_path(data, mapping["path"], mapping.get("default")) + + regexp = mapping.get('regexp', None) + if regexp: + regexp = re.compile(regexp) if isinstance(d, dict): for k, v in d.items(): + if regexp: + match = regexp.match(k) + if match: + k = match.group('value') + else: + continue yield k, v, {} @classmethod def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): - d = cls.resolve_path(data, mapping["path"]) + d = cls.resolve_path(data, mapping["path"], mapping.get("default")) if d and not check_presence: regexp = mapping.get('regexp', None) if regexp: @@ -47,13 +57,13 @@ def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=F @classmethod def _parse_container_default(cls, mapping, data): - d = cls.resolve_path(data, mapping["path"]) + d = cls.resolve_path(data, mapping["path"], mapping.get("default")) return d, {} @classmethod def _parse_leaf_map(cls, mapping, data): v = cls._parse_leaf_default(mapping, data) - return mapping['map'][v] + return mapping['map'][v.lower()] @classmethod def _parse_leaf_is_present(cls, mapping, data): diff --git a/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected b/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected index 286601d3..4ac5c9b3 100644 --- a/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected +++ b/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected @@ -6,34 +6,110 @@ "state": { "admin-status": "UP", "counters": { - "in-broadcast-pkts": 2630, - "in-discards": 0, - "in-errors": 0, - "out-unicast-pkts": 104 + "out-multicast-pkts": 875697, + "out-octets": 114560338 }, - "description": "", + "description": "This is a description", "enabled": true, - "mtu": 1500, + "mtu": 9214, + "name": "Ethernet1", "oper-status": "UP", "type": "ethernetCsmacd" } }, + "Ethernet2": { + "name": "Ethernet2", + "state": { + "admin-status": "DOWN", + "counters": { + "out-multicast-pkts": 56, + "out-octets": 7268 + }, + "description": "so much oc", + "enabled": false, + "mtu": 1500, + "name": "Ethernet2", + "oper-status": "DOWN", + "type": "ethernetCsmacd" + }, + "subinterfaces": { + "subinterface": { + "1": { + "index": "1", + "state": { + "admin-status": "DOWN", + "description": "another subiface", + "enabled": true, + "name": "Ethernet2.1", + "oper-status": "LOWER_LAYER_DOWN" + } + }, + "2": { + "index": "2", + "state": { + "admin-status": "DOWN", + "description": "asdasdasd", + "enabled": true, + "name": "Ethernet2.2", + "oper-status": "LOWER_LAYER_DOWN" + } + } + } + } + }, + "Loopback1": { + "name": "Loopback1", + "state": { + "admin-status": "UP", + "description": "a loopback", + "enabled": true, + "mtu": 65535, + "name": "Loopback1", + "oper-status": "UP", + "type": "softwareLoopback" + } + }, "Management1": { "name": "Management1", "state": { "admin-status": "UP", "counters": { - "in-broadcast-pkts": 19, - "in-discards": 0, - "in-errors": 0, - "out-unicast-pkts": 758 + "in-broadcast-pkts": 4, + "in-octets": 4116864, + "out-octets": 13968476, + "out-unicast-pkts": 58110 }, - "description": "", "enabled": true, "mtu": 1500, + "name": "Management1", "oper-status": "UP", "type": "ethernetCsmacd" } + }, + "Port-Channel1": { + "name": "Port-Channel1", + "state": { + "admin-status": "UP", + "description": "blah", + "enabled": true, + "mtu": 9000, + "name": "Port-Channel1", + "oper-status": "DOWN", + "type": "ieee8023adLag" + }, + "subinterfaces": { + "subinterface": { + "1": { + "index": "1", + "state": { + "admin-status": "DOWN", + "enabled": true, + "name": "Port-Channel1.1", + "oper-status": "LOWER_LAYER_DOWN" + } + } + } + } } } } diff --git a/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native b/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native index c9bbbc39..32e4cb5a 100644 --- a/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native +++ b/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native @@ -1 +1,323 @@ -{"interfaces": {"Management1": {"lastStatusChangeTimestamp": 1497732472.6491787, "name": "Management1", "interfaceStatus": "connected", "autoNegotiate": "success", "description": "", "burnedInAddress": "08:00:27:6b:fa:fe", "bandwidth": 1000000000, "mtu": 1500, "hardware": "ethernet", "duplex": "duplexFull", "loopbackMode": "loopbackNone", "physicalAddress": "08:00:27:6b:fa:fe", "interfaceCounters": {"outBroadcastPkts": 0, "linkStatusChanges": 5, "totalOutErrors": 0, "inMulticastPkts": 0, "counterRefreshTime": 1497734297.210793, "inBroadcastPkts": 19, "inputErrorsDetail": {"runtFrames": 0, "fcsErrors": 0, "alignmentErrors": 0, "rxPause": 0, "symbolErrors": 0, "giantFrames": 0}, "inOctets": 97807, "outDiscards": 0, "outOctets": 112236, "inUcastPkts": 0, "outputErrorsDetail": {"lateCollisions": 0, "deferredTransmissions": 0, "txPause": 0, "collisions": 0}, "outUcastPkts": 758, "outMulticastPkts": 0, "totalInErrors": 0, "inDiscards": 0}, "interfaceStatistics": {"inBitsRate": 327.13344777831077, "updateInterval": 300.0, "outBitsRate": 513.747345263329, "outPktsRate": 0.3882478230578469, "inPktsRate": 0.00013831271000537475}, "interfaceAddress": [{"secondaryIpsOrderedList": [], "primaryIp": {"maskLen": 24, "address": "10.0.2.15"}, "broadcastAddress": "255.255.255.255", "secondaryIps": {}, "virtualIp": {"maskLen": 0, "address": "0.0.0.0"}}], "lineProtocolStatus": "up", "forwardingModel": "routed"}, "Ethernet1": {"lastStatusChangeTimestamp": 1497732461.1365635, "name": "Ethernet1", "interfaceStatus": "connected", "autoNegotiate": "unknown", "description": "", "bandwidth": 0, "mtu": 1500, "hardware": "ethernet", "duplex": "duplexFull", "loopbackMode": "loopbackNone", "physicalAddress": "08:00:27:66:ef:40", "interfaceCounters": {"outBroadcastPkts": 0, "linkStatusChanges": 1, "lastClear": 1497732401.4158947, "inMulticastPkts": 97, "counterRefreshTime": 1497734297.214895, "inBroadcastPkts": 2630, "inputErrorsDetail": {"runtFrames": 0, "fcsErrors": 0, "alignmentErrors": 0, "rxPause": 0, "symbolErrors": 0, "giantFrames": 0}, "inOctets": 212355, "outDiscards": 0, "outOctets": 43559, "inUcastPkts": 118, "outputErrorsDetail": {"lateCollisions": 0, "deferredTransmissions": 0, "txPause": 0, "collisions": 0}, "outUcastPkts": 104, "outMulticastPkts": 73, "totalInErrors": 0, "inDiscards": 0, "totalOutErrors": 0}, "interfaceStatistics": {"inBitsRate": 0.0, "updateInterval": 300.0, "outBitsRate": 0.0, "outPktsRate": 0.0, "inPktsRate": 0.0}, "interfaceAddress": [{"secondaryIpsOrderedList": [], "primaryIp": {"maskLen": 24, "address": "192.168.50.11"}, "broadcastAddress": "255.255.255.255", "secondaryIps": {}, "virtualIp": {"maskLen": 0, "address": "0.0.0.0"}}], "lineProtocolStatus": "up", "forwardingModel": "routed"}}} +{ + "interfaces": { + "Management1": { + "lastStatusChangeTimestamp": 1494227233.5120637, + "name": "Management1", + "interfaceStatus": "connected", + "autoNegotiate": "success", + "burnedInAddress": "08:00:27:7d:44:c1", + "loopbackMode": "loopbackNone", + "interfaceStatistics": { + "inBitsRate": 1785.3472207043212, + "inPktsRate": 0.0031338123173471526, + "outBitsRate": 1523.0216192154212, + "updateInterval": 300.0, + "outPktsRate": 1.4350601670071694 + }, + "mtu": 1500, + "hardware": "ethernet", + "duplex": "duplexFull", + "bandwidth": 1000000000, + "forwardingModel": "routed", + "lineProtocolStatus": "up", + "interfaceCounters": { + "outBroadcastPkts": 0, + "linkStatusChanges": 11, + "totalOutErrors": 0, + "inMulticastPkts": 0, + "counterRefreshTime": 1494227251.353215, + "inBroadcastPkts": 4, + "outputErrorsDetail": { + "deferredTransmissions": 0, + "txPause": 0, + "collisions": 0, + "lateCollisions": 0 + }, + "inOctets": 4116864, + "outDiscards": 0, + "outOctets": 13968476, + "inUcastPkts": 0, + "inputErrorsDetail": { + "runtFrames": 0, + "rxPause": 0, + "fcsErrors": 0, + "alignmentErrors": 0, + "giantFrames": 0, + "symbolErrors": 0 + }, + "outUcastPkts": 58110, + "outMulticastPkts": 0, + "totalInErrors": 0, + "inDiscards": 0 + }, + "interfaceAddress": [ + { + "secondaryIpsOrderedList": [], + "broadcastAddress": "255.255.255.255", + "secondaryIps": {}, + "primaryIp": { + "maskLen": 24, + "address": "10.0.2.15" + }, + "virtualIp": { + "maskLen": 0, + "address": "0.0.0.0" + } + } + ], + "physicalAddress": "08:00:27:7d:44:c1", + "description": "" + }, + "Loopback1": { + "hardware": "loopback", + "bandwidth": 0, + "mtu": 65535, + "name": "Loopback1", + "interfaceStatus": "connected", + "lastStatusChangeTimestamp": 1493375330.477214, + "description": "a loopback", + "interfaceAddress": [], + "lineProtocolStatus": "up", + "forwardingModel": "routed" + }, + "Ethernet2.2": { + "lastStatusChangeTimestamp": 1493375330.2531557, + "name": "Ethernet2.2", + "interfaceStatus": "notconnect", + "mtu": 1500, + "hardware": "subinterface", + "bandwidth": 0, + "forwardingModel": "routed", + "lineProtocolStatus": "lowerLayerDown", + "interfaceAddress": [ + { + "secondaryIpsOrderedList": [], + "broadcastAddress": "255.255.255.255", + "secondaryIps": {}, + "primaryIp": { + "maskLen": 24, + "address": "192.168.2.1" + }, + "virtualIp": { + "maskLen": 0, + "address": "0.0.0.0" + } + } + ], + "physicalAddress": "08:00:27:78:47:29", + "description": "asdasdasd" + }, + "Port-Channel1.1": { + "lastStatusChangeTimestamp": 1493375329.5660713, + "name": "Port-Channel1.1", + "interfaceStatus": "notconnect", + "mtu": 9000, + "hardware": "subinterface", + "bandwidth": 0, + "forwardingModel": "routed", + "lineProtocolStatus": "lowerLayerDown", + "interfaceAddress": [], + "physicalAddress": "00:00:00:00:00:00", + "description": "" + }, + "Port-Channel1": { + "lastStatusChangeTimestamp": 1493375329.2763908, + "name": "Port-Channel1", + "interfaceStatus": "notconnect", + "memberInterfaces": {}, + "interfaceStatistics": { + "inBitsRate": 0.0, + "inPktsRate": 0.0, + "outBitsRate": 0.0, + "updateInterval": 300.0, + "outPktsRate": 0.0 + }, + "mtu": 9000, + "hardware": "portChannel", + "bandwidth": 0, + "forwardingModel": "routed", + "fallbackEnabled": false, + "lineProtocolStatus": "lowerLayerDown", + "interfaceCounters": { + "outBroadcastPkts": 0, + "linkStatusChanges": 1, + "totalOutErrors": 0, + "inMulticastPkts": 0, + "counterRefreshTime": 1494227251.374082, + "inBroadcastPkts": 0, + "inOctets": 0, + "outDiscards": 0, + "outOctets": 0, + "inUcastPkts": 0, + "outUcastPkts": 0, + "outMulticastPkts": 0, + "totalInErrors": 0, + "inDiscards": 0 + }, + "fallbackEnabledType": "fallbackNone", + "interfaceAddress": [], + "physicalAddress": "08:00:27:78:47:29", + "description": "blah" + }, + "Ethernet1": { + "lastStatusChangeTimestamp": 1493375231.510267, + "name": "Ethernet1", + "interfaceStatus": "connected", + "autoNegotiate": "unknown", + "burnedInAddress": "08:00:27:76:17:76", + "loopbackMode": "loopbackNone", + "interfaceStatistics": { + "inBitsRate": 0.0, + "inPktsRate": 0.0, + "outBitsRate": 0.0, + "updateInterval": 300.0, + "outPktsRate": 0.0 + }, + "mtu": 9214, + "hardware": "ethernet", + "duplex": "duplexFull", + "bandwidth": 0, + "forwardingModel": "dataLink", + "lineProtocolStatus": "up", + "interfaceCounters": { + "outBroadcastPkts": 0, + "linkStatusChanges": 1, + "totalOutErrors": 0, + "inMulticastPkts": 0, + "counterRefreshTime": 1494227251.360102, + "inBroadcastPkts": 0, + "outputErrorsDetail": { + "deferredTransmissions": 0, + "txPause": 0, + "collisions": 0, + "lateCollisions": 0 + }, + "inOctets": 0, + "outDiscards": 0, + "outOctets": 114560338, + "inUcastPkts": 0, + "inputErrorsDetail": { + "runtFrames": 0, + "rxPause": 0, + "fcsErrors": 0, + "alignmentErrors": 0, + "giantFrames": 0, + "symbolErrors": 0 + }, + "outUcastPkts": 0, + "outMulticastPkts": 875697, + "totalInErrors": 0, + "inDiscards": 0 + }, + "interfaceMembership": "Member of Port-Channel1", + "interfaceAddress": [], + "physicalAddress": "08:00:27:76:17:76", + "description": "This is a description" + }, + "Ethernet2.1": { + "lastStatusChangeTimestamp": 1493375330.0411432, + "name": "Ethernet2.1", + "interfaceStatus": "notconnect", + "mtu": 1500, + "hardware": "subinterface", + "bandwidth": 0, + "forwardingModel": "routed", + "lineProtocolStatus": "lowerLayerDown", + "interfaceAddress": [ + { + "secondaryIpsOrderedList": [ + { + "maskLen": 24, + "address": "172.20.0.1" + } + ], + "broadcastAddress": "255.255.255.255", + "secondaryIps": { + "172.20.0.1": { + "maskLen": 24, + "address": "172.20.0.1" + } + }, + "primaryIp": { + "maskLen": 24, + "address": "192.168.1.1" + }, + "virtualIp": { + "maskLen": 0, + "address": "0.0.0.0" + } + } + ], + "physicalAddress": "08:00:27:78:47:29", + "description": "another subiface" + }, + "Ethernet2": { + "lastStatusChangeTimestamp": 1493375329.8914871, + "name": "Ethernet2", + "interfaceStatus": "disabled", + "autoNegotiate": "off", + "loopbackMode": "loopbackNone", + "interfaceStatistics": { + "inBitsRate": 0.0, + "inPktsRate": 0.0, + "outBitsRate": 0.0, + "updateInterval": 300.0, + "outPktsRate": 0.0 + }, + "mtu": 1500, + "hardware": "ethernet", + "duplex": "duplexFull", + "bandwidth": 0, + "forwardingModel": "routed", + "lineProtocolStatus": "down", + "interfaceCounters": { + "outBroadcastPkts": 0, + "linkStatusChanges": 2, + "lastClear": 1493375179.1768973, + "inMulticastPkts": 0, + "counterRefreshTime": 1494227251.356712, + "inBroadcastPkts": 0, + "outputErrorsDetail": { + "deferredTransmissions": 0, + "txPause": 0, + "collisions": 0, + "lateCollisions": 0 + }, + "inOctets": 0, + "outDiscards": 0, + "outOctets": 7268, + "inUcastPkts": 0, + "inputErrorsDetail": { + "runtFrames": 0, + "rxPause": 0, + "fcsErrors": 0, + "alignmentErrors": 0, + "giantFrames": 0, + "symbolErrors": 0 + }, + "outUcastPkts": 0, + "outMulticastPkts": 56, + "totalInErrors": 0, + "inDiscards": 0, + "totalOutErrors": 0 + }, + "interfaceAddress": [ + { + "secondaryIpsOrderedList": [], + "broadcastAddress": "255.255.255.255", + "secondaryIps": {}, + "primaryIp": { + "maskLen": 24, + "address": "192.168.0.1" + }, + "virtualIp": { + "maskLen": 0, + "address": "0.0.0.0" + } + } + ], + "physicalAddress": "08:00:27:78:47:29", + "description": "so much oc" + } + } +} diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index ca76840c..2dd2d23d 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -1,6 +1,6 @@ from __future__ import unicode_literals -from napalm_base import get_network_driver +# from napalm_base import get_network_driver import napalm_yang @@ -145,6 +145,8 @@ def test_parse_state(self, profile, model, case): state.add_model(model) state.parse_state(native=[native], profile=[profile]) + # print(pretty_json(state.get(filter=True))) + expected = napalm_yang.base.Root() expected.add_model(model) expected.load_dict(expected_json) From 192eb5a2b6130b9e1d1f82ec716e87b35e117592 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 19 Jun 2017 12:04:27 +0200 Subject: [PATCH 089/153] Move mandatory elements to a manual action --- .../network-instances.yaml | 8 ++-- .../network-instances.yaml | 8 ++-- napalm_yang/parsers/base.py | 13 +++++-- napalm_yang/parsers/text.py | 39 ++++++++----------- napalm_yang/parsers/xml.py | 14 +++---- 5 files changed, 39 insertions(+), 43 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 3fb5fc51..5291cb9f 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -12,10 +12,10 @@ network-instances: _process: - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" from: network-instances.0 - mandatory: - - key: "global" - block: null - extra_vars: {} + - mode: manual + key: "global" + block: "" + extra_vars: {} afts: !include includes/afts.yaml config: _process: unnecessary diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml index e0ee8ac6..c9cffc5b 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -14,10 +14,10 @@ network-instances: xpath: "routing-instances/instance" key_attribute: name from: network-instances.0 - mandatory: - - key: "global" - block: network-instances.0 - extra_vars: {} + - mode: manual + key: "global" + block: network-instances.0 + extra_vars: {} afts: !include includes/afts.yaml config: _process: unnecessary diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 9d2e7d4a..b8509664 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -33,18 +33,23 @@ def parse_list(cls, mapping, bookmarks): # so we can restore it parent = bookmarks["parent"] - mandatory_elements = m.get("mandatory", []) - for me in mandatory_elements: - me["block"] = cls.resolve_path(bookmarks, me["block"]) - data = cls.resolve_path(bookmarks, m.get("from", "parent")) method_name = "_parse_list_{}".format(m.get("mode", "default")) + + if method_name == "_parse_list_manual": + m["block"] = cls.resolve_path(bookmarks, m["block"], + default=m["block"]) + for key, block, extra_vars in getattr(cls, method_name)(m, data): yield key, block, extra_vars # we restore the parent bookmarks["parent"] = parent + @classmethod + def _parse_list_manual(cls, mapping, data): + yield mapping["key"], mapping["block"], mapping["extra_vars"] + @classmethod def parse_leaf(cls, mapping, bookmarks): for m in mapping: diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index 1b8299ef..26ca9005 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -11,32 +11,27 @@ class TextParser(BaseParser): def _parse_list_default(cls, mapping, data): block_matches = re.finditer(mapping["regexp"], data, re.MULTILINE + re.I) - mandatory_elements = mapping.pop("mandatory", []) - - for match in itertools.chain(block_matches, mandatory_elements): - if isinstance(match, dict): - yield match["key"], match["block"] or "Aasd123asv", match["extra_vars"] + for match in block_matches: + composite_key = mapping.get("composite_key", None) + forced_key = mapping.get("key", None) + post_process_filter = mapping.get("post_process_filter", None) + + extra_vars = match.groupdict() + block = extra_vars.pop("block") + + if composite_key: + key = " ".join([match.group(k) for k in composite_key]) + elif forced_key: + key = forced_key else: - composite_key = mapping.get("composite_key", None) - forced_key = mapping.get("key", None) - post_process_filter = mapping.get("post_process_filter", None) - - extra_vars = match.groupdict() - block = extra_vars.pop("block") - - if composite_key: - key = " ".join([match.group(k) for k in composite_key]) - elif forced_key: - key = forced_key - else: - key = extra_vars.pop("key") + key = extra_vars.pop("key") - if post_process_filter: - key = cls._parse_post_process_filter(post_process_filter, key, extra_vars) + if post_process_filter: + key = cls._parse_post_process_filter(post_process_filter, key, extra_vars) - extra_vars["_get_duplicates"] = mapping.get("flat", False) + extra_vars["_get_duplicates"] = mapping.get("flat", False) - yield key, block, extra_vars + yield key, block, extra_vars @classmethod def _parse_leaf_default(cls, mapping, data, check_default=True): diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index 56cef5e7..b9508b7e 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -21,17 +21,13 @@ def init_native(cls, native): @classmethod def _parse_list_default(cls, mapping, data): - mandatory_elements = mapping.pop("mandatory", []) post_process_filter = mapping.pop("post_process_filter", None) - for element in itertools.chain(data.xpath(mapping["xpath"]), mandatory_elements): - if isinstance(element, dict): - yield element["key"], element["block"], element["extra_vars"] - else: - key = element.xpath(mapping["key"])[0].text.strip() - if post_process_filter: - key = cls._parse_post_process_filter(post_process_filter, key) - yield key, element, {} + for element in data.xpath(mapping["xpath"]): + key = element.xpath(mapping["key"])[0].text.strip() + if post_process_filter: + key = cls._parse_post_process_filter(post_process_filter, key) + yield key, element, {} @classmethod def _parse_list_nested(cls, mapping, data): From 2462c7490c2f219bc9215d80c5b4650ad8047cef Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 19 Jun 2017 12:06:41 +0200 Subject: [PATCH 090/153] updated changelog --- CHANGELOG.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f1696fbb..0d1c99d9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,6 +8,12 @@ - ``TextParser``, ``list - block`` now supports composite keys via the ``composite_key`` argument - ``TextParser``, ``list - block`` now supports creating elements manually via the ``mandatory`` argument + - Move mandatory elements previously on the default action to a dedicated action + - from is optional, by default it will always follow the parent + - from is now a pointer, no need to keep serializing/deserializing + - mode is optional. All parsers have a main "default" action now. + - JSONParser added + 0.0.1 +++++ From f35d34247e2c4487aeac66655ae054e6e566954f Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Tue, 20 Jun 2017 15:13:37 +0200 Subject: [PATCH 091/153] restore previous extra_vars when leaving current tree branch --- napalm_yang/translator.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 8ad029db..6d659d2d 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -1,6 +1,7 @@ from napalm_yang import helpers from napalm_yang.parsers import get_parser +from copy import copy import logging logger = logging.getLogger("napalm-yang") @@ -95,6 +96,7 @@ def _translate_list(self, attribute, model, mapping, translation, other): # Saving state to restore them later old_parent_key = self.keys["parent_key"] old_parent_bookmark = self.bookmarks["parent"] + old_extra_vars = copy(self.extra_vars) # We will use this to store blocks of configuration # for each individual element of the list @@ -134,6 +136,7 @@ def _translate_list(self, attribute, model, mapping, translation, other): # Restore state self.keys["parent_key"] = old_parent_key self.bookmarks["parent"] = old_parent_bookmark + self.extra_vars = old_extra_vars if other: # Let's default elements not present in the model From 4f02079f7e20952ebf5a99a5a2f90e00618af881 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Tue, 20 Jun 2017 15:20:25 +0200 Subject: [PATCH 092/153] read *prefix attributes from containers that are being defaulted so they are available in subtree when continue_negating: True --- napalm_yang/translator.py | 8 +++++++- napalm_yang/translators/base.py | 5 +++++ napalm_yang/translators/text.py | 10 +++++++++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 6d659d2d..348ead54 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -143,6 +143,8 @@ def _translate_list(self, attribute, model, mapping, translation, other): self._default_element_list(attribute, other, mapping, translation, model) def _default_element_list(self, attribute, running, mapping, translation, candidate): + # we'll restore old values when we leave this branch + old_extra_vars = copy(self.extra_vars) for key in running: logger.info("Defaulting {}: {}".format(attribute, key)) element = running[key] @@ -158,11 +160,15 @@ def _default_element_list(self, attribute, running, mapping, translation, candid self.keys, self.extra_vars, element, self.bookmarks) - self.translator.default_element(translation_rule, translation, self.bookmarks) + _, extra_vars = self.translator.default_element(translation_rule, translation, self.bookmarks) + self.extra_vars.update(extra_vars) if any([t.get("continue_negating", False) for t in translation_rule]): self._default_child(attribute, element, mapping, translation) + # Restore state + self.extra_vars = old_extra_vars + def _default_child(self, attribute, running, mapping, translation): logger.debug("Defaulting child attribute: {}".format(running._yang_path())) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 5b05905e..aa606bd3 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -38,6 +38,7 @@ def init_element(self, attribute, model, other, mapping, translation, bookmarks) def default_element(self, mapping, translation, bookmarks, replacing=False): t = translation + extra_vars = {} for m in mapping: if m["mode"] == "skip": continue @@ -47,6 +48,10 @@ def default_element(self, mapping, translation, bookmarks, replacing=False): t = _find_translation_point(m, bookmarks, t) method_name = "_default_element_{}".format(m["mode"]) t = getattr(self, method_name)(m, t, replacing) + if isinstance(t, tuple): + extra_vars = t[1] + t = t[0] + return t, extra_vars def translate_leaf(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: diff --git a/napalm_yang/translators/text.py b/napalm_yang/translators/text.py index 7c7fd433..fbaa0082 100644 --- a/napalm_yang/translators/text.py +++ b/napalm_yang/translators/text.py @@ -51,7 +51,7 @@ def _init_element_container(self, attribute, model, other, mapping, translation) for i in ('prefix', 'negate_prefix'): if i in mapping: - extra_vars[i] = mapping.pop(i) + extra_vars[i] = mapping.get(i) t = super()._init_element_container(attribute, model, other, mapping, translation) @@ -68,6 +68,8 @@ def _init_element_container(self, attribute, model, other, mapping, translation) # return super()._init_element_container(attribute, model, other, mapping, translation) def _default_element_container(self, mapping, translation, replacing): + extra_vars = {} + if (replacing or self.replace) and not mapping.get("replace", True): return @@ -80,6 +82,12 @@ def _default_element_container(self, mapping, translation, replacing): e = etree.SubElement(translation, "command") e.text = mapping["negate"] + for i in ('prefix', 'negate_prefix'): + if i in mapping: + extra_vars[i] = mapping.get(i) + + return None, extra_vars + def _xml_to_text(self, xml, text=""): for element in xml: if element.tag == "command" and element.text is not None: From adfa2601b832b9994e964292526554a6f8cbb1c9 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Tue, 20 Jun 2017 15:34:42 +0200 Subject: [PATCH 093/153] eos static route translator bugfix --- .../openconfig-network-instance/includes/static_routes.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml index 67832601..183f184d 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml @@ -28,7 +28,7 @@ static: _process: - mode: container key_value: "{{ extra_vars.prefix }} {{ next_hop_key }}" - negate: "{{ extra_vars.negate_prefix }} {{ next_hop_key }}" + negate: "{{ extra_vars.negate_prefix }} {{ next_hop_key }}\n" end: "\n" config: _process: unnecessary From daf3e9b10095a66718ca8881e25c6440993663c7 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Tue, 20 Jun 2017 16:40:25 +0200 Subject: [PATCH 094/153] update test mock data --- .../eos/openconfig-network-instance/default/merge.txt | 3 --- .../eos/openconfig-network-instance/default/replace.txt | 7 ------- .../openconfig-network-instance/default/translation.txt | 7 ------- 3 files changed, 17 deletions(-) diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt index a92907a2..e55a8f55 100644 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt @@ -1,4 +1,3 @@ -ip route 10.0.0.0/24 192.168.0.2 ip route 10.0.0.0/24 192.168.0.2 1 vrf definition frontend rd 1:1 @@ -10,9 +9,7 @@ router bgp 65001 neighbor 172.20.0.200 local-as 100 no-prepend replace-as router-id 2.2.2.2 exit -ip route vrf frontend 10.0.0.0/24 172.20.0.2 ip route vrf frontend 10.0.0.0/24 172.20.0.2 1 -ip route vrf frontend 10.0.1.0/24 172.20.0.2 ip route vrf frontend 10.0.1.0/24 172.20.0.2 1 vrf definition devel exit diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt index 5583cdfa..360183a0 100644 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt @@ -6,13 +6,10 @@ router bgp 65001 router-id 1.1.1.1 exit no ip route 10.0.0.0/24 192.168.0.2 -ip route 10.0.0.0/24 192.168.0.2 ip route 10.0.0.0/24 192.168.0.2 1 no ip route 10.0.0.0/24 192.168.0.3 -ip route 10.0.0.0/24 192.168.0.3 ip route 10.0.0.0/24 192.168.0.3 1 no ip route 10.0.1.0/24 192.168.0.2 -ip route 10.0.1.0/24 192.168.0.2 ip route 10.0.1.0/24 192.168.0.2 1 no vrf definition frontend vrf definition frontend @@ -27,19 +24,15 @@ router bgp 65001 router-id 2.2.2.2 exit no ip route vrf frontend 10.0.0.0/24 172.20.0.2 -ip route vrf frontend 10.0.0.0/24 172.20.0.2 ip route vrf frontend 10.0.0.0/24 172.20.0.2 1 no ip route vrf frontend 10.0.1.0/24 172.20.0.2 -ip route vrf frontend 10.0.1.0/24 172.20.0.2 ip route vrf frontend 10.0.1.0/24 172.20.0.2 1 no vrf definition devel vrf definition devel rd 1:2 exit no ip route vrf devel 10.0.0.0/24 192.168.2.2 -ip route vrf devel 10.0.0.0/24 192.168.2.2 ip route vrf devel 10.0.0.0/24 192.168.2.2 1 no ip route vrf devel 10.0.1.0/24 192.168.2.2 -ip route vrf devel 10.0.1.0/24 192.168.2.2 ip route vrf devel 10.0.1.0/24 192.168.2.2 1 no vrf definition prod diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt index 1b0bac91..9e8a7807 100644 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt @@ -3,11 +3,8 @@ router bgp 65001 neighbor 192.168.0.200 description asdasd qweq asdasd router-id 1.1.1.1 exit -ip route 10.0.0.0/24 192.168.0.2 ip route 10.0.0.0/24 192.168.0.2 10 -ip route 10.0.0.0/24 192.168.0.3 ip route 10.0.0.0/24 192.168.0.3 1 -ip route 10.0.1.0/24 192.168.0.2 ip route 10.0.1.0/24 192.168.0.2 1 vrf definition prod rd 1:1 @@ -19,9 +16,7 @@ router bgp 65001 neighbor 172.20.0.200 local-as 100 no-prepend replace-as router-id 2.2.2.2 exit -ip route vrf prod 10.0.0.0/24 172.20.0.2 ip route vrf prod 10.0.0.0/24 172.20.0.2 1 -ip route vrf prod 10.0.1.0/24 172.20.0.2 ip route vrf prod 10.0.1.0/24 172.20.0.2 1 vrf definition devel rd 1:2 @@ -30,7 +25,5 @@ router bgp 65001 vrf devel router-id 3.3.3.3 exit -ip route vrf devel 10.0.0.0/24 192.168.2.2 ip route vrf devel 10.0.0.0/24 192.168.2.2 1 -ip route vrf devel 10.0.1.0/24 192.168.2.2 ip route vrf devel 10.0.1.0/24 192.168.2.2 1 From 1bf710038441ab4df7239809858d8dbd1b8ea6ca Mon Sep 17 00:00:00 2001 From: Brandon Ewing Date: Tue, 20 Jun 2017 09:44:03 -0500 Subject: [PATCH 095/153] Add args and kwargs support to method execution --- docs/yang/parsers.rst | 6 ++++-- docs/yang/writing_profiles.rst | 7 ++++--- .../parsers/config/openconfig-interfaces/interfaces.yaml | 2 +- .../openconfig-network-instance/network-instances.yaml | 2 +- .../parsers/state/openconfig-interfaces/interfaces.yaml | 2 +- .../parsers/config/openconfig-interfaces/interfaces.yaml | 2 +- .../parsers/config/openconfig-interfaces/interfaces.yaml | 2 +- .../openconfig-network-instance/network-instances.yaml | 2 +- .../parsers/state/openconfig-interfaces/interfaces.yaml | 2 +- .../parsers/state/openconfig-platform/components.yaml | 3 ++- napalm_yang/parser.py | 8 +++++++- 11 files changed, 24 insertions(+), 14 deletions(-) diff --git a/docs/yang/parsers.rst b/docs/yang/parsers.rst index 470b2f04..31337892 100644 --- a/docs/yang/parsers.rst +++ b/docs/yang/parsers.rst @@ -183,13 +183,15 @@ the device. For example:: parser: XMLParser execute: - method: _rpc - args: + args: [] + kwargs: get: "" * **execute** is a list of calls to do to from the device to extract the data. * **method** is the method from the device to call. - * **args** are arguments that will be passed to the method. + * **args** are the numbered/ordered arguments for the method + * **kwargs** are the keyword arguments for the method In addition, some methods like ``parse_config`` and ``parse_state`` may have mechanisms to pass the information needed to the parser instead of relying on a live device to obtain it. For parsers, you diff --git a/docs/yang/writing_profiles.rst b/docs/yang/writing_profiles.rst index 9eca4057..c79ddaf1 100644 --- a/docs/yang/writing_profiles.rst +++ b/docs/yang/writing_profiles.rst @@ -49,12 +49,13 @@ If we check the content of the file ``vlan.yaml`` we can clearly see two parts: processor: XMLParser execute: - method: _rpc - args: + args: [] + kwargs: get: "" In this case we are using the ``XMLParser`` parser and in order to get the data we need from the -device we have to call the method ``_rpc`` with the ``args`` parameters. This is, by the way, an -RPC call for a junos device. +device we have to call the method ``_rpc`` with the ``args`` and ``kwargs`` parameters. This is, +by the way, an RPC call for a junos device. * **vlan** - This is the part that follows the model specification. In this case is ``vlan`` but in others it might be ``interfaces``, ``addressess`` or something else, this will be model dependent diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml index 44267380..b193596f 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -3,7 +3,7 @@ metadata: processor: TextParser execute: - method: cli - args: + kwargs: commands: ["show running-config all"] interfaces: _process: unnecessary diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index e5e7afce..db28daac 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -3,7 +3,7 @@ metadata: processor: TextParser execute: - method: cli - args: + kwargs: commands: ["show running-config all"] network-instances: diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml index 4350bc79..427ac02d 100644 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -3,7 +3,7 @@ metadata: processor: JSONParser execute: - method: "device.run_commands" - args: + kwargs: commands: ["show interfaces", "show snmp mib ifmib ifindex"] interfaces: diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index f01a2ef5..06b08bab 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -3,7 +3,7 @@ metadata: processor: TextParser execute: - method: cli - args: + kwargs: commands: ["show running-config all"] interfaces: _process: unnecessary diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index 81b988c0..4e9622a6 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -3,7 +3,7 @@ metadata: processor: XMLParser execute: - method: _rpc - args: + kwargs: get: "" interfaces: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml index d9a11746..ba69e387 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -3,7 +3,7 @@ metadata: processor: XMLParser execute: - method: _rpc - args: + kwargs: get: "" network-instances: diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index aae32e17..ec1c0f72 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -3,7 +3,7 @@ metadata: processor: XMLParser execute: - method: _rpc - args: + kwargs: get: "" interfaces: diff --git a/napalm_yang/mappings/templates/parsers/state/openconfig-platform/components.yaml b/napalm_yang/mappings/templates/parsers/state/openconfig-platform/components.yaml index 2071c616..fb9468d1 100644 --- a/napalm_yang/mappings/templates/parsers/state/openconfig-platform/components.yaml +++ b/napalm_yang/mappings/templates/parsers/state/openconfig-platform/components.yaml @@ -3,7 +3,8 @@ metadata: parser: execute: - method: - args: + args: [] + kwargs: commands: [ ] components: diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index f1c41d40..d8aa3967 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -56,9 +56,15 @@ def _execute_methods(self, device, methods): result = [] for m in methods: attr = device + args = [] + kwargs = {} for p in m["method"].split("."): attr = getattr(attr, p) - r = attr(**m["args"]) + if isinstance(m.get("args", None), list): + args = m["args"] + if isinstance(m.get("kwargs", None), dict): + kwargs = m["kwargs"] + r = attr(*args, **kwargs) if isinstance(r, dict) and all([isinstance(x, (str, unicode)) for x in r.values()]): # Some vendors like junos return commands enclosed by a key From ce2c55e7dca6853f1559c915023e235885ba8bff Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 20 Jun 2017 21:33:48 +0200 Subject: [PATCH 096/153] Saving/Restoring state when processing containers --- .../state/openconfig-interfaces/interfaces.yaml | 4 ---- napalm_yang/parser.py | 12 ++++++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml index b8215b22..2734c1df 100644 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -29,7 +29,6 @@ interfaces: _process: - mode: map path: interfaceStatus - defaul: disabled map: "disabled": DOWN "errdisabled": DOWN @@ -89,7 +88,6 @@ interfaces: _process: - mode: map path: interfaceStatus - default: disabled map: "disabled": false "errdisabled": true @@ -109,7 +107,6 @@ interfaces: _process: - mode: map path: interfaceStatus - default: disabled map: "disabled": DOWN "errdisabled": DOWN @@ -154,7 +151,6 @@ interfaces: _process: - mode: map path: interfaceStatus - default: disabled map: "disabled": false "errdisabled": true diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index e0d350c6..a4bbce70 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -1,4 +1,5 @@ import os + import copy from napalm_yang import helpers @@ -88,6 +89,12 @@ def _parse(self, attribute, model, mapping): def _parse_container(self, attribute, model, mapping): mapping["_process"] = helpers.resolve_rule(mapping["_process"], attribute, self.keys, self.extra_vars, None, self.bookmarks) + + # Saving state + old_parent_key = self.keys["parent_key"] + old_parent_bookmark = self.bookmarks["parent"] + old_parent_extra_vars = self.extra_vars + if model._yang_type is not None: # None means it's an element of a list block, extra_vars = self.parser.parse_container(mapping["_process"], self.bookmarks) @@ -115,6 +122,11 @@ def _parse_container(self, attribute, model, mapping): else: self._parse(k, v, mapping[v._yang_name]) + # Restoring state + self.keys["parent_key"] = old_parent_key + self.bookmarks["parent"] = old_parent_bookmark + self.extra_vars = old_parent_extra_vars + def _parse_list(self, attribute, model, mapping): mapping_copy = copy.deepcopy(mapping) mapping_copy["_process"] = helpers.resolve_rule(mapping_copy["_process"], attribute, From ca2411491630c317f4a035643ac33a3e3bcad47b Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Wed, 21 Jun 2017 12:26:30 +0200 Subject: [PATCH 097/153] fix handling return values from translator methods --- napalm_yang/translators/base.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index aa606bd3..c78a8a8e 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -75,7 +75,10 @@ def translate_container(self, attribute, model, other, mapping, translation, boo t = _find_translation_point(m, bookmarks, et) method_name = "_translate_container_{}".format(m["mode"]) - et, extra_vars = getattr(self, method_name)(attribute, model, other, m, t) + et = getattr(self, method_name)(attribute, model, other, m, t) + if isinstance(et, tuple): + extra_vars = et[1] + et = et[0] if et is False: # if it's False we want to return None to signal we want to abort return None, {} From 213d7a663239033a5d6a35191db3bbd270ff124e Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Mon, 26 Jun 2017 10:32:28 +0200 Subject: [PATCH 098/153] update eos replace integration test --- .../openconfig-network-instance/default/replace.txt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt b/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt index 360183a0..0cb5bbb6 100644 --- a/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt +++ b/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt @@ -5,11 +5,10 @@ router bgp 65001 neighbor 192.168.0.200 description asdasd qweq asdasd router-id 1.1.1.1 exit -no ip route 10.0.0.0/24 192.168.0.2 +no ip route 10.0.0.0/24 ip route 10.0.0.0/24 192.168.0.2 1 -no ip route 10.0.0.0/24 192.168.0.3 ip route 10.0.0.0/24 192.168.0.3 1 -no ip route 10.0.1.0/24 192.168.0.2 +no ip route 10.0.1.0/24 ip route 10.0.1.0/24 192.168.0.2 1 no vrf definition frontend vrf definition frontend @@ -23,16 +22,16 @@ router bgp 65001 neighbor 172.20.0.200 local-as 100 no-prepend replace-as router-id 2.2.2.2 exit -no ip route vrf frontend 10.0.0.0/24 172.20.0.2 +no ip route vrf frontend 10.0.0.0/24 ip route vrf frontend 10.0.0.0/24 172.20.0.2 1 -no ip route vrf frontend 10.0.1.0/24 172.20.0.2 +no ip route vrf frontend 10.0.1.0/24 ip route vrf frontend 10.0.1.0/24 172.20.0.2 1 no vrf definition devel vrf definition devel rd 1:2 exit -no ip route vrf devel 10.0.0.0/24 192.168.2.2 +no ip route vrf devel 10.0.0.0/24 ip route vrf devel 10.0.0.0/24 192.168.2.2 1 -no ip route vrf devel 10.0.1.0/24 192.168.2.2 +no ip route vrf devel 10.0.1.0/24 ip route vrf devel 10.0.1.0/24 192.168.2.2 1 no vrf definition prod From 438cfb72c39851b5cd47a7848bfad4f5e4166b4a Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Mon, 26 Jun 2017 17:16:16 +0200 Subject: [PATCH 099/153] expose replacing, negating and merging variables in template expressions --- napalm_yang/helpers.py | 7 +++++-- .../includes/static_routes.yaml | 2 ++ napalm_yang/translator.py | 12 +++++++----- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 703b6fa9..8d7b20a8 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -73,9 +73,9 @@ def _resolve_rule(rule, **kwargs): def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, - parse_bookmarks=None): + parse_bookmarks=None, replacing=False, merging=False, negating=False): if isinstance(rule, list): - return [resolve_rule(r, attribute, keys, extra_vars, translation_model, parse_bookmarks) + return [resolve_rule(r, attribute, keys, extra_vars, translation_model, parse_bookmarks, replacing, merging, negating) for r in rule] elif isinstance(rule, str): if rule in ["unnecessary"]: @@ -91,6 +91,9 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, kwargs["bookmarks"] = parse_bookmarks kwargs["attribute"] = attribute kwargs["extra_vars"] = extra_vars + kwargs["replacing"] = replacing + kwargs["merging"] = merging + kwargs["negating"] = negating for k, v in rule.items(): if k.startswith('post_process_'): diff --git a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml index 183f184d..50a0d51d 100644 --- a/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/translators/openconfig-network-instance/includes/static_routes.yaml @@ -26,6 +26,8 @@ static: _process: unnecessary next-hop: _process: + - mode: gate + when: "{{ replacing and negating }}" - mode: container key_value: "{{ extra_vars.prefix }} {{ next_hop_key }}" negate: "{{ extra_vars.negate_prefix }} {{ next_hop_key }}\n" diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 348ead54..502fd77f 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -56,7 +56,7 @@ def _translate(self, attribute, model, mapping, translation, other): def _translate_leaf(self, attribute, model, mapping, translation, other): rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, self.extra_vars, model, - self.bookmarks) + self.bookmarks, bool(self.replace), bool(self.merge)) self.translator.translate_leaf(attribute, model, other, rule, translation, self.bookmarks) def _translate_container(self, attribute, model, mapping, translation, other): @@ -64,7 +64,7 @@ def _translate_container(self, attribute, model, mapping, translation, other): self.bookmarks["parent"] = translation rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, - self.extra_vars, model, self.bookmarks) + self.extra_vars, model, self.bookmarks, bool(self.replace), bool(self.merge)) et, extra_vars = self.translator.translate_container(attribute, model, other, rule, translation, self.bookmarks) @@ -115,10 +115,12 @@ def _translate_list(self, attribute, model, mapping, translation, other): self.keys[key_name] = key self.keys["parent_key"] = key + translation_rule_negate = helpers.resolve_rule(mapping["_process"], attribute, + self.keys, self.extra_vars, element, self.bookmarks, bool(self.replace), bool(self.merge), True) translation_rule = helpers.resolve_rule(mapping["_process"], attribute, - self.keys, self.extra_vars, element, self.bookmarks) + self.keys, self.extra_vars, element, self.bookmarks, bool(self.replace), bool(self.merge), False) - self.translator.default_element(translation_rule, translation, self.bookmarks, + self.translator.default_element(translation_rule_negate, translation, self.bookmarks, replacing=True) et, extra_vars = self.translator.init_element(attribute, element, other_element, translation_rule, translation, self.bookmarks) @@ -158,7 +160,7 @@ def _default_element_list(self, attribute, running, mapping, translation, candid translation_rule = helpers.resolve_rule(mapping["_process"], attribute, self.keys, self.extra_vars, element, - self.bookmarks) + self.bookmarks, bool(self.replace), bool(self.merge), True) _, extra_vars = self.translator.default_element(translation_rule, translation, self.bookmarks) self.extra_vars.update(extra_vars) From e1b5e8cb8f7bfb8a59c78b1137efd3a6a091fc9a Mon Sep 17 00:00:00 2001 From: Brandon Ewing Date: Sat, 1 Jul 2017 12:49:33 -0500 Subject: [PATCH 100/153] Intelligent defaults and raise exceptions --- napalm_yang/parser.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index d8aa3967..7095fe79 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -56,14 +56,14 @@ def _execute_methods(self, device, methods): result = [] for m in methods: attr = device - args = [] - kwargs = {} for p in m["method"].split("."): attr = getattr(attr, p) - if isinstance(m.get("args", None), list): - args = m["args"] - if isinstance(m.get("kwargs", None), dict): - kwargs = m["kwargs"] + args = m.get("args", []) + if not isinstance(args, list): + raise TypeError("args must be type list, not type {}".format(type(args))) + kwargs = m.get("kwargs", {}) + if not isinstance(args, dict): + raise TypeError("kwargs must be type dict, not type {}".format(type(kwargs))) r = attr(*args, **kwargs) if isinstance(r, dict) and all([isinstance(x, (str, unicode)) for x in r.values()]): From b261eb930f0c53ed8a040cc8476df44faf015c3c Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 1 Jul 2017 20:28:31 +0200 Subject: [PATCH 101/153] Far from complete but this demonstratres how to use the MockDriver --- .../default/openconfig-interfaces.expected | 0 .../default/openconfig-interfaces.native | 0 .../default/candidate.json | 0 .../default/expected.json | 0 .../default/merge.txt | 0 .../mocked/cli.1.show_running_config_all.0} | 0 .../default/replace.txt | 0 .../default/translation.txt | 0 .../default/openconfig-platform.expected | 0 .../default/openconfig-platform.native | 0 .../default/candidate.json | 0 .../default/expected.json | 0 .../openconfig-interfaces/default/merge.txt | 0 .../mocked/cli.1.show_running_config_all.0} | 0 .../openconfig-interfaces/default/replace.txt | 0 .../default/translation.txt | 0 .../default/openconfig-interfaces.expected | 0 .../default/openconfig-interfaces.native | 0 .../default/candidate.json | 0 .../default/expected.json | 0 .../default/merge.txt | 0 .../mocked/cli.1._get_configuration_.0} | 0 .../default/replace.txt | 0 .../default/translation.txt | 0 test/integration/test_profiles.py | 27 ++++++++++--------- 25 files changed, 15 insertions(+), 12 deletions(-) rename test/integration/{profiles_data => test_parse_config}/eos/openconfig-interfaces/default/openconfig-interfaces.expected (100%) rename test/integration/{profiles_data => test_parse_config}/eos/openconfig-interfaces/default/openconfig-interfaces.native (100%) rename test/integration/{profiles_data => test_parse_config}/eos/openconfig-network-instance/default/candidate.json (100%) rename test/integration/{profiles_data => test_parse_config}/eos/openconfig-network-instance/default/expected.json (100%) rename test/integration/{profiles_data => test_parse_config}/eos/openconfig-network-instance/default/merge.txt (100%) rename test/integration/{profiles_data/eos/openconfig-network-instance/default/config.txt => test_parse_config/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0} (100%) mode change 100755 => 100644 rename test/integration/{profiles_data => test_parse_config}/eos/openconfig-network-instance/default/replace.txt (100%) rename test/integration/{profiles_data => test_parse_config}/eos/openconfig-network-instance/default/translation.txt (100%) rename test/integration/{profiles_data => test_parse_config}/eos/openconfig-platform/default/openconfig-platform.expected (100%) rename test/integration/{profiles_data => test_parse_config}/eos/openconfig-platform/default/openconfig-platform.native (100%) rename test/integration/{profiles_data => test_parse_config}/ios/openconfig-interfaces/default/candidate.json (100%) rename test/integration/{profiles_data => test_parse_config}/ios/openconfig-interfaces/default/expected.json (100%) rename test/integration/{profiles_data => test_parse_config}/ios/openconfig-interfaces/default/merge.txt (100%) rename test/integration/{profiles_data/ios/openconfig-interfaces/default/config.txt => test_parse_config/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0} (100%) rename test/integration/{profiles_data => test_parse_config}/ios/openconfig-interfaces/default/replace.txt (100%) rename test/integration/{profiles_data => test_parse_config}/ios/openconfig-interfaces/default/translation.txt (100%) rename test/integration/{profiles_data => test_parse_config}/junos/openconfig-interfaces/default/openconfig-interfaces.expected (100%) rename test/integration/{profiles_data => test_parse_config}/junos/openconfig-interfaces/default/openconfig-interfaces.native (100%) rename test/integration/{profiles_data => test_parse_config}/junos/openconfig-network-instance/default/candidate.json (100%) rename test/integration/{profiles_data => test_parse_config}/junos/openconfig-network-instance/default/expected.json (100%) rename test/integration/{profiles_data => test_parse_config}/junos/openconfig-network-instance/default/merge.txt (100%) rename test/integration/{profiles_data/junos/openconfig-network-instance/default/config.txt => test_parse_config/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0} (100%) rename test/integration/{profiles_data => test_parse_config}/junos/openconfig-network-instance/default/replace.txt (100%) rename test/integration/{profiles_data => test_parse_config}/junos/openconfig-network-instance/default/translation.txt (100%) diff --git a/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected b/test/integration/test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.expected similarity index 100% rename from test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.expected rename to test/integration/test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.expected diff --git a/test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native b/test/integration/test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.native similarity index 100% rename from test/integration/profiles_data/eos/openconfig-interfaces/default/openconfig-interfaces.native rename to test/integration/test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.native diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json b/test/integration/test_parse_config/eos/openconfig-network-instance/default/candidate.json similarity index 100% rename from test/integration/profiles_data/eos/openconfig-network-instance/default/candidate.json rename to test/integration/test_parse_config/eos/openconfig-network-instance/default/candidate.json diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json b/test/integration/test_parse_config/eos/openconfig-network-instance/default/expected.json similarity index 100% rename from test/integration/profiles_data/eos/openconfig-network-instance/default/expected.json rename to test/integration/test_parse_config/eos/openconfig-network-instance/default/expected.json diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt b/test/integration/test_parse_config/eos/openconfig-network-instance/default/merge.txt similarity index 100% rename from test/integration/profiles_data/eos/openconfig-network-instance/default/merge.txt rename to test/integration/test_parse_config/eos/openconfig-network-instance/default/merge.txt diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt b/test/integration/test_parse_config/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0 old mode 100755 new mode 100644 similarity index 100% rename from test/integration/profiles_data/eos/openconfig-network-instance/default/config.txt rename to test/integration/test_parse_config/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0 diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt b/test/integration/test_parse_config/eos/openconfig-network-instance/default/replace.txt similarity index 100% rename from test/integration/profiles_data/eos/openconfig-network-instance/default/replace.txt rename to test/integration/test_parse_config/eos/openconfig-network-instance/default/replace.txt diff --git a/test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt b/test/integration/test_parse_config/eos/openconfig-network-instance/default/translation.txt similarity index 100% rename from test/integration/profiles_data/eos/openconfig-network-instance/default/translation.txt rename to test/integration/test_parse_config/eos/openconfig-network-instance/default/translation.txt diff --git a/test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.expected b/test/integration/test_parse_config/eos/openconfig-platform/default/openconfig-platform.expected similarity index 100% rename from test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.expected rename to test/integration/test_parse_config/eos/openconfig-platform/default/openconfig-platform.expected diff --git a/test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.native b/test/integration/test_parse_config/eos/openconfig-platform/default/openconfig-platform.native similarity index 100% rename from test/integration/profiles_data/eos/openconfig-platform/default/openconfig-platform.native rename to test/integration/test_parse_config/eos/openconfig-platform/default/openconfig-platform.native diff --git a/test/integration/profiles_data/ios/openconfig-interfaces/default/candidate.json b/test/integration/test_parse_config/ios/openconfig-interfaces/default/candidate.json similarity index 100% rename from test/integration/profiles_data/ios/openconfig-interfaces/default/candidate.json rename to test/integration/test_parse_config/ios/openconfig-interfaces/default/candidate.json diff --git a/test/integration/profiles_data/ios/openconfig-interfaces/default/expected.json b/test/integration/test_parse_config/ios/openconfig-interfaces/default/expected.json similarity index 100% rename from test/integration/profiles_data/ios/openconfig-interfaces/default/expected.json rename to test/integration/test_parse_config/ios/openconfig-interfaces/default/expected.json diff --git a/test/integration/profiles_data/ios/openconfig-interfaces/default/merge.txt b/test/integration/test_parse_config/ios/openconfig-interfaces/default/merge.txt similarity index 100% rename from test/integration/profiles_data/ios/openconfig-interfaces/default/merge.txt rename to test/integration/test_parse_config/ios/openconfig-interfaces/default/merge.txt diff --git a/test/integration/profiles_data/ios/openconfig-interfaces/default/config.txt b/test/integration/test_parse_config/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0 similarity index 100% rename from test/integration/profiles_data/ios/openconfig-interfaces/default/config.txt rename to test/integration/test_parse_config/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0 diff --git a/test/integration/profiles_data/ios/openconfig-interfaces/default/replace.txt b/test/integration/test_parse_config/ios/openconfig-interfaces/default/replace.txt similarity index 100% rename from test/integration/profiles_data/ios/openconfig-interfaces/default/replace.txt rename to test/integration/test_parse_config/ios/openconfig-interfaces/default/replace.txt diff --git a/test/integration/profiles_data/ios/openconfig-interfaces/default/translation.txt b/test/integration/test_parse_config/ios/openconfig-interfaces/default/translation.txt similarity index 100% rename from test/integration/profiles_data/ios/openconfig-interfaces/default/translation.txt rename to test/integration/test_parse_config/ios/openconfig-interfaces/default/translation.txt diff --git a/test/integration/profiles_data/junos/openconfig-interfaces/default/openconfig-interfaces.expected b/test/integration/test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.expected similarity index 100% rename from test/integration/profiles_data/junos/openconfig-interfaces/default/openconfig-interfaces.expected rename to test/integration/test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.expected diff --git a/test/integration/profiles_data/junos/openconfig-interfaces/default/openconfig-interfaces.native b/test/integration/test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.native similarity index 100% rename from test/integration/profiles_data/junos/openconfig-interfaces/default/openconfig-interfaces.native rename to test/integration/test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.native diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json b/test/integration/test_parse_config/junos/openconfig-network-instance/default/candidate.json similarity index 100% rename from test/integration/profiles_data/junos/openconfig-network-instance/default/candidate.json rename to test/integration/test_parse_config/junos/openconfig-network-instance/default/candidate.json diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json b/test/integration/test_parse_config/junos/openconfig-network-instance/default/expected.json similarity index 100% rename from test/integration/profiles_data/junos/openconfig-network-instance/default/expected.json rename to test/integration/test_parse_config/junos/openconfig-network-instance/default/expected.json diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt b/test/integration/test_parse_config/junos/openconfig-network-instance/default/merge.txt similarity index 100% rename from test/integration/profiles_data/junos/openconfig-network-instance/default/merge.txt rename to test/integration/test_parse_config/junos/openconfig-network-instance/default/merge.txt diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt b/test/integration/test_parse_config/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 similarity index 100% rename from test/integration/profiles_data/junos/openconfig-network-instance/default/config.txt rename to test/integration/test_parse_config/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt b/test/integration/test_parse_config/junos/openconfig-network-instance/default/replace.txt similarity index 100% rename from test/integration/profiles_data/junos/openconfig-network-instance/default/replace.txt rename to test/integration/test_parse_config/junos/openconfig-network-instance/default/replace.txt diff --git a/test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt b/test/integration/test_parse_config/junos/openconfig-network-instance/default/translation.txt similarity index 100% rename from test/integration/profiles_data/junos/openconfig-network-instance/default/translation.txt rename to test/integration/test_parse_config/junos/openconfig-network-instance/default/translation.txt diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 2dd2d23d..a053d758 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -3,6 +3,7 @@ # from napalm_base import get_network_driver import napalm_yang +from napalm_base.mock import MockDriver import pytest @@ -56,33 +57,35 @@ def pretty_json(dictionary): ] -def read_file_content(profile, model, case, filename): - full_path = os.path.join(BASE_PATH, "profiles_data", +def read_file_content(base, profile, model, case, filename): + full_path = os.path.join(BASE_PATH, base, profile, model._yang_name, case, filename) with open(full_path, "r") as f: return f.read() -def read_json(profile, model, case, filename): - return json.loads(read_file_content(profile, model, case, filename)) +def read_json(base, profile, model, case, filename): + return json.loads(read_file_content(base, profile, model, case, filename)) class Tests(object): @pytest.mark.parametrize("profile, model, case", test_config_profile_models) def test_parse_config(self, profile, model, case): - config_txt = read_file_content(profile, model, case, "config.txt") - expected_json = read_json(profile, model, case, "expected.json") - - config = napalm_yang.base.Root() - config.add_model(model) - config.parse_config(native=[config_txt], profile=[profile]) - + expected_json = read_json("test_parse_config", profile, model, case, "expected.json") expected = napalm_yang.base.Root() expected.add_model(model) expected.load_dict(expected_json) - # print(pretty_json(config.get(filter=True))) + optional_args = { + "path": os.path.join(BASE_PATH, "test_parse_config", + profile, model._yang_name, case, "mocked"), + "profile": profile if isinstance(profile, list) else [profile], + } + with MockDriver("hostname", "username", "password", optional_args=optional_args) as d: + config = napalm_yang.base.Root() + config.add_model(model) + config.parse_config(device=d) assert not napalm_yang.utils.diff(config, expected) From f03cba81431840c7bde29fc498d9b42e43484def Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 1 Jul 2017 21:24:33 +0200 Subject: [PATCH 102/153] Finish adapting to MockDriver --- .../openconfig-interfaces/interfaces.yaml | 2 +- test/integration/test_profiles.py | 89 +++++++++---------- .../default/expected.json} | 0 .../default/mocked/cli.1.show_interfaces.0} | 0 .../default/candidate.json | 0 .../default/expected.json | 0 .../default/merge.txt | 0 .../mocked/cli.1.show_running_config_all.0 | 0 .../default/replace.txt | 0 .../default/translation.txt | 0 .../default/openconfig-platform.expected | 0 .../default/openconfig-platform.native | 0 .../default/candidate.json | 0 .../default/expected.json | 0 .../openconfig-interfaces/default/merge.txt | 0 .../mocked/cli.1.show_running_config_all.0 | 0 .../openconfig-interfaces/default/replace.txt | 0 .../default/translation.txt | 0 .../default/expected.json} | 0 ...on_extensive_get_interface_information_.0} | 0 .../default/candidate.json | 0 .../default/expected.json | 0 .../default/merge.txt | 0 .../mocked/cli.1._get_configuration_.0 | 0 .../default/replace.txt | 0 .../default/translation.txt | 0 26 files changed, 44 insertions(+), 47 deletions(-) rename test/integration/{test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.expected => test_profiles/eos/openconfig-interfaces/default/expected.json} (100%) rename test/integration/{test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.native => test_profiles/eos/openconfig-interfaces/default/mocked/cli.1.show_interfaces.0} (100%) rename test/integration/{test_parse_config => test_profiles}/eos/openconfig-network-instance/default/candidate.json (100%) rename test/integration/{test_parse_config => test_profiles}/eos/openconfig-network-instance/default/expected.json (100%) rename test/integration/{test_parse_config => test_profiles}/eos/openconfig-network-instance/default/merge.txt (100%) rename test/integration/{test_parse_config => test_profiles}/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0 (100%) rename test/integration/{test_parse_config => test_profiles}/eos/openconfig-network-instance/default/replace.txt (100%) rename test/integration/{test_parse_config => test_profiles}/eos/openconfig-network-instance/default/translation.txt (100%) rename test/integration/{test_parse_config => test_profiles}/eos/openconfig-platform/default/openconfig-platform.expected (100%) rename test/integration/{test_parse_config => test_profiles}/eos/openconfig-platform/default/openconfig-platform.native (100%) rename test/integration/{test_parse_config => test_profiles}/ios/openconfig-interfaces/default/candidate.json (100%) rename test/integration/{test_parse_config => test_profiles}/ios/openconfig-interfaces/default/expected.json (100%) rename test/integration/{test_parse_config => test_profiles}/ios/openconfig-interfaces/default/merge.txt (100%) rename test/integration/{test_parse_config => test_profiles}/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0 (100%) rename test/integration/{test_parse_config => test_profiles}/ios/openconfig-interfaces/default/replace.txt (100%) rename test/integration/{test_parse_config => test_profiles}/ios/openconfig-interfaces/default/translation.txt (100%) rename test/integration/{test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.expected => test_profiles/junos/openconfig-interfaces/default/expected.json} (100%) rename test/integration/{test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.native => test_profiles/junos/openconfig-interfaces/default/mocked/cli.1._get_interface_information_extensive_get_interface_information_.0} (100%) rename test/integration/{test_parse_config => test_profiles}/junos/openconfig-network-instance/default/candidate.json (100%) rename test/integration/{test_parse_config => test_profiles}/junos/openconfig-network-instance/default/expected.json (100%) rename test/integration/{test_parse_config => test_profiles}/junos/openconfig-network-instance/default/merge.txt (100%) rename test/integration/{test_parse_config => test_profiles}/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 (100%) rename test/integration/{test_parse_config => test_profiles}/junos/openconfig-network-instance/default/replace.txt (100%) rename test/integration/{test_parse_config => test_profiles}/junos/openconfig-network-instance/default/translation.txt (100%) diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml index f1186f61..94014fe8 100644 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -4,7 +4,7 @@ metadata: execute: - method: "device.run_commands" kwargs: - commands: ["show interfaces", "show snmp mib ifmib ifindex"] + commands: ["show interfaces"] interfaces: _process: unnecessary diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index a053d758..e3858e02 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -45,15 +45,12 @@ def pretty_json(dictionary): BASE_PATH = os.path.dirname(__file__) -test_config_profile_models = [ - ["ios", napalm_yang.models.openconfig_interfaces, "default"], - ["eos", napalm_yang.models.openconfig_network_instance, "default"], - ["junos", napalm_yang.models.openconfig_network_instance, "default"], -] - -test_state_profile_models = [ - ["junos", napalm_yang.models.openconfig_interfaces, "default"], - ["eos", napalm_yang.models.openconfig_interfaces, "default"], +test_parse_models = [ + ["ios", "config", napalm_yang.models.openconfig_interfaces, "default"], + ["eos", "config", napalm_yang.models.openconfig_network_instance, "default"], + ["eos", "state", napalm_yang.models.openconfig_interfaces, "default"], + ["junos", "config", napalm_yang.models.openconfig_network_instance, "default"], + ["junos", "state", napalm_yang.models.openconfig_interfaces, "default"], ] @@ -68,31 +65,44 @@ def read_json(base, profile, model, case, filename): return json.loads(read_file_content(base, profile, model, case, filename)) +def load_json_model(base, profile, model, case, filename): + expected_json = read_json(base, profile, model, case, "expected.json") + expected = napalm_yang.base.Root() + expected.add_model(model) + expected.load_dict(expected_json) + return expected + + class Tests(object): - @pytest.mark.parametrize("profile, model, case", test_config_profile_models) - def test_parse_config(self, profile, model, case): - expected_json = read_json("test_parse_config", profile, model, case, "expected.json") - expected = napalm_yang.base.Root() - expected.add_model(model) - expected.load_dict(expected_json) + @pytest.mark.parametrize("profile, mode, model, case", test_parse_models) + def test_parse(self, profile, mode, model, case): + expected = load_json_model("test_profiles", profile, model, case, "expected.json") optional_args = { - "path": os.path.join(BASE_PATH, "test_parse_config", + "path": os.path.join(BASE_PATH, "test_profiles", profile, model._yang_name, case, "mocked"), "profile": profile if isinstance(profile, list) else [profile], } with MockDriver("hostname", "username", "password", optional_args=optional_args) as d: - config = napalm_yang.base.Root() - config.add_model(model) - config.parse_config(device=d) + yang = napalm_yang.base.Root() + yang.add_model(model) + + if mode == "config": + yang.parse_config(device=d) + else: + yang.parse_state(device=d) + + assert not napalm_yang.utils.diff(yang, expected) - assert not napalm_yang.utils.diff(config, expected) + @pytest.mark.parametrize("profile, mode, model, case", test_parse_models) + def test_translate(self, profile, mode, model, case): + if mode == "state": + return - @pytest.mark.parametrize("profile, model, case", test_config_profile_models) - def test_translate(self, profile, model, case): - json_blob = read_json(profile, model, case, "expected.json") - expected_translation = read_file_content(profile, model, case, "translation.txt") + json_blob = read_json("test_profiles", profile, model, case, "expected.json") + expected_translation = read_file_content("test_profiles", profile, model, case, + "translation.txt") config = napalm_yang.base.Root() config.add_model(model) @@ -108,12 +118,16 @@ def test_translate(self, profile, model, case): assert configuration == expected_translation @pytest.mark.parametrize("action", ["merge", "replace"]) - @pytest.mark.parametrize("profile, model, case", test_config_profile_models) - def test_translate_merge(self, action, profile, model, case): - json_running = read_json(profile, model, case, "expected.json") - json_candidate = read_json(profile, model, case, "candidate.json") + @pytest.mark.parametrize("profile, mode, model, case", test_parse_models) + def test_translate_merge(self, mode, action, profile, model, case): + if mode == "state": + return - expected_translation = read_file_content(profile, model, case, "{}.txt".format(action)) + json_running = read_json("test_profiles", profile, model, case, "expected.json") + json_candidate = read_json("test_profiles", profile, model, case, "candidate.json") + + expected_translation = read_file_content("test_profiles", profile, model, case, + "{}.txt".format(action)) candidate = napalm_yang.base.Root() candidate.add_model(model) @@ -138,20 +152,3 @@ def test_translate_merge(self, action, profile, model, case): # d.discard_config() assert configuration == expected_translation - - @pytest.mark.parametrize("profile, model, case", test_state_profile_models) - def test_parse_state(self, profile, model, case): - native = read_file_content(profile, model, case, "{}.native".format(model._yang_name)) - expected_json = read_json(profile, model, case, "{}.expected".format(model._yang_name)) - - state = napalm_yang.base.Root() - state.add_model(model) - state.parse_state(native=[native], profile=[profile]) - - # print(pretty_json(state.get(filter=True))) - - expected = napalm_yang.base.Root() - expected.add_model(model) - expected.load_dict(expected_json) - - assert not napalm_yang.utils.diff(state, expected) diff --git a/test/integration/test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.expected b/test/integration/test_profiles/eos/openconfig-interfaces/default/expected.json similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.expected rename to test/integration/test_profiles/eos/openconfig-interfaces/default/expected.json diff --git a/test/integration/test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.native b/test/integration/test_profiles/eos/openconfig-interfaces/default/mocked/cli.1.show_interfaces.0 similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-interfaces/default/openconfig-interfaces.native rename to test/integration/test_profiles/eos/openconfig-interfaces/default/mocked/cli.1.show_interfaces.0 diff --git a/test/integration/test_parse_config/eos/openconfig-network-instance/default/candidate.json b/test/integration/test_profiles/eos/openconfig-network-instance/default/candidate.json similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-network-instance/default/candidate.json rename to test/integration/test_profiles/eos/openconfig-network-instance/default/candidate.json diff --git a/test/integration/test_parse_config/eos/openconfig-network-instance/default/expected.json b/test/integration/test_profiles/eos/openconfig-network-instance/default/expected.json similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-network-instance/default/expected.json rename to test/integration/test_profiles/eos/openconfig-network-instance/default/expected.json diff --git a/test/integration/test_parse_config/eos/openconfig-network-instance/default/merge.txt b/test/integration/test_profiles/eos/openconfig-network-instance/default/merge.txt similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-network-instance/default/merge.txt rename to test/integration/test_profiles/eos/openconfig-network-instance/default/merge.txt diff --git a/test/integration/test_parse_config/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0 b/test/integration/test_profiles/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0 similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0 rename to test/integration/test_profiles/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0 diff --git a/test/integration/test_parse_config/eos/openconfig-network-instance/default/replace.txt b/test/integration/test_profiles/eos/openconfig-network-instance/default/replace.txt similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-network-instance/default/replace.txt rename to test/integration/test_profiles/eos/openconfig-network-instance/default/replace.txt diff --git a/test/integration/test_parse_config/eos/openconfig-network-instance/default/translation.txt b/test/integration/test_profiles/eos/openconfig-network-instance/default/translation.txt similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-network-instance/default/translation.txt rename to test/integration/test_profiles/eos/openconfig-network-instance/default/translation.txt diff --git a/test/integration/test_parse_config/eos/openconfig-platform/default/openconfig-platform.expected b/test/integration/test_profiles/eos/openconfig-platform/default/openconfig-platform.expected similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-platform/default/openconfig-platform.expected rename to test/integration/test_profiles/eos/openconfig-platform/default/openconfig-platform.expected diff --git a/test/integration/test_parse_config/eos/openconfig-platform/default/openconfig-platform.native b/test/integration/test_profiles/eos/openconfig-platform/default/openconfig-platform.native similarity index 100% rename from test/integration/test_parse_config/eos/openconfig-platform/default/openconfig-platform.native rename to test/integration/test_profiles/eos/openconfig-platform/default/openconfig-platform.native diff --git a/test/integration/test_parse_config/ios/openconfig-interfaces/default/candidate.json b/test/integration/test_profiles/ios/openconfig-interfaces/default/candidate.json similarity index 100% rename from test/integration/test_parse_config/ios/openconfig-interfaces/default/candidate.json rename to test/integration/test_profiles/ios/openconfig-interfaces/default/candidate.json diff --git a/test/integration/test_parse_config/ios/openconfig-interfaces/default/expected.json b/test/integration/test_profiles/ios/openconfig-interfaces/default/expected.json similarity index 100% rename from test/integration/test_parse_config/ios/openconfig-interfaces/default/expected.json rename to test/integration/test_profiles/ios/openconfig-interfaces/default/expected.json diff --git a/test/integration/test_parse_config/ios/openconfig-interfaces/default/merge.txt b/test/integration/test_profiles/ios/openconfig-interfaces/default/merge.txt similarity index 100% rename from test/integration/test_parse_config/ios/openconfig-interfaces/default/merge.txt rename to test/integration/test_profiles/ios/openconfig-interfaces/default/merge.txt diff --git a/test/integration/test_parse_config/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0 b/test/integration/test_profiles/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0 similarity index 100% rename from test/integration/test_parse_config/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0 rename to test/integration/test_profiles/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0 diff --git a/test/integration/test_parse_config/ios/openconfig-interfaces/default/replace.txt b/test/integration/test_profiles/ios/openconfig-interfaces/default/replace.txt similarity index 100% rename from test/integration/test_parse_config/ios/openconfig-interfaces/default/replace.txt rename to test/integration/test_profiles/ios/openconfig-interfaces/default/replace.txt diff --git a/test/integration/test_parse_config/ios/openconfig-interfaces/default/translation.txt b/test/integration/test_profiles/ios/openconfig-interfaces/default/translation.txt similarity index 100% rename from test/integration/test_parse_config/ios/openconfig-interfaces/default/translation.txt rename to test/integration/test_profiles/ios/openconfig-interfaces/default/translation.txt diff --git a/test/integration/test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.expected b/test/integration/test_profiles/junos/openconfig-interfaces/default/expected.json similarity index 100% rename from test/integration/test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.expected rename to test/integration/test_profiles/junos/openconfig-interfaces/default/expected.json diff --git a/test/integration/test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.native b/test/integration/test_profiles/junos/openconfig-interfaces/default/mocked/cli.1._get_interface_information_extensive_get_interface_information_.0 similarity index 100% rename from test/integration/test_parse_config/junos/openconfig-interfaces/default/openconfig-interfaces.native rename to test/integration/test_profiles/junos/openconfig-interfaces/default/mocked/cli.1._get_interface_information_extensive_get_interface_information_.0 diff --git a/test/integration/test_parse_config/junos/openconfig-network-instance/default/candidate.json b/test/integration/test_profiles/junos/openconfig-network-instance/default/candidate.json similarity index 100% rename from test/integration/test_parse_config/junos/openconfig-network-instance/default/candidate.json rename to test/integration/test_profiles/junos/openconfig-network-instance/default/candidate.json diff --git a/test/integration/test_parse_config/junos/openconfig-network-instance/default/expected.json b/test/integration/test_profiles/junos/openconfig-network-instance/default/expected.json similarity index 100% rename from test/integration/test_parse_config/junos/openconfig-network-instance/default/expected.json rename to test/integration/test_profiles/junos/openconfig-network-instance/default/expected.json diff --git a/test/integration/test_parse_config/junos/openconfig-network-instance/default/merge.txt b/test/integration/test_profiles/junos/openconfig-network-instance/default/merge.txt similarity index 100% rename from test/integration/test_parse_config/junos/openconfig-network-instance/default/merge.txt rename to test/integration/test_profiles/junos/openconfig-network-instance/default/merge.txt diff --git a/test/integration/test_parse_config/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 b/test/integration/test_profiles/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 similarity index 100% rename from test/integration/test_parse_config/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 rename to test/integration/test_profiles/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 diff --git a/test/integration/test_parse_config/junos/openconfig-network-instance/default/replace.txt b/test/integration/test_profiles/junos/openconfig-network-instance/default/replace.txt similarity index 100% rename from test/integration/test_parse_config/junos/openconfig-network-instance/default/replace.txt rename to test/integration/test_profiles/junos/openconfig-network-instance/default/replace.txt diff --git a/test/integration/test_parse_config/junos/openconfig-network-instance/default/translation.txt b/test/integration/test_profiles/junos/openconfig-network-instance/default/translation.txt similarity index 100% rename from test/integration/test_parse_config/junos/openconfig-network-instance/default/translation.txt rename to test/integration/test_profiles/junos/openconfig-network-instance/default/translation.txt From c9b590b755c14cb8f3092fc649e955edb55c6381 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 1 Jul 2017 21:29:32 +0200 Subject: [PATCH 103/153] Typo --- napalm_yang/parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index 2f4cc5af..41ffe334 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -63,7 +63,7 @@ def _execute_methods(self, device, methods): if not isinstance(args, list): raise TypeError("args must be type list, not type {}".format(type(args))) kwargs = m.get("kwargs", {}) - if not isinstance(args, dict): + if not isinstance(kwargs, dict): raise TypeError("kwargs must be type dict, not type {}".format(type(kwargs))) r = attr(*args, **kwargs) From 40fccd1d17bddfe05ebe044732cf057b7aa0dfeb Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 3 Jul 2017 13:23:54 +0200 Subject: [PATCH 104/153] making pylama happy --- test/unit/test_jinja_filters.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/test/unit/test_jinja_filters.py b/test/unit/test_jinja_filters.py index 64d6209c..96397ed1 100644 --- a/test/unit/test_jinja_filters.py +++ b/test/unit/test_jinja_filters.py @@ -73,9 +73,12 @@ def test_normalize_prefix(self): self.assertRaises(AddrFormatError, ip_filters.normalize_prefix, 'bad') self.assertEqual(ip_filters.normalize_prefix('192.168.0.1'), '192.168.0.1/32') - self.assertEqual(ip_filters.normalize_prefix('192.168.0.55 255.255.255.0'), '192.168.0.55/24') - self.assertEqual(ip_filters.normalize_prefix('192.168.0.55/255.255.255.0'), '192.168.0.55/24') - self.assertEqual(ip_filters.normalize_prefix('2001:0DB8:0:0000:1:0:0:1/64'), '2001:db8::1:0:0:1/64') + self.assertEqual(ip_filters.normalize_prefix('192.168.0.55 255.255.255.0'), + '192.168.0.55/24') + self.assertEqual(ip_filters.normalize_prefix('192.168.0.55/255.255.255.0'), + '192.168.0.55/24') + self.assertEqual(ip_filters.normalize_prefix('2001:0DB8:0:0000:1:0:0:1/64'), + '2001:db8::1:0:0:1/64') def test_normalize_address(self): """ @@ -94,7 +97,8 @@ def test_normalize_address(self): self.assertEqual(ip_filters.normalize_address('192.168.0.1'), '192.168.0.1') self.assertEqual(ip_filters.normalize_address('192.168.1'), '192.168.0.1') - self.assertEqual(ip_filters.normalize_address('2001:0DB8:0:0000:1:0:0:1'), '2001:db8::1:0:0:1') + self.assertEqual(ip_filters.normalize_address('2001:0DB8:0:0000:1:0:0:1'), + '2001:db8::1:0:0:1') def test_prefix_to_addrmask(self): """ @@ -111,5 +115,7 @@ def test_prefix_to_addrmask(self): self.assertRaises(AddrFormatError, ip_filters.prefix_to_addrmask, 'bad') - self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.1/24'), '192.168.0.1 255.255.255.0') - self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.0/32', '/'), '192.168.0.0/255.255.255.255') + self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.1/24'), + '192.168.0.1 255.255.255.0') + self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.0/32', '/'), + '192.168.0.0/255.255.255.255') From cc029eb5808e1c69d7b7ecac5bee173ddf420656 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 3 Jul 2017 13:24:46 +0200 Subject: [PATCH 105/153] Minor cleaning to --- napalm_yang/translator.py | 6 +++--- napalm_yang/translators/base.py | 8 +++----- napalm_yang/translators/text.py | 6 +++--- napalm_yang/translators/xml.py | 6 +++--- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 3931d5c2..32ba5be4 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -151,7 +151,7 @@ def _translate_list(self, attribute, model, mapping, translation, other): def _default_element_list(self, attribute, running, mapping, translation, candidate): # we'll restore old values when we leave this branch - old_extra_vars = copy(self.extra_vars) + old_extra_vars = copy.deepcopy(self.extra_vars) for key in running: logger.info("Defaulting {}: {}".format(attribute, key)) element = running[key] @@ -168,8 +168,8 @@ def _default_element_list(self, attribute, running, mapping, translation, candid self.bookmarks, bool(self.replace), bool(self.merge), True) - _, extra_vars = self.translator.default_element(translation_rule, translation, - self.bookmarks) + extra_vars = self.translator.default_element(translation_rule, translation, + self.bookmarks) self.extra_vars.update(extra_vars) if any([t.get("continue_negating", False) for t in translation_rule]): diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index d88beb0b..5d1fb3a0 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -49,11 +49,9 @@ def default_element(self, mapping, translation, bookmarks, replacing=False): t = _find_translation_point(m, bookmarks, t) method_name = "_default_element_{}".format(mode) - t = getattr(self, method_name)(m, t, replacing) - if isinstance(t, tuple): - extra_vars = t[1] - t = t[0] - return t, extra_vars + t, ev = getattr(self, method_name)(m, t, replacing) + extra_vars.update(ev) + return extra_vars def translate_leaf(self, attribute, model, other, mapping, translation, bookmarks): for m in mapping: diff --git a/napalm_yang/translators/text.py b/napalm_yang/translators/text.py index 441de204..2199f226 100644 --- a/napalm_yang/translators/text.py +++ b/napalm_yang/translators/text.py @@ -65,13 +65,13 @@ def _default_element_default(self, mapping, translation, replacing): extra_vars = {} if (replacing or self.replace) and not mapping.get("replace", True): - return + return None, {} if not self.merge and not self.replace: - return + return None, {} if self.merge and replacing: - return + return None, {} e = etree.SubElement(translation, "command") e.text = mapping["negate"] diff --git a/napalm_yang/translators/xml.py b/napalm_yang/translators/xml.py index b9cddcb0..87e4c0ea 100644 --- a/napalm_yang/translators/xml.py +++ b/napalm_yang/translators/xml.py @@ -44,10 +44,10 @@ def _init_element_default(self, attribute, model, other, mapping, translation): def _default_element_default(self, mapping, translation, replacing): if not self.merge: - return + return None, {} if self.merge and replacing: - return + return None, {} t = translation @@ -62,7 +62,7 @@ def _default_element_default(self, mapping, translation, replacing): if mapping.get("delete_on_merge", True): t.set("delete", "delete") - return t + return t, {} def _translate_leaf_default(self, attribute, model, other, mapping, translation, force=False): delete = False From e3940349a3912adc1b7f8ce900862aab35052481 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 4 Jul 2017 11:30:38 +0200 Subject: [PATCH 106/153] Most junos parsers migrated to JSONParser --- .../parsers/config/openconfig-if-ip/ipv4.yaml | 13 +- .../openconfig-interfaces/interfaces.yaml | 23 +- .../config/openconfig-vlan/routed-vlan.yaml | 2 +- .../parsers/config/openconfig-vlan/vlan.yaml | 4 +- .../openconfig-interfaces/interfaces.yaml | 80 ++++--- napalm_yang/parsers/__init__.py | 4 +- napalm_yang/parsers/base.py | 11 +- napalm_yang/parsers/{json.py => jsonp.py} | 53 ++++- napalm_yang/parsers/xml2.py | 29 +++ requirements.txt | 2 +- .../junos/expected.json | 222 +++++++++--------- 11 files changed, 255 insertions(+), 188 deletions(-) rename napalm_yang/parsers/{json.py => jsonp.py} (61%) create mode 100644 napalm_yang/parsers/xml2.py diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml index 81e39979..988cc4b5 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: XMLParser + processor: XMLParser2 ipv4: _process: unnecessary @@ -9,14 +9,15 @@ ipv4: enabled: _process: - mode: is_present - xpath: "family/inet" + path: "family.inet" mtu: _process: not_implemented addresses: - _process: unnecessary + _process: + - path: "family.inet" address: _process: - - xpath: "family/inet/address" + - path: "address" key: name ip: _process: unnecessary @@ -24,11 +25,11 @@ ipv4: _process: unnecessary ip: _process: - - xpath: "name" + - path: "name" regexp: "(?P.*)/\\d+" prefix-length: _process: - - xpath: "name" + - path: "name" regexp: ".*/(?P\\d+)" vrrp: _process: not_implemented diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index a31b0c4f..7a2a8a2c 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -1,18 +1,19 @@ --- metadata: - processor: XMLParser + processor: XMLParser2 execute: - method: _rpc kwargs: get: "" interfaces: - _process: unnecessary + _process: + - path: "configuration.interfaces" + from: interfaces.0 interface: _process: - - xpath: "interfaces/interface" + - path: "interface" key: name - from: interfaces.0 name: _process: unnecessary hold-time: @@ -32,7 +33,7 @@ interfaces: type: _process: - mode: map - xpath: name + path: name regexp: "(?P[a-z]+).*" map: ge: ethernetCsmacd @@ -46,18 +47,18 @@ interfaces: enabled: _process: - mode: is_absent - xpath: "disable" + path: "disable" description: _process: - - xpath: description + - path: description mtu: _process: - - xpath: mtu + - path: mtu subinterfaces: _process: unnecessary subinterface: _process: - - xpath: "unit" + - path: "unit" key: name index: _process: unnecessary @@ -72,7 +73,7 @@ interfaces: enabled: _process: - mode: is_absent - xpath: "disable" + path: "disable" description: _process: - - xpath: description + - path: description diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/routed-vlan.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/routed-vlan.yaml index a1a318f2..35542eb2 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/routed-vlan.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/routed-vlan.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: XMLParser + processor: XMLParser2 routed-vlan: _process: unnecessary diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml index a4e51d99..dab05b8d 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: XMLParser + processor: XMLParser2 vlan: _process: unnecessary @@ -8,4 +8,4 @@ vlan: _process: unnecessary vlan-id: _process: - - xpath: "vlan-id" + - path: "vlan-id" diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index 787ad831..15385e37 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -1,18 +1,19 @@ --- metadata: - processor: XMLParser + processor: XMLParser2 execute: - method: _rpc kwargs: get: "" interfaces: - _process: unnecessary + _process: + - path: "interface-information" + from: interfaces.0 interface: _process: - - xpath: "physical-interface" + - path: "physical-interface" key: name - from: interfaces.0 config: _process: unnecessary hold-time: @@ -30,104 +31,105 @@ interfaces: admin-status: _process: - mode: map - xpath: "admin-status" + path: "admin-status" map: up: UP down: DOWN description: _process: - - xpath: "description" + - path: "description" enabled: _process: - mode: map - xpath: "admin-status" + path: "admin-status" map: up: true down: false ifindex: _process: - - xpath: "snmp-index" + - path: "snmp-index" last-change: _process: - - xpath: "interface-flapped" + - path: "interface-flapped" attribute: "seconds" mtu: _process: - - xpath: "mtu" + - path: "mtu" regexp: "(?P\\d+)" # Someone thought mixing strings and ints was a good idea name: _process: unnecessary oper-status: _process: - mode: map - xpath: "oper-status" + path: "oper-status" map: up: UP down: DOWN type: _process: - mode: map - xpath: "if-type" + default: unspecified + path: "if-type" map: - GRE: tunnel - IPIP: tunnel - Logical-tunnel: tunnel - Multicast-GRE: tunnel - Secure-Tunnel: tunnel - Ethernet: ethernetCsmacd - Mgmt-VLAN: ethernetCsmacd - Loopback: softwareLoopback - VLAN: l2vlan - Adaptive-Services: null - Software-Pseudo: null - PIMD: null - PIME: null - PPPoE: null - Unspecified: null + gre: tunnel + ipip: tunnel + logical-tunnel: tunnel + multicast-gre: tunnel + secure-tunnel: tunnel + ethernet: ethernetCsmacd + mgmt-VLAN: ethernetCsmacd + loopback: softwareLoopback + vlan: l2vlan + adaptive-services: null + software-pseudo: null + pimd: null + pime: null + pppoe: null + unspecified: null counters: _process: unnecessary in-broadcast-pkts: _process: - - xpath: "ethernet-mac-statistics/input-broadcasts" + - path: "ethernet-mac-statistics.input-broadcasts" in-discards: _process: - - xpath: "input-error-list/input-discards" + - path: "input-error-list.input-discards" in-errors: _process: - - xpath: "input-error-list/input-errors" + - path: "input-error-list.input-errors" in-multicast-pkts: _process: - - xpath: "ethernet-mac-statistics/input-multicasts" + - path: "ethernet-mac-statistics.input-multicasts" in-octets: _process: not_implemented in-unicast-pkts: _process: - - xpath: "ethernet-mac-statistics/input-unicasts" + - path: "ethernet-mac-statistics.input-unicasts" in-unknown-protos: _process: not_implemented last-clear: _process: not_implemented out-broadcast-pkts: _process: - - xpath: "ethernet-mac-statistics/output-broadcasts" + - path: "ethernet-mac-statistics.output-broadcasts" out-discards: _process: not_implemented out-errors: _process: - - xpath: "output-error-list/output-errors" + - path: "output-error-list.output-errors" out-multicast-pkts: _process: - - xpath: "ethernet-mac-statistics/output-multicasts" + - path: "ethernet-mac-statistics.output-multicasts" out-octets: _process: not_implemented out-unicast-pkts: _process: - - xpath: "ethernet-mac-statistics/output-unicasts" + - path: "ethernet-mac-statistics.output-unicasts" subinterfaces: _process: unnecessary subinterface: _process: - - xpath: "logical-interface" + - path: "logical-interface" key: name index: _process: unnecessary @@ -139,14 +141,14 @@ interfaces: _process: not_implemented description: _process: - - xpath: "description" + - path: "description" enabled: _process: not_implemented admin-status: _process: not_implemented ifindex: _process: - - xpath: "snmp-index" + - path: "snmp-index" last-change: _process: not_implemented name: diff --git a/napalm_yang/parsers/__init__.py b/napalm_yang/parsers/__init__.py index d0bd5f98..95974fae 100644 --- a/napalm_yang/parsers/__init__.py +++ b/napalm_yang/parsers/__init__.py @@ -1,6 +1,7 @@ -from napalm_yang.parsers.json import JSONParser +from napalm_yang.parsers.jsonp import JSONParser from napalm_yang.parsers.text import TextParser from napalm_yang.parsers.xml import XMLParser +from napalm_yang.parsers.xml2 import XMLParser2 from napalm_yang.translators.text import TextTranslator from napalm_yang.translators.xml import XMLTranslator @@ -11,6 +12,7 @@ def get_parser(parser): "JSONParser": JSONParser, "TextParser": TextParser, "XMLParser": XMLParser, + "XMLParser2": XMLParser2, "TextTranslator": TextTranslator, "XMLTranslator": XMLTranslator, } diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index b8509664..92e79871 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -4,7 +4,7 @@ class BaseParser(object): @staticmethod - def resolve_path(my_dict, path, default=None): + def resolve_path(my_dict, path, default=None, check_presence=False): if path is None: return @@ -16,10 +16,11 @@ def resolve_path(my_dict, path, default=None): b = b[p] except TypeError: b = b[int(p)] - except KeyError: - if i == len(path_split) - 1 and default is not None: - return default - raise + except (KeyError, ValueError): + return default + else: + if check_presence: + return i == len(path_split) - 1 return b @classmethod diff --git a/napalm_yang/parsers/json.py b/napalm_yang/parsers/jsonp.py similarity index 61% rename from napalm_yang/parsers/json.py rename to napalm_yang/parsers/jsonp.py index 39abe61f..b84ae5e3 100644 --- a/napalm_yang/parsers/json.py +++ b/napalm_yang/parsers/jsonp.py @@ -3,9 +3,20 @@ import re import json +from collections import OrderedDict + from napalm_yang.parsers.base import BaseParser +def get_element_with_cdata(dictionary, element): + e = dictionary[element] + if isinstance(e, OrderedDict): + # this is for xmltodict + return e["#text"] + else: + return e + + class JSONParser(BaseParser): @classmethod @@ -21,24 +32,41 @@ def init_native(cls, native): @classmethod def _parse_list_default(cls, mapping, data, key=None): + def _iterator(d, mapping): + # key_element is necessary when we have lists of dicts + key_element = mapping.get("key") + + if key_element and d: + if key_element in d: + # xmltodict returns a dict when there is only one element + d = [d] + + key_element = mapping["key"] + for v in d: + k = get_element_with_cdata(v, key_element) + yield k, v + elif d: + for k, v in d.items(): + yield k, v + d = cls.resolve_path(data, mapping["path"], mapping.get("default")) regexp = mapping.get('regexp', None) if regexp: regexp = re.compile(regexp) - if isinstance(d, dict): - for k, v in d.items(): - if regexp: - match = regexp.match(k) - if match: - k = match.group('value') - else: - continue - yield k, v, {} + + for k, v in _iterator(d, mapping): + if regexp: + match = regexp.match(k) + if match: + k = match.group('value') + else: + continue + yield k, v, {} @classmethod def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): - d = cls.resolve_path(data, mapping["path"], mapping.get("default")) + d = cls.resolve_path(data, mapping["path"], mapping.get("default"), check_presence) if d and not check_presence: regexp = mapping.get('regexp', None) if regexp: @@ -63,7 +91,10 @@ def _parse_container_default(cls, mapping, data): @classmethod def _parse_leaf_map(cls, mapping, data): v = cls._parse_leaf_default(mapping, data) - return mapping['map'][v.lower()] + if v: + return mapping['map'][v.lower()] + else: + return @classmethod def _parse_leaf_is_present(cls, mapping, data): diff --git a/napalm_yang/parsers/xml2.py b/napalm_yang/parsers/xml2.py new file mode 100644 index 00000000..eab4c85b --- /dev/null +++ b/napalm_yang/parsers/xml2.py @@ -0,0 +1,29 @@ +from builtins import super + +from napalm_yang.parsers.jsonp import JSONParser + +import xmltodict + + +class XMLParser2(JSONParser): + + @classmethod + def init_native(cls, native): + resp = [] + for n in native: + if isinstance(n, dict): + resp.append(n) + else: + resp.append(xmltodict.parse(n, force_cdata=True)) + + return resp + + @classmethod + def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): + attribute = mapping.get("attribute", None) + if attribute: + attribute = "@{}".format(attribute) + mapping["path"] = "{}.{}".format(mapping["path"], attribute) + elif not check_presence: + mapping["path"] = "{}.{}".format(mapping["path"], "#text") + return super()._parse_leaf_default(mapping, data, check_default, check_presence) diff --git a/requirements.txt b/requirements.txt index ff4ce162..d1cee7c6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ future netaddr -lxml jinja2 +xmltodict PyYAML napalm-base -e git://github.com/napalm-automation/pyangbind.git@napalm_custom#egg=pyangbind diff --git a/test/integration/tutorial_data/test_populating_from_file/junos/expected.json b/test/integration/tutorial_data/test_populating_from_file/junos/expected.json index 6aac2a31..54cf90b3 100644 --- a/test/integration/tutorial_data/test_populating_from_file/junos/expected.json +++ b/test/integration/tutorial_data/test_populating_from_file/junos/expected.json @@ -1,167 +1,167 @@ { "interfaces": { "interface": { - "ae0": { - "config": { - "enabled": true, - "name": "ae0", - "type": "ieee8023adLag" - }, - "name": "ae0", + "ge-0/0/0": { + "name": "ge-0/0/0", "subinterfaces": { "subinterface": { "0": { - "config": { - "description": "ASDASDASD", - "enabled": true, - "name": "0" - }, - "index": "0", + "index": "0", "ipv4": { - "addresses": { - "address": { - "172.20.100.1/24": { - "config": { - "ip": "172.20.100.1", - "prefix-length": 24 - }, - "ip": "172.20.100.1/24" - }, - "192.168.100.1/24": { - "config": { - "ip": "192.168.100.1", - "prefix-length": 24 - }, - "ip": "192.168.100.1/24" - } - } - }, "config": { "enabled": true } - }, + }, + "config": { + "enabled": true, + "name": "0", + "description": "ge-0/0/0.0" + } + } + } + }, + "config": { + "type": "ethernetCsmacd", + "mtu": 1400, + "enabled": true, + "description": "management interface", + "name": "ge-0/0/0" + } + }, + "ge-0/0/1": { + "name": "ge-0/0/1", + "config": { + "type": "ethernetCsmacd", + "enabled": false, + "description": "ge-0/0/1", + "name": "ge-0/0/1" + } + }, + "ae0": { + "name": "ae0", + "subinterfaces": { + "subinterface": { + "0": { + "index": "0", "vlan": { "config": { "vlan-id": 100 } - } - }, - "1": { - "config": { - "description": "ae0.1", - "enabled": true, - "name": "1" - }, - "index": "1", + }, "ipv4": { + "config": { + "enabled": true + }, "addresses": { "address": { - "192.168.101.1/24": { + "192.168.100.1/24": { + "ip": "192.168.100.1/24", "config": { - "ip": "192.168.101.1", + "ip": "192.168.100.1", "prefix-length": 24 - }, - "ip": "192.168.101.1/24" + } + }, + "172.20.100.1/24": { + "ip": "172.20.100.1/24", + "config": { + "ip": "172.20.100.1", + "prefix-length": 24 + } } } - }, - "config": { - "enabled": true } - }, + }, + "config": { + "enabled": true, + "name": "0", + "description": "ASDASDASD" + } + }, + "1": { + "index": "1", "vlan": { "config": { "vlan-id": 1 } - } - }, - "2": { - "config": { - "description": "ae0.2", - "enabled": true, - "name": "2" - }, - "index": "2", + }, "ipv4": { + "config": { + "enabled": true + }, "addresses": { "address": { - "192.168.102.1/24": { + "192.168.101.1/24": { + "ip": "192.168.101.1/24", "config": { - "ip": "192.168.102.1", + "ip": "192.168.101.1", "prefix-length": 24 - }, - "ip": "192.168.102.1/24" + } } } - }, - "config": { - "enabled": true } - }, + }, + "config": { + "enabled": true, + "name": "1", + "description": "ae0.1" + } + }, + "2": { + "index": "2", "vlan": { "config": { "vlan-id": 2 } - } - } - } - } - }, - "ge-0/0/0": { - "config": { - "description": "management interface", - "enabled": true, - "mtu": 1400, - "name": "ge-0/0/0", - "type": "ethernetCsmacd" - }, - "name": "ge-0/0/0", - "subinterfaces": { - "subinterface": { - "0": { - "config": { - "description": "ge-0/0/0.0", - "enabled": true, - "name": "0" - }, - "index": "0", + }, "ipv4": { "config": { "enabled": true + }, + "addresses": { + "address": { + "192.168.102.1/24": { + "ip": "192.168.102.1/24", + "config": { + "ip": "192.168.102.1", + "prefix-length": 24 + } + } + } } + }, + "config": { + "enabled": true, + "name": "2", + "description": "ae0.2" } } } - } - }, - "ge-0/0/1": { + }, "config": { - "description": "ge-0/0/1", - "enabled": false, - "name": "ge-0/0/1", - "type": "ethernetCsmacd" - }, - "name": "ge-0/0/1" - }, + "type": "ieee8023adLag", + "enabled": true, + "name": "ae0" + } + }, "lo0": { - "config": { - "description": "lo0", - "enabled": true, - "name": "lo0", - "type": "softwareLoopback" - }, - "name": "lo0", + "name": "lo0", "subinterfaces": { "subinterface": { "0": { + "index": "0", "config": { - "description": "lo0.0", - "enabled": true, - "name": "0" - }, - "index": "0" + "enabled": true, + "name": "0", + "description": "lo0.0" + } } } + }, + "config": { + "type": "softwareLoopback", + "enabled": true, + "description": "lo0", + "name": "lo0" } } } From e786e354d91bb3a45b99b9f9d0475bf766a707e4 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Thu, 6 Jul 2017 15:21:51 +0200 Subject: [PATCH 107/153] regexp can now match gix/y/x --- .../eos/parsers/config/openconfig-interfaces/interfaces.yaml | 4 ++-- .../ios/parsers/config/openconfig-interfaces/interfaces.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml index db034058..2101ec6b 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -9,7 +9,7 @@ interfaces: _process: unnecessary interface: _process: - - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" + - regexp: "(?Pinterface (?P((\\w|-)*\\d+(\\/\\d+)*))\n(?:.|\n)*?^!$)" from: interfaces.0 name: _process: unnecessary @@ -49,7 +49,7 @@ interfaces: _process: unnecessary subinterface: _process: - - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" + - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+(\\/\\d+)*)\\n(?:.|\\n)*?^!$)" from: interfaces.0 index: _process: unnecessary diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index 68790ca9..abb446e8 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -9,7 +9,7 @@ interfaces: _process: unnecessary interface: _process: - - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" + - regexp: "(?Pinterface (?P((\\w|-)*\\d+(\\/\\d+)*))\n(?:.|\n)*?^!$)" from: interfaces.0 name: _process: unnecessary @@ -51,7 +51,7 @@ interfaces: _process: unnecessary subinterface: _process: - - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" + - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+(\\/\\d+)*)\\n(?:.|\\n)*?^!$)" from: interfaces.0 index: _process: unnecessary From 7f6cb1dd4a4e681375300bf865c7bafd98b03479 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 9 Jul 2017 14:11:25 +0200 Subject: [PATCH 108/153] Move config_logging to a helper function --- napalm_yang/helpers.py | 10 ++++++++++ test/integration/test_profiles.py | 17 +++-------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 49d1abbb..c20e3e9c 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -1,5 +1,6 @@ import yaml import os +import sys import jinja2 from napalm_yang import jinja_filters @@ -19,6 +20,15 @@ def yaml_include(loader, node): yaml.add_constructor("!include", yaml_include) +def config_logging(level=logging.DEBUG, stream=sys.stdout): + logger.setLevel(level) + ch = logging.StreamHandler(stream) + formatter = logging.Formatter('%(name)s - %(levelname)s - %(message)s') + ch.setFormatter(formatter) + logger.addHandler(ch) + + + def find_yang_file(profile, filename, path): """ Find the necessary file for the given test case. diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index e3858e02..a3c8d420 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -10,11 +10,9 @@ import json import os -import sys -import logging -logger = logging.getLogger("napalm-yang") +# napalm_yang.helpers.config_logging() device_configuration = { @@ -27,17 +25,6 @@ } -def config_logging(): - logger.setLevel(logging.DEBUG) - ch = logging.StreamHandler(sys.stdout) - formatter = logging.Formatter('%(name)s - %(levelname)s - %(message)s') - ch.setFormatter(formatter) - logger.addHandler(ch) - - -# config_logging() - - def pretty_json(dictionary): return json.dumps(dictionary, sort_keys=True, indent=4) @@ -93,6 +80,8 @@ def test_parse(self, profile, mode, model, case): else: yang.parse_state(device=d) + # print(pretty_json(yang.get(filter=True))) + # print(pretty_json(expected.get(filter=True))) assert not napalm_yang.utils.diff(yang, expected) @pytest.mark.parametrize("profile, mode, model, case", test_parse_models) From cd6241b59178ff6558fe4616ece2684527de302f Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 9 Jul 2017 14:12:02 +0200 Subject: [PATCH 109/153] log error if value of leaf is incorrect --- napalm_yang/parser.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index 41ffe334..d879faaa 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -191,7 +191,11 @@ def _parse_leaf(self, attribute, model, mapping): if value is not None and (value != model.default() or isinstance(value, bool)): setter = getattr(model._parent, "_set_{}".format(attribute)) - setter(value) + try: + setter(value) + except ValueError: + logger.error("Wrong value for {}: {}".format(attribute, value)) + raise # parent.model is now a new class model = getattr(model._parent, attribute) From 1811a0c55cce21f4ffd19fedb811469b70244574 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 9 Jul 2017 14:14:55 +0200 Subject: [PATCH 110/153] native data is now accessed as root_$model and set after being initialized --- .../parsers/config/openconfig-interfaces/interfaces.yaml | 4 ++-- .../openconfig-network-instance/network-instances.yaml | 4 ++++ .../parsers/state/openconfig-interfaces/interfaces.yaml | 4 ++-- .../parsers/config/openconfig-interfaces/interfaces.yaml | 4 ++-- .../parsers/config/openconfig-interfaces/interfaces.yaml | 2 +- .../parsers/state/openconfig-interfaces/interfaces.yaml | 2 +- napalm_yang/parser.py | 7 ++++--- 7 files changed, 16 insertions(+), 11 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml index db034058..ab4e9c2e 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -10,7 +10,7 @@ interfaces: interface: _process: - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" - from: interfaces.0 + from: root_interfaces.0 name: _process: unnecessary hold-time: @@ -50,7 +50,7 @@ interfaces: subinterface: _process: - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" - from: interfaces.0 + from: root_interfaces.0 index: _process: unnecessary config: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index a7720da3..28a5de52 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -16,6 +16,7 @@ network-instances: key: "global" block: "" extra_vars: {} + from: root_network-instances.0 afts: !include includes/afts.yaml config: _process: unnecessary @@ -318,14 +319,17 @@ network-instances: _process: - regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" from: network-instances.0 + from: root_network-instances.0 composite_key: [protocol_name, protocol_name] when: "{{ network_instance_key == 'global' }}" - regexp: "router (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?^ (?Pvrf {{ network_instance_key }}\n(?:.|\n)*?)^(!| vrf.*)$" from: network-instances.0 + from: root_network-instances.0 composite_key: [protocol_name, protocol_name] when: "{{ network_instance_key != 'global' }}" - regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" from: network-instances.0 + from: root_network-instances.0 key: "static static" bgp: !include includes/bgp.yaml config: diff --git a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml index 94014fe8..b2235c01 100644 --- a/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -11,7 +11,7 @@ interfaces: interface: _process: - path: interfaces - from: interfaces.0 + from: root_interfaces.0 regexp: "(?P\\w+(\\w|-|\\/)*\\d+)$" config: _process: unnecessary @@ -127,7 +127,7 @@ interfaces: subinterface: _process: - path: interfaces - from: interfaces.0 + from: root_interfaces.0 regexp: "{{interface_key}}\\.(?P\\d+)" config: _process: unnecessary diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index 68790ca9..f52df31a 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -10,7 +10,7 @@ interfaces: interface: _process: - regexp: "(?Pinterface (?P(\\w|-)*\\d+)\n(?:.|\n)*?^!$)" - from: interfaces.0 + from: root_interfaces.0 name: _process: unnecessary hold-time: @@ -52,7 +52,7 @@ interfaces: subinterface: _process: - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+)\\n(?:.|\\n)*?^!$)" - from: interfaces.0 + from: root_interfaces.0 index: _process: unnecessary config: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index 7a2a8a2c..a1891dee 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -9,7 +9,7 @@ metadata: interfaces: _process: - path: "configuration.interfaces" - from: interfaces.0 + from: root_interfaces.0 interface: _process: - path: "interface" diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index 15385e37..39df3c6c 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -9,7 +9,7 @@ metadata: interfaces: _process: - path: "interface-information" - from: interfaces.0 + from: root_interfaces.0 interface: _process: - path: "physical-interface" diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index d879faaa..3dba7afc 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -50,8 +50,7 @@ def __init__(self, model, device=None, profile=None, is_config=None, if self.mapping: self.parser = get_parser(self.mapping["metadata"]["processor"]) - self.bookmarks = {self._yang_name: self.native, "parent": self.native} - self.bookmarks = bookmarks or self.bookmarks + self.bookmarks = bookmarks or {} def _execute_methods(self, device, methods): result = [] @@ -79,7 +78,9 @@ def parse(self): if not self.mapping: return self.native = self.parser.init_native(self.native) - self.bookmarks.update({self._yang_name: self.native}) + self.bookmarks["root_{}".format(self._yang_name)] = self.native + if "parent" not in self.bookmarks: + self.bookmarks["parent".format(self._yang_name)] = self.native self._parse(self._yang_name, self.model, self.mapping[self._yang_name]) def _parse(self, attribute, model, mapping): From f654a84ee3f7227a28a50b45b1d7327ad032c26d Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 9 Jul 2017 14:17:33 +0200 Subject: [PATCH 111/153] Minor improvements to resolve_path --- napalm_yang/parsers/base.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 92e79871..126f42f5 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -9,14 +9,16 @@ def resolve_path(my_dict, path, default=None, check_presence=False): return b = my_dict - path_split = path.split(".") + path_split = path.split(".") if len(path) else [] for i, p in enumerate(path_split): try: - try: + if isinstance(b, dict): b = b[p] - except TypeError: + elif isinstance(b, list): b = b[int(p)] - except (KeyError, ValueError): + else: + raise Exception(b) + except (KeyError, TypeError, IndexError, ValueError): return default else: if check_presence: From 5fe6842f3eb09c99cc3a1bd5447d7b85455a23bb Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 9 Jul 2017 14:18:56 +0200 Subject: [PATCH 112/153] Fix test case to test lists with one element only --- .../default/candidate.json | 13 +++++----- .../default/expected.json | 24 +------------------ .../default/merge.txt | 8 +++---- .../mocked/cli.1._get_configuration_.0 | 10 -------- .../default/replace.txt | 5 ++-- .../default/translation.txt | 13 +++------- 6 files changed, 17 insertions(+), 56 deletions(-) diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/candidate.json b/test/integration/test_profiles/junos/openconfig-network-instance/default/candidate.json index b4aa3bca..ea568860 100644 --- a/test/integration/test_profiles/junos/openconfig-network-instance/default/candidate.json +++ b/test/integration/test_profiles/junos/openconfig-network-instance/default/candidate.json @@ -206,18 +206,19 @@ }, "next-hops": { "next-hop": { - "192.168.100.100": { + "192.168.100.101": { "config": { - "next-hop": "192.168.100.100" + "metric": 100, + "next-hop": "192.168.100.101" }, - "index": "192.168.100.100" + "index": "192.168.100.101" }, - "192.168.100.101": { + "192.168.100.102": { "config": { "metric": 200, - "next-hop": "192.168.100.101" + "next-hop": "192.168.100.102" }, - "index": "192.168.100.101" + "index": "192.168.100.102" } } }, diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/expected.json b/test/integration/test_profiles/junos/openconfig-network-instance/default/expected.json index 72864ba0..3342b34f 100644 --- a/test/integration/test_profiles/junos/openconfig-network-instance/default/expected.json +++ b/test/integration/test_profiles/junos/openconfig-network-instance/default/expected.json @@ -14,29 +14,6 @@ "name": "static", "static-routes": { "static": { - "10.0.2.0/24": { - "config": { - "prefix": "10.0.2.0/24" - }, - "next-hops": { - "next-hop": { - "192.168.100.100": { - "config": { - "next-hop": "192.168.100.100" - }, - "index": "192.168.100.100" - }, - "192.168.100.101": { - "config": { - "metric": 200, - "next-hop": "192.168.100.101" - }, - "index": "192.168.100.101" - } - } - }, - "prefix": "10.0.2.0/24" - }, "10.100.2.0/24": { "config": { "prefix": "10.100.2.0/24" @@ -183,6 +160,7 @@ }, "192.168.100.3": { "config": { + "local-as": 123, "neighbor-address": "192.168.100.3", "peer-as": 65100, "peer-group": "my_peers" diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/merge.txt b/test/integration/test_profiles/junos/openconfig-network-instance/default/merge.txt index 530d8f86..49b6b477 100644 --- a/test/integration/test_profiles/junos/openconfig-network-instance/default/merge.txt +++ b/test/integration/test_profiles/junos/openconfig-network-instance/default/merge.txt @@ -89,11 +89,12 @@ 10.0.1.0/24 - 192.168.100.100 + 192.168.100.102 + 200 192.168.100.101 - 200 + 100 @@ -119,9 +120,6 @@ 192.168.100.101 200 - - 192.168.100.100 - 10.100.2.0/24 diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 b/test/integration/test_profiles/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 index 0d5e362c..1bcb738c 100755 --- a/test/integration/test_profiles/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 +++ b/test/integration/test_profiles/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 @@ -218,16 +218,6 @@ virtual-router - - 10.0.2.0/24 - - 192.168.100.100 - - - 192.168.100.101 - 200 - - 10.100.2.0/24 diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/replace.txt b/test/integration/test_profiles/junos/openconfig-network-instance/default/replace.txt index b572452e..aefea75b 100644 --- a/test/integration/test_profiles/junos/openconfig-network-instance/default/replace.txt +++ b/test/integration/test_profiles/junos/openconfig-network-instance/default/replace.txt @@ -83,11 +83,12 @@ 10.0.1.0/24 - 192.168.100.100 + 192.168.100.102 + 200 192.168.100.101 - 200 + 100 diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/translation.txt b/test/integration/test_profiles/junos/openconfig-network-instance/default/translation.txt index 235b21d3..ed52e640 100644 --- a/test/integration/test_profiles/junos/openconfig-network-instance/default/translation.txt +++ b/test/integration/test_profiles/junos/openconfig-network-instance/default/translation.txt @@ -65,6 +65,9 @@ my_peers 192.168.100.3 + + 123 + 65100 @@ -104,16 +107,6 @@ virtual-router - - 10.0.2.0/24 - - 192.168.100.100 - - - 192.168.100.101 - 200 - - 10.100.2.0/24 From c9e59c61a26d3767db1f837413b5c9f19b1b3e90 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 9 Jul 2017 14:27:46 +0200 Subject: [PATCH 113/153] JSONParser now supports parsing lists of elements, lists of lists and composite_keys --- napalm_yang/parsers/jsonp.py | 49 ++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/napalm_yang/parsers/jsonp.py b/napalm_yang/parsers/jsonp.py index b84ae5e3..4f2621fc 100644 --- a/napalm_yang/parsers/jsonp.py +++ b/napalm_yang/parsers/jsonp.py @@ -1,5 +1,6 @@ from __future__ import absolute_import +import copy import re import json @@ -32,16 +33,13 @@ def init_native(cls, native): @classmethod def _parse_list_default(cls, mapping, data, key=None): - def _iterator(d, mapping): + def _iterator(d, key_element): # key_element is necessary when we have lists of dicts - key_element = mapping.get("key") - if key_element and d: if key_element in d: # xmltodict returns a dict when there is only one element d = [d] - key_element = mapping["key"] for v in d: k = get_element_with_cdata(v, key_element) yield k, v @@ -49,20 +47,45 @@ def _iterator(d, mapping): for k, v in d.items(): yield k, v + def _process_key_value(key, value, regexp, mapping): + key_value = mapping.get('key_value') + composite_key = mapping.get('composite_key') + if key_value: + key = key_value + elif regexp: + match = regexp.match(key) + if match: + key = match.group('value') + else: + return + + if composite_key: + key = " ".join([key for _ in range(0, composite_key)]) + return key + d = cls.resolve_path(data, mapping["path"], mapping.get("default")) - regexp = mapping.get('regexp', None) + regexp = mapping.get('regexp') if regexp: regexp = re.compile(regexp) - for k, v in _iterator(d, mapping): - if regexp: - match = regexp.match(k) - if match: - k = match.group('value') - else: - continue - yield k, v, {} + for k, v in _iterator(d, mapping.get("key")): + expand_list = mapping.get("expand_list") + if expand_list: + dd = cls.resolve_path(v, expand_list) + copied_data = copy.deepcopy(v) + copied_data.pop(expand_list) + for kk, vv in _iterator(dd, mapping.get("expanded_key")): + vv = {expand_list: vv} + vv.update(copied_data) + key = _process_key_value(kk, vv, regexp, mapping) + if key: + yield key, vv, {} + else: + key = _process_key_value(k, v, regexp, mapping) + if key: + yield key, v, {} + @classmethod def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): From 0a4b74dc927364e0037fed784de3b76a6e3e9d9a Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 9 Jul 2017 14:28:59 +0200 Subject: [PATCH 114/153] XMLParser is now a specialization of JSONParser --- napalm_yang/parsers/xml.py | 178 +++----------------------- napalm_yang/parsers/xml2.py | 29 ----- napalm_yang/parsers/xml_deprecated.py | 175 +++++++++++++++++++++++++ 3 files changed, 191 insertions(+), 191 deletions(-) delete mode 100644 napalm_yang/parsers/xml2.py create mode 100644 napalm_yang/parsers/xml_deprecated.py diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index b9508b7e..a4a29ed3 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -1,175 +1,29 @@ -from lxml import etree +from builtins import super -import itertools +from napalm_yang.parsers.jsonp import JSONParser -import re +import xmltodict -from napalm_yang.parsers.base import BaseParser - -class XMLParser(BaseParser): +class XMLParser(JSONParser): @classmethod def init_native(cls, native): - r = [] + resp = [] for n in native: - if hasattr(n, "xpath"): - r.append(n) - else: - r.append(etree.fromstring(n)) - return r - - @classmethod - def _parse_list_default(cls, mapping, data): - post_process_filter = mapping.pop("post_process_filter", None) - - for element in data.xpath(mapping["xpath"]): - key = element.xpath(mapping["key"])[0].text.strip() - if post_process_filter: - key = cls._parse_post_process_filter(post_process_filter, key) - yield key, element, {} - - @classmethod - def _parse_list_nested(cls, mapping, data): - path = mapping["xpath"].split("/") - iterators = [] - list_vars = [] - cls._parse_list_nested_recursive(data, path, iterators, list_vars) - return cls._parse_list_container_helper(mapping, iterators, data, list_vars) - - @classmethod - def _parse_list_nested_recursive(cls, data, path, iterators, list_vars, cur_vars=None): - """ - This helps parsing shit like: - - - - - my_peers - - 192.168.100.2 - adsasd - 65100 - - - 192.168.100.3 - 65100 - - - - my_other_peers - - 172.20.0.1 - 65200 - - - - - - """ - cur_vars = dict(cur_vars) if cur_vars else {} - if path: - p = path[0] - path = path[1:] - else: - for _ in data: - list_vars.append(cur_vars) - iterators.append(data) - return data - - if p.startswith("?"): - for x in data: - key, var_path = p.split(".") - cur_vars.update({key.lstrip("?"): x.xpath(var_path)[0].text}) - cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) - else: - x = data.xpath(p) - cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) - - @classmethod - def _parse_list_container_helper(cls, mapping, iterators, root, list_vars=None): - mandatory_elements = mapping.pop("mandatory", []) - - iterators = itertools.chain.from_iterable(iterators) - - for element in itertools.chain(iterators, mandatory_elements): - if isinstance(element, dict): - yield element["key"], element["block"], element["extra_vars"] + if isinstance(n, dict): + resp.append(n) else: - key_name = "{}_name".format(root.tag if mapping.get("nested", False) - else root[0].tag) - extra_vars = { - key_name: element.tag - } - - if list_vars: - extra_vars.update(list_vars.pop(0)) - - composite_key = mapping.get("composite_key", None) - forced_key = mapping.get("key", None) - key_attribute = mapping.get("key_attribute", None) - post_process_filter = mapping.pop("post_process_filter", None) + resp.append(xmltodict.parse(n, force_cdata=True)) - if composite_key: - key = " ".join([extra_vars[k] for k in composite_key]) - elif forced_key: - key = forced_key - elif key_attribute: - key = element.xpath(key_attribute)[0].text.strip() - else: - key = element.tag - - if post_process_filter: - key = cls._parse_post_process_filter(post_process_filter, key, extra_vars) - - yield key, element, extra_vars - - @classmethod - def _parse_list_container(cls, mapping, data): - data = data.xpath(mapping["xpath"]) - - nested = mapping.get("nested", False) - root = data[0] if nested and len(data) else data - - return cls._parse_list_container_helper(mapping, [root], root) + return resp @classmethod def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): - element = data.xpath(mapping["xpath"]) - - if element and not check_presence: - if "attribute" in mapping.keys(): - element = element[0].get(mapping["attribute"]) - else: - element = element[0].text.strip() - - regexp = mapping.get("regexp", None) - if regexp: - match = re.search(mapping["regexp"], element) - if match: - return match.group("value") - else: - return element - elif element and check_presence: - return True - elif check_default: - return mapping.get("default", None) - else: - return None - - @classmethod - def _parse_leaf_map(cls, mapping, data): - value = cls._parse_leaf_default(mapping, data) - - if "regex" in mapping.keys(): - value = re.search(mapping["regexp"], value).group("value") - - return mapping["map"][value] if value else None - - @classmethod - def _parse_leaf_is_present(cls, mapping, data): - return cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) - - @classmethod - def _parse_leaf_is_absent(cls, mapping, data): - return not cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) + attribute = mapping.get("attribute", None) + if attribute: + attribute = "@{}".format(attribute) + mapping["path"] = "{}.{}".format(mapping["path"], attribute) + elif not check_presence: + mapping["path"] = "{}.{}".format(mapping["path"], "#text") + return super()._parse_leaf_default(mapping, data, check_default, check_presence) diff --git a/napalm_yang/parsers/xml2.py b/napalm_yang/parsers/xml2.py deleted file mode 100644 index eab4c85b..00000000 --- a/napalm_yang/parsers/xml2.py +++ /dev/null @@ -1,29 +0,0 @@ -from builtins import super - -from napalm_yang.parsers.jsonp import JSONParser - -import xmltodict - - -class XMLParser2(JSONParser): - - @classmethod - def init_native(cls, native): - resp = [] - for n in native: - if isinstance(n, dict): - resp.append(n) - else: - resp.append(xmltodict.parse(n, force_cdata=True)) - - return resp - - @classmethod - def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): - attribute = mapping.get("attribute", None) - if attribute: - attribute = "@{}".format(attribute) - mapping["path"] = "{}.{}".format(mapping["path"], attribute) - elif not check_presence: - mapping["path"] = "{}.{}".format(mapping["path"], "#text") - return super()._parse_leaf_default(mapping, data, check_default, check_presence) diff --git a/napalm_yang/parsers/xml_deprecated.py b/napalm_yang/parsers/xml_deprecated.py new file mode 100644 index 00000000..b9508b7e --- /dev/null +++ b/napalm_yang/parsers/xml_deprecated.py @@ -0,0 +1,175 @@ +from lxml import etree + +import itertools + +import re + +from napalm_yang.parsers.base import BaseParser + + +class XMLParser(BaseParser): + + @classmethod + def init_native(cls, native): + r = [] + for n in native: + if hasattr(n, "xpath"): + r.append(n) + else: + r.append(etree.fromstring(n)) + return r + + @classmethod + def _parse_list_default(cls, mapping, data): + post_process_filter = mapping.pop("post_process_filter", None) + + for element in data.xpath(mapping["xpath"]): + key = element.xpath(mapping["key"])[0].text.strip() + if post_process_filter: + key = cls._parse_post_process_filter(post_process_filter, key) + yield key, element, {} + + @classmethod + def _parse_list_nested(cls, mapping, data): + path = mapping["xpath"].split("/") + iterators = [] + list_vars = [] + cls._parse_list_nested_recursive(data, path, iterators, list_vars) + return cls._parse_list_container_helper(mapping, iterators, data, list_vars) + + @classmethod + def _parse_list_nested_recursive(cls, data, path, iterators, list_vars, cur_vars=None): + """ + This helps parsing shit like: + + + + + my_peers + + 192.168.100.2 + adsasd + 65100 + + + 192.168.100.3 + 65100 + + + + my_other_peers + + 172.20.0.1 + 65200 + + + + + + """ + cur_vars = dict(cur_vars) if cur_vars else {} + if path: + p = path[0] + path = path[1:] + else: + for _ in data: + list_vars.append(cur_vars) + iterators.append(data) + return data + + if p.startswith("?"): + for x in data: + key, var_path = p.split(".") + cur_vars.update({key.lstrip("?"): x.xpath(var_path)[0].text}) + cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) + else: + x = data.xpath(p) + cls._parse_list_nested_recursive(x, path, iterators, list_vars, cur_vars) + + @classmethod + def _parse_list_container_helper(cls, mapping, iterators, root, list_vars=None): + mandatory_elements = mapping.pop("mandatory", []) + + iterators = itertools.chain.from_iterable(iterators) + + for element in itertools.chain(iterators, mandatory_elements): + if isinstance(element, dict): + yield element["key"], element["block"], element["extra_vars"] + else: + key_name = "{}_name".format(root.tag if mapping.get("nested", False) + else root[0].tag) + extra_vars = { + key_name: element.tag + } + + if list_vars: + extra_vars.update(list_vars.pop(0)) + + composite_key = mapping.get("composite_key", None) + forced_key = mapping.get("key", None) + key_attribute = mapping.get("key_attribute", None) + post_process_filter = mapping.pop("post_process_filter", None) + + if composite_key: + key = " ".join([extra_vars[k] for k in composite_key]) + elif forced_key: + key = forced_key + elif key_attribute: + key = element.xpath(key_attribute)[0].text.strip() + else: + key = element.tag + + if post_process_filter: + key = cls._parse_post_process_filter(post_process_filter, key, extra_vars) + + yield key, element, extra_vars + + @classmethod + def _parse_list_container(cls, mapping, data): + data = data.xpath(mapping["xpath"]) + + nested = mapping.get("nested", False) + root = data[0] if nested and len(data) else data + + return cls._parse_list_container_helper(mapping, [root], root) + + @classmethod + def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): + element = data.xpath(mapping["xpath"]) + + if element and not check_presence: + if "attribute" in mapping.keys(): + element = element[0].get(mapping["attribute"]) + else: + element = element[0].text.strip() + + regexp = mapping.get("regexp", None) + if regexp: + match = re.search(mapping["regexp"], element) + if match: + return match.group("value") + else: + return element + elif element and check_presence: + return True + elif check_default: + return mapping.get("default", None) + else: + return None + + @classmethod + def _parse_leaf_map(cls, mapping, data): + value = cls._parse_leaf_default(mapping, data) + + if "regex" in mapping.keys(): + value = re.search(mapping["regexp"], value).group("value") + + return mapping["map"][value] if value else None + + @classmethod + def _parse_leaf_is_present(cls, mapping, data): + return cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) + + @classmethod + def _parse_leaf_is_absent(cls, mapping, data): + return not cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) From c5e7c9300d3b089cf8275a65db23e8f2d63dea4b Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 9 Jul 2017 14:29:14 +0200 Subject: [PATCH 115/153] Adapted profiles to JSONParser --- .../network-instances.yaml | 8 ++--- .../parsers/config/openconfig-if-ip/ipv4.yaml | 2 +- .../openconfig-interfaces/interfaces.yaml | 2 +- .../includes/bgp.yaml | 20 ++++++------ .../includes/static_routes.yaml | 12 +++---- .../network-instances.yaml | 32 ++++++++----------- .../config/openconfig-vlan/routed-vlan.yaml | 2 +- .../parsers/config/openconfig-vlan/vlan.yaml | 2 +- .../openconfig-interfaces/interfaces.yaml | 2 +- napalm_yang/parsers/__init__.py | 2 -- 10 files changed, 36 insertions(+), 48 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 28a5de52..9ffe1b15 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -10,12 +10,11 @@ network-instances: _process: unnecessary network-instance: _process: - - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" - from: network-instances.0 - mode: manual key: "global" - block: "" + block: "not_a_block" extra_vars: {} + - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" from: root_network-instances.0 afts: !include includes/afts.yaml config: @@ -318,17 +317,14 @@ network-instances: protocol: _process: - regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" - from: network-instances.0 from: root_network-instances.0 composite_key: [protocol_name, protocol_name] when: "{{ network_instance_key == 'global' }}" - regexp: "router (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?^ (?Pvrf {{ network_instance_key }}\n(?:.|\n)*?)^(!| vrf.*)$" - from: network-instances.0 from: root_network-instances.0 composite_key: [protocol_name, protocol_name] when: "{{ network_instance_key != 'global' }}" - regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" - from: network-instances.0 from: root_network-instances.0 key: "static static" bgp: !include includes/bgp.yaml diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml index 988cc4b5..cc66f0e1 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: XMLParser2 + processor: XMLParser ipv4: _process: unnecessary diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index a1891dee..22a3e878 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: XMLParser2 + processor: XMLParser execute: - method: _rpc kwargs: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml index 42e6d1c1..0da14d74 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -258,11 +258,11 @@ global: _process: unnecessary as: _process: - - xpath: "routing-options/autonomous-system/as-number" + - path: "routing-options.autonomous-system.as-number" from: "network_instance.{{ network_instance_key }}" router-id: _process: - - xpath: "routing-options/router-id" + - path: "routing-options.router-id" from: "network_instance.{{ network_instance_key }}" default-route-distance: _process: not_implemented @@ -352,9 +352,10 @@ neighbors: _process: unnecessary neighbor: _process: - - mode: nested - xpath: "group/?peer_group.name/neighbor" - key_attribute: name + - path: "group" + key: name + expand_list: "neighbor" + expanded_key: name add-paths: _process: not_implemented config: @@ -621,23 +622,22 @@ neighbors: _process: not_implemented description: _process: - - xpath: "description" + - path: "neighbor.description" enabled: _process: not_implemented local-as: _process: - - xpath: "local-as.as-number" + - path: "neighbor.local-as.as-number" neighbor-address: _process: - mode: value value: "{{ neighbor_key }}" peer-as: _process: - - xpath: "peer-as" + - path: "neighbor.peer-as" peer-group: _process: - - mode: value - value: "{{ extra_vars.peer_group }}" + - path: "name" peer-type: _process: not_implemented remove-private-as: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 02b5172e..a188c776 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -4,9 +4,8 @@ _process: when: "{{ protocol_key != 'static static' }}" static: _process: - - mode: container - xpath: "route" - key_attribute: name + - path: "" + key: name config: _process: unnecessary prefix: @@ -19,16 +18,15 @@ static: _process: unnecessary next-hop: _process: - - mode: container - xpath: "qualified-next-hop" - key_attribute: name + - path: "qualified-next-hop" + key: name config: _process: unnecessary index: _process: not_implemented metric: _process: - - xpath: "metric" + - path: "metric" next-hop: _process: - mode: value diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml index 9d33af65..67218338 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -7,23 +7,22 @@ metadata: get: "" network-instances: - _process: unnecessary + _process: + - path: "configuration.routing-instances" + from: root_network-instances.0 network-instance: _process: - - mode: container - xpath: "routing-instances/instance" - key_attribute: name - from: network-instances.0 - - mode: manual - key: "global" - block: network-instances.0 - extra_vars: {} + - path: "" + key_value: "global" + from: root_network-instances.0 + - path: "instance" + key: name afts: !include includes/afts.yaml config: _process: unnecessary description: _process: - - xpath: description + - path: description enabled: _process: - mode: value @@ -44,7 +43,7 @@ network-instances: value: DEFAULT_INSTANCE when: "{{ network_instance_key == 'global' }}" - mode: map - xpath: instance-type + path: instance-type map: vrf: L3VRF virtual-router: L2L3 @@ -320,13 +319,10 @@ network-instances: _process: unnecessary protocol: _process: - - mode: container - xpath: "protocols" - nested: true - composite_key: [protocols_name, protocols_name] - - mode: container - xpath: "routing-options/static" - key: "static static" + - path: "protocols" + composite_key: 2 + - path: "routing-options.static" + key_value: "static static" bgp: !include includes/bgp.yaml config: _process: not_implemented diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/routed-vlan.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/routed-vlan.yaml index 35542eb2..a1a318f2 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/routed-vlan.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/routed-vlan.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: XMLParser2 + processor: XMLParser routed-vlan: _process: unnecessary diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml index dab05b8d..2c0abe4e 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-vlan/vlan.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: XMLParser2 + processor: XMLParser vlan: _process: unnecessary diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index 39df3c6c..25c3785e 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: XMLParser2 + processor: XMLParser execute: - method: _rpc kwargs: diff --git a/napalm_yang/parsers/__init__.py b/napalm_yang/parsers/__init__.py index 95974fae..461d31f0 100644 --- a/napalm_yang/parsers/__init__.py +++ b/napalm_yang/parsers/__init__.py @@ -1,7 +1,6 @@ from napalm_yang.parsers.jsonp import JSONParser from napalm_yang.parsers.text import TextParser from napalm_yang.parsers.xml import XMLParser -from napalm_yang.parsers.xml2 import XMLParser2 from napalm_yang.translators.text import TextTranslator from napalm_yang.translators.xml import XMLTranslator @@ -12,7 +11,6 @@ def get_parser(parser): "JSONParser": JSONParser, "TextParser": TextParser, "XMLParser": XMLParser, - "XMLParser2": XMLParser2, "TextTranslator": TextTranslator, "XMLTranslator": XMLTranslator, } From 07716244efffff62ee0dac643bce47837e82f41c Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 9 Jul 2017 15:10:56 +0200 Subject: [PATCH 116/153] Set root_ consistently with parsers --- napalm_yang/translator.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/napalm_yang/translator.py b/napalm_yang/translator.py index 32ba5be4..65b33d4d 100644 --- a/napalm_yang/translator.py +++ b/napalm_yang/translator.py @@ -19,7 +19,6 @@ def __init__(self, model, profile, self.translation = translation self.keys = keys or {"parent_key": None} - self.bookmarks = bookmarks or {self._yang_name: translation, "parent": translation} self.extra_vars = extra_vars or {} self.merge = merge @@ -37,6 +36,9 @@ def __init__(self, model, profile, self.translation = self.translator.init_translation(self.mapping["metadata"], self.translation) + self.bookmarks = bookmarks or {"root_{}".format(self._yang_name): translation, + "parent": translation} + def translate(self): if not self.mapping: return "" From ed7cf5231945bef65549d0f922560817f6051dcb Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Mon, 10 Jul 2017 17:46:21 +0200 Subject: [PATCH 117/153] BaseTranslator.default_element() needs to return a dict --- napalm_yang/translators/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm_yang/translators/base.py b/napalm_yang/translators/base.py index 5d1fb3a0..f988323b 100644 --- a/napalm_yang/translators/base.py +++ b/napalm_yang/translators/base.py @@ -45,7 +45,7 @@ def default_element(self, mapping, translation, bookmarks, replacing=False): if mode == "skip": continue elif mode == "gate": - return + return {} t = _find_translation_point(m, bookmarks, t) method_name = "_default_element_{}".format(mode) From b704b92bfeff40b8f9ae02610d8e872c87635ac7 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Mon, 17 Jul 2017 15:34:12 +0200 Subject: [PATCH 118/153] Jinja ip filters should not raise an exception if passed an undefined value --- napalm_yang/jinja_filters/ip_filters.py | 29 +++++++++++++++++++------ test/unit/test_jinja_filters.py | 10 +++++++++ 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/napalm_yang/jinja_filters/ip_filters.py b/napalm_yang/jinja_filters/ip_filters.py index b2d2be5d..2c765889 100644 --- a/napalm_yang/jinja_filters/ip_filters.py +++ b/napalm_yang/jinja_filters/ip_filters.py @@ -18,7 +18,10 @@ def netmask_to_cidr(value): Examples: >>> "{{ '255.255.255.0'|netmask_to_cidr }}" -> "24" """ - return netaddr.IPAddress(value).netmask_bits() + if not value: + return '' + else: + return netaddr.IPAddress(value).netmask_bits() def cidr_to_netmask(value): @@ -28,7 +31,10 @@ def cidr_to_netmask(value): Examples: >>> "{{ '24'|cidr_to_netmask }}" -> "255.255.255.0" """ - return str(netaddr.IPNetwork("1.1.1.1/{}".format(value)).netmask) + if not value: + return '' + else: + return str(netaddr.IPNetwork("1.1.1.1/{}".format(value)).netmask) def normalize_prefix(value): @@ -43,8 +49,11 @@ def normalize_prefix(value): >>> "{{ '192.168/255.255.255.0'|normalize_prefix }}" -> "192.168.0.0/24" >>> "{{ '2001:DB8:0:0:1:0:0:1/64'|normalize_prefix }}" -> "2001:db8::1:0:0:1/64" """ - value = value.replace(' ', '/') - return str(netaddr.IPNetwork(value)) + if not value: + return '' + else: + value = value.replace(' ', '/') + return str(netaddr.IPNetwork(value)) def normalize_address(value): @@ -60,7 +69,10 @@ def normalize_address(value): >>> "{{ '2001:DB8:0:0:1:0:0:1'|normalize_address }}" -> "2001:db8::1:0:0:1" """ - return str(netaddr.IPAddress(value)) + if not value: + return '' + else: + return str(netaddr.IPAddress(value)) def prefix_to_addrmask(value, sep=' '): @@ -73,5 +85,8 @@ def prefix_to_addrmask(value, sep=' '): >>> "{{ '192.168.0.1/24|prefix_to_addrmask }}" -> "192.168.0.1 255.255.255.0" >>> "{{ '192.168.0.1/24|prefix_to_addrmask('/') }}" -> "192.168.0.1/255.255.255.0" """ - prefix = netaddr.IPNetwork(value) - return '{}{}{}'.format(prefix.ip, sep, prefix.netmask) + if not value: + return '' + else: + prefix = netaddr.IPNetwork(value) + return '{}{}{}'.format(prefix.ip, sep, prefix.netmask) diff --git a/test/unit/test_jinja_filters.py b/test/unit/test_jinja_filters.py index 96397ed1..f34e4b73 100644 --- a/test/unit/test_jinja_filters.py +++ b/test/unit/test_jinja_filters.py @@ -25,6 +25,7 @@ def test_netmask_to_cidr(self): Tests Jinja2 filter ```netmask_to_cidr```: * check if load_filters returns the correct function + * check if returns empty string on None * check if raises AddrFormatError on invalid mask * check if prefix length is returned as expected """ @@ -35,6 +36,7 @@ def test_netmask_to_cidr(self): self.assertRaises(AddrFormatError, ip_filters.netmask_to_cidr, 'bad') + self.assertEqual(ip_filters.netmask_to_cidr(None), '') self.assertEqual(ip_filters.netmask_to_cidr('255.255.255.0'), 24) self.assertEqual(ip_filters.netmask_to_cidr('255.255.255.255'), 32) @@ -43,6 +45,7 @@ def test_cidr_to_netmask(self): Tests Jinja2 filter ```cidr_to_netmask```: * check if load_filters returns the correct function + * check if returns empty string on None * check if raises AddrFormatError on invalid prefix length * check if network mask is returned as expected """ @@ -53,6 +56,7 @@ def test_cidr_to_netmask(self): self.assertRaises(AddrFormatError, ip_filters.cidr_to_netmask, 'bad') + self.assertEqual(ip_filters.cidr_to_netmask(None), '') self.assertEqual(ip_filters.cidr_to_netmask(24), '255.255.255.0') self.assertEqual(ip_filters.cidr_to_netmask('24'), '255.255.255.0') self.assertEqual(ip_filters.cidr_to_netmask(32), '255.255.255.255') @@ -62,6 +66,7 @@ def test_normalize_prefix(self): Tests Jinja2 filter ```normalize_prefix```: * check if load_filters returns the correct function + * check if returns empty string on None * check if raises AddrFormatError on invalid prefix * check if IPv4 and IPv6 prefix format is returned as expected """ @@ -72,6 +77,7 @@ def test_normalize_prefix(self): self.assertRaises(AddrFormatError, ip_filters.normalize_prefix, 'bad') + self.assertEqual(ip_filters.normalize_prefix(None), '') self.assertEqual(ip_filters.normalize_prefix('192.168.0.1'), '192.168.0.1/32') self.assertEqual(ip_filters.normalize_prefix('192.168.0.55 255.255.255.0'), '192.168.0.55/24') @@ -85,6 +91,7 @@ def test_normalize_address(self): Tests Jinja2 filter ```normalize_address```: * check if load_filters returns the correct function + * check if returns empty string on None * check if raises AddrFormatError on invalid address * check if IPv4 and IPv6 address format is returned as expected """ @@ -95,6 +102,7 @@ def test_normalize_address(self): self.assertRaises(AddrFormatError, ip_filters.normalize_address, 'bad') + self.assertEqual(ip_filters.normalize_address(None), '') self.assertEqual(ip_filters.normalize_address('192.168.0.1'), '192.168.0.1') self.assertEqual(ip_filters.normalize_address('192.168.1'), '192.168.0.1') self.assertEqual(ip_filters.normalize_address('2001:0DB8:0:0000:1:0:0:1'), @@ -105,6 +113,7 @@ def test_prefix_to_addrmask(self): Tests Jinja2 filter ```prefix_to_addrmask```: * check if load_filters returns the correct function + * check if returns empty string on None * check if raises AddrFormatError on invalid prefix * check if IPv4 address and netmask format is returned as expected """ @@ -115,6 +124,7 @@ def test_prefix_to_addrmask(self): self.assertRaises(AddrFormatError, ip_filters.prefix_to_addrmask, 'bad') + self.assertEqual(ip_filters.prefix_to_addrmask(None), '') self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.1/24'), '192.168.0.1 255.255.255.0') self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.0/32', '/'), From 9a75826d4b94934a102aba9075a1893a84759191 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Tue, 18 Jul 2017 12:55:16 +0200 Subject: [PATCH 119/153] Handle if/else logic with a decorator --- napalm_yang/jinja_filters/ip_filters.py | 48 +++++++++++++------------ 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/napalm_yang/jinja_filters/ip_filters.py b/napalm_yang/jinja_filters/ip_filters.py index 2c765889..4c99dfd1 100644 --- a/napalm_yang/jinja_filters/ip_filters.py +++ b/napalm_yang/jinja_filters/ip_filters.py @@ -11,6 +11,21 @@ def filters(): } +def check_empty(filter_function): + """ + Checks if a value passed to a Jinja filter evaluates to false and returns an empty string. + Otherwise calls the original Junja filter. + """ + def wrapper(value, *args, **kwargs): + if not value: + return '' + else: + return filter_function(value, *args, **kwargs) + + return wrapper + + +@check_empty def netmask_to_cidr(value): """ Converts a network mask to it's CIDR value. @@ -18,12 +33,10 @@ def netmask_to_cidr(value): Examples: >>> "{{ '255.255.255.0'|netmask_to_cidr }}" -> "24" """ - if not value: - return '' - else: - return netaddr.IPAddress(value).netmask_bits() + return netaddr.IPAddress(value).netmask_bits() +@check_empty def cidr_to_netmask(value): """ Converts a CIDR prefix-length to a network mask. @@ -31,12 +44,10 @@ def cidr_to_netmask(value): Examples: >>> "{{ '24'|cidr_to_netmask }}" -> "255.255.255.0" """ - if not value: - return '' - else: - return str(netaddr.IPNetwork("1.1.1.1/{}".format(value)).netmask) + return str(netaddr.IPNetwork("1.1.1.1/{}".format(value)).netmask) +@check_empty def normalize_prefix(value): """ Converts an IPv4 or IPv6 prefix writen in various formats to its CIDR representation. @@ -49,13 +60,11 @@ def normalize_prefix(value): >>> "{{ '192.168/255.255.255.0'|normalize_prefix }}" -> "192.168.0.0/24" >>> "{{ '2001:DB8:0:0:1:0:0:1/64'|normalize_prefix }}" -> "2001:db8::1:0:0:1/64" """ - if not value: - return '' - else: - value = value.replace(' ', '/') - return str(netaddr.IPNetwork(value)) + value = value.replace(' ', '/') + return str(netaddr.IPNetwork(value)) +@check_empty def normalize_address(value): """ Converts an IPv4 or IPv6 address writen in various formats to a standard textual representation. @@ -69,12 +78,10 @@ def normalize_address(value): >>> "{{ '2001:DB8:0:0:1:0:0:1'|normalize_address }}" -> "2001:db8::1:0:0:1" """ - if not value: - return '' - else: - return str(netaddr.IPAddress(value)) + return str(netaddr.IPAddress(value)) +@check_empty def prefix_to_addrmask(value, sep=' '): """ Converts a CIDR formatted prefix into an address netmask representation. @@ -85,8 +92,5 @@ def prefix_to_addrmask(value, sep=' '): >>> "{{ '192.168.0.1/24|prefix_to_addrmask }}" -> "192.168.0.1 255.255.255.0" >>> "{{ '192.168.0.1/24|prefix_to_addrmask('/') }}" -> "192.168.0.1/255.255.255.0" """ - if not value: - return '' - else: - prefix = netaddr.IPNetwork(value) - return '{}{}{}'.format(prefix.ip, sep, prefix.netmask) + prefix = netaddr.IPNetwork(value) + return '{}{}{}'.format(prefix.ip, sep, prefix.netmask) From 554736e694ff175ad53fffb9e1ef4ea550b36500 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Tue, 18 Jul 2017 12:57:59 +0200 Subject: [PATCH 120/153] fix tpyo --- napalm_yang/jinja_filters/ip_filters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/napalm_yang/jinja_filters/ip_filters.py b/napalm_yang/jinja_filters/ip_filters.py index 4c99dfd1..7109f928 100644 --- a/napalm_yang/jinja_filters/ip_filters.py +++ b/napalm_yang/jinja_filters/ip_filters.py @@ -14,7 +14,7 @@ def filters(): def check_empty(filter_function): """ Checks if a value passed to a Jinja filter evaluates to false and returns an empty string. - Otherwise calls the original Junja filter. + Otherwise calls the original Jinja filter. """ def wrapper(value, *args, **kwargs): if not value: From 5538e2f225022fc23717479be9bdb7a355e4a5c1 Mon Sep 17 00:00:00 2001 From: Matej Vadnjal Date: Tue, 18 Jul 2017 13:06:26 +0200 Subject: [PATCH 121/153] move check_empty decorator to helpers module --- napalm_yang/jinja_filters/helpers.py | 16 ++++++++++++++++ napalm_yang/jinja_filters/ip_filters.py | 16 ++-------------- 2 files changed, 18 insertions(+), 14 deletions(-) create mode 100644 napalm_yang/jinja_filters/helpers.py diff --git a/napalm_yang/jinja_filters/helpers.py b/napalm_yang/jinja_filters/helpers.py new file mode 100644 index 00000000..1119f711 --- /dev/null +++ b/napalm_yang/jinja_filters/helpers.py @@ -0,0 +1,16 @@ +def check_empty(filter_function): + """ + Decorator that checks if a value passed to a Jinja filter evaluates to false + and returns an empty string. Otherwise calls the original Jinja filter. + + Example usage: + @check_empty + def my_jinja_filter(value, arg1): + """ + def wrapper(value, *args, **kwargs): + if not value: + return '' + else: + return filter_function(value, *args, **kwargs) + + return wrapper diff --git a/napalm_yang/jinja_filters/ip_filters.py b/napalm_yang/jinja_filters/ip_filters.py index 7109f928..3dfdf524 100644 --- a/napalm_yang/jinja_filters/ip_filters.py +++ b/napalm_yang/jinja_filters/ip_filters.py @@ -1,5 +1,7 @@ import netaddr +from napalm_yang.jinja_filters.helpers import check_empty + def filters(): return { @@ -11,20 +13,6 @@ def filters(): } -def check_empty(filter_function): - """ - Checks if a value passed to a Jinja filter evaluates to false and returns an empty string. - Otherwise calls the original Jinja filter. - """ - def wrapper(value, *args, **kwargs): - if not value: - return '' - else: - return filter_function(value, *args, **kwargs) - - return wrapper - - @check_empty def netmask_to_cidr(value): """ From b930b3216dca3a8b1836a36b63c6c3e3472c6157 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sat, 22 Jul 2017 17:41:51 +0200 Subject: [PATCH 122/153] Added TextTree parser --- napalm_yang/parsers/__init__.py | 2 + napalm_yang/parsers/text_tree.py | 93 + test/unit/test_text_tree.py | 32 + test/unit/text_tree/test_case_1/config.txt | 1747 ++++ test/unit/text_tree/test_case_1/expected.json | 7423 +++++++++++++++++ 5 files changed, 9297 insertions(+) create mode 100644 napalm_yang/parsers/text_tree.py create mode 100644 test/unit/test_text_tree.py create mode 100644 test/unit/text_tree/test_case_1/config.txt create mode 100644 test/unit/text_tree/test_case_1/expected.json diff --git a/napalm_yang/parsers/__init__.py b/napalm_yang/parsers/__init__.py index 461d31f0..ba286138 100644 --- a/napalm_yang/parsers/__init__.py +++ b/napalm_yang/parsers/__init__.py @@ -1,5 +1,6 @@ from napalm_yang.parsers.jsonp import JSONParser from napalm_yang.parsers.text import TextParser +from napalm_yang.parsers.text_tree import TextTree from napalm_yang.parsers.xml import XMLParser from napalm_yang.translators.text import TextTranslator @@ -10,6 +11,7 @@ def get_parser(parser): parsers = { "JSONParser": JSONParser, "TextParser": TextParser, + "TextTree": TextTree, "XMLParser": XMLParser, "TextTranslator": TextTranslator, "XMLTranslator": XMLTranslator, diff --git a/napalm_yang/parsers/text_tree.py b/napalm_yang/parsers/text_tree.py new file mode 100644 index 00000000..c4712bc6 --- /dev/null +++ b/napalm_yang/parsers/text_tree.py @@ -0,0 +1,93 @@ +# from builtins import super +from collections import OrderedDict + +from napalm_yang.parsers.jsonp import JSONParser + + +def _attach_data_to_path(obj, path, data): + path = path.split(" ") + + while True: + obj["#text"] = " ".join(path) + p = path.pop(0) + if not path: + break + else: + if p not in obj: + obj[p] = OrderedDict() + obj = obj[p] + obj[p] = data + + +def parse_indented_config(config, current_indent=0, previous_indent=0, nested=False): + """ + This methid basically reads a configuration that conforms to a very poor industry standard + and returns a nested structure that behaves like a dict. For example: + {'enable password whatever': {}, + 'interface GigabitEthernet1': { + 'description "bleh"': {}, + 'fake nested': { + 'nested nested configuration': {}}, + 'switchport mode trunk': {}}, + 'interface GigabitEthernet2': { + 'no ip address': {}}, + 'interface GigabitEthernet3': { + 'negotiation auto': {}, + 'no ip address': {}, + 'shutdown': {}}, + 'interface Loopback0': { + 'description "blah"': {}}} + """ + parsed = OrderedDict() + while True: + if not config: + break + line = config.pop(0) + + if line.startswith("!"): + continue + + last = line.lstrip() + leading_spaces = len(line) - len(last) + + # print("current_indent:{}, previous:{}, leading:{} - {}".format( + # current_indent, previous_indent, leading_spaces, line)) + + if leading_spaces > current_indent: + current = parse_indented_config(config, leading_spaces, current_indent, True) + _attach_data_to_path(parsed, last, current) + elif leading_spaces < current_indent: + config.insert(0, line) + break + else: + if not nested: + current = parse_indented_config(config, leading_spaces, current_indent, True) + _attach_data_to_path(parsed, last, current) + else: + config.insert(0, line) + break + + return parsed + + +class TextTree(JSONParser): + + @classmethod + def init_native(cls, native): + resp = [] + for n in native: + if isinstance(n, dict): + resp.append(n) + else: + resp.append(parse_indented_config(n.splitlines())) + return resp + + # @classmethod + # def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): + # attribute = mapping.get("attribute", None) + # if attribute: + # attribute = "@{}".format(attribute) + # mapping["path"] = "{}.{}".format(mapping["path"], attribute) + # elif not check_presence: + # mapping["path"] = "{}.{}".format(mapping["path"], "#text") + # return super()._parse_leaf_default(mapping, data, check_default, check_presence) diff --git a/test/unit/test_text_tree.py b/test/unit/test_text_tree.py new file mode 100644 index 00000000..f6bb9ce5 --- /dev/null +++ b/test/unit/test_text_tree.py @@ -0,0 +1,32 @@ +from glob import glob + +import json +import os + +import pytest + +import napalm_yang + + +BASE_PATH = os.path.dirname(__file__) +test_case_text_parser = [x.split('/')[-1] + for x in glob('{}/text_tree/*'.format(BASE_PATH))] + + +class Tests(object): + + @pytest.mark.parametrize("case", test_case_text_parser) + def test_supported_models(self, case): + path = os.path.join(BASE_PATH, "text_tree", case, "config.txt") + expected = os.path.join(BASE_PATH, "text_tree", case, "expected.json") + + with open(path, 'r') as f: + original = [f.read()] + + parsed = napalm_yang.parsers.text_tree.TextTree.init_native(original) + result = json.dumps(parsed, indent=4) + + with open(expected, 'r') as f: + expected = f.read() + + assert result == expected diff --git a/test/unit/text_tree/test_case_1/config.txt b/test/unit/text_tree/test_case_1/config.txt new file mode 100644 index 00000000..3e6eb76b --- /dev/null +++ b/test/unit/text_tree/test_case_1/config.txt @@ -0,0 +1,1747 @@ +! Command: show running-config all +! device: localhost (vEOS, EOS-4.15.2.1F) +! +! boot system flash:/vEOS-lab.swi +! +hardware access-list ipv6 implicit-permit icmpv6 all +! +no deep-inspection payload l2 skip +no deep-inspection payload l4 skip +! +agent fatal-error action reload +! +bfd slow-timer 2000 +bfd interval 300 min_rx 300 multiplier 3 default +! +prompt %H%R%v%P +no service configuration session max completed +no service configuration session max pending +! +schedule config max-concurrent-jobs 1 +schedule tech-support interval 60 max-log-files 100 command show tech-support +! +no logging event storm-control discards global +no logging event storm-control discards interval +! +cvx + shutdown + port 9979 + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 + service hsc + vtep flood list type any + service openstack + shutdown + grace-period 60 + name-resolution interval 21600 + service vxlan + shutdown + vtep mac-learning control-plane + resync-period 300 +! +no dcbx application +! +no ip dhcp relay information option +no ip dhcp relay always-on +no ip dhcp smart-relay global +! +no ip dhcp snooping +no ip dhcp snooping information option +ip dhcp snooping information option circuit-id type 0 format %p:%v +! +default switch forwarding-mode +! +vlan internal allocation policy ascending +! +email + no from-user + no server + no auth username + no auth password + no tls +! +errdisable detect cause arp-inspection +errdisable detect cause link-flap +no errdisable recovery cause arp-inspection +no errdisable recovery cause bpduguard +no errdisable recovery cause hitless-reload-down +no errdisable recovery cause link-flap +no errdisable recovery cause loopprotectguard +no errdisable recovery cause no-internal-vlan +no errdisable recovery cause portchannelguard +no errdisable recovery cause portsec +no errdisable recovery cause tapagg +no errdisable recovery cause uplink-failure-detection +no errdisable recovery cause xcvr-unsupported +errdisable recovery interval 300 +! +event-handler dhclient + trigger on-boot + action bash sudo /mnt/flash/initialize_ma1.sh + delay 20 + no asynchronous + timeout 10 +! +ip igmp snooping +no ip igmp snooping report-flooding +ip igmp snooping robustness-variable 2 +no ip igmp snooping restart query-interval +ip igmp snooping immediate-leave +default ip igmp snooping vlan 1 +default ip igmp snooping vlan 1 querier +no ip igmp snooping vlan 1 querier address +no ip igmp snooping vlan 1 querier query-interval +no ip igmp snooping vlan 1 querier max-response-time +no ip igmp snooping vlan 1 querier last-member-query-interval +no ip igmp snooping vlan 1 querier last-member-query-count +no ip igmp snooping vlan 1 querier startup-query-interval +no ip igmp snooping vlan 1 querier startup-query-count +no ip igmp snooping vlan 1 querier version +no ip igmp snooping vlan 1 max-groups +default ip igmp snooping vlan 1 immediate-leave +no ip igmp snooping querier +no ip igmp snooping querier address +ip igmp snooping querier query-interval 125 +ip igmp snooping querier max-response-time 10 +ip igmp snooping querier last-member-query-interval 1 +no ip igmp snooping querier last-member-query-count +no ip igmp snooping querier startup-query-interval +no ip igmp snooping querier startup-query-count +no ip igmp snooping querier version +! +default logging event congestion-drops +! +no service interface inactive expose +! +no service interface unconnected expose +! +default load-interval default +! +transceiver qsfp default-mode 4x10G +! +ip pim log-neighbor-changes +no ip pim bfd +no ip pim ssm range +ip pim sparse-mode sg-expiry-timer 210 +ip pim spt-threshold 0 +! +ip msdp timer 30 +! +no ip pim rp-candidate +no ip pim bsr-holdtime +no ip pim bsr-sztimeout +no ip pim bsr-candidate +no ip pim bsr rp-candidate advertisement-filter +! +no ip pim register-source +! +lacp system-priority 32768 +! +no queue-monitor length +no queue-monitor length notifying +! +queue-monitor length global-buffer thresholds 512 256 +no queue-monitor length mirror +! +queue-monitor length global-buffer +! +errdisable flap-setting cause link-flap max-flaps 5 time 10 +! +lldp timer 30 +lldp holdtime 120 +lldp reinit 2 +lldp tlv-select link-aggregation +lldp tlv-select management-address +lldp tlv-select max-frame-size +lldp tlv-select port-description +lldp tlv-select port-vlan +lldp tlv-select system-capabilities +lldp tlv-select system-description +lldp tlv-select system-name +lldp run +no lldp management-address +! +logging on +logging buffered 32 debugging +logging trap informational +logging console errors +no logging synchronous +logging format timestamp traditional +no logging format hostname fqdn +logging facility local4 +no logging source-interface +! +logging level AAA debugging +logging level ACCOUNTING debugging +logging level ACL debugging +logging level AGENT debugging +logging level ALE debugging +logging level ARP debugging +logging level BFD debugging +logging level BGP debugging +logging level CAPACITY debugging +logging level CAPI debugging +logging level CLEAR debugging +logging level DATAPLANE debugging +logging level DOT1X debugging +logging level ENVMON debugging +logging level ETH debugging +logging level EVENTMON debugging +logging level EXTENSION debugging +logging level FHRP debugging +logging level FLOW debugging +logging level FORWARDING debugging +logging level FRU debugging +logging level FWK debugging +logging level GMP debugging +logging level HARDWARE debugging +logging level IGMP debugging +logging level IGMPSNOOPING debugging +logging level INTF debugging +logging level IP6ROUTING debugging +logging level IRA debugging +logging level ISIS debugging +logging level KERNELFIB debugging +logging level LACP debugging +logging level LAG debugging +logging level LAUNCHER debugging +logging level LINEPROTO debugging +logging level LLDP debugging +logging level LOGMGR debugging +logging level LOOPBACK debugging +logging level LOOPPROTECT debugging +logging level MAPREDUCEMONITOR debugging +logging level MDIO debugging +logging level MIRRORING debugging +logging level MLAG debugging +logging level MMODE debugging +logging level MROUTE debugging +logging level MRP debugging +logging level MSDP debugging +logging level MSRP debugging +logging level MVRP debugging +logging level NAT debugging +logging level OPENFLOW debugging +logging level OSPF debugging +logging level OSPF3 debugging +logging level PFC debugging +logging level PIM debugging +logging level PIMBSR debugging +logging level PORTSECURITY debugging +logging level PTP debugging +logging level PWRMGMT debugging +logging level QOS debugging +logging level QUEUEMONITOR debugging +logging level REACHABILITYMONITOR debugging +logging level REDUNDANCY debugging +logging level RIB debugging +logging level ROUTING debugging +logging level SECURITY debugging +logging level SERVERMONITOR debugging +logging level SPANTREE debugging +logging level STAGEMGR debugging +logging level SYS debugging +logging level SYSDB debugging +logging level TAPAGG debugging +logging level TCP debugging +logging level TRANSCEIVER debugging +logging level TUNNEL debugging +logging level VM debugging +logging level VMTRACERSESS debugging +logging level VMWAREVI debugging +logging level VMWAREVS debugging +logging level VRF debugging +logging level VRRP debugging +logging level VXLAN debugging +logging level XMPP debugging +logging level ZTP debugging +! +logging event link-status global +! +no ip virtual-router mac-address mlag-peer +! +no msrp streams load-file +! +no hostname +no ip domain lookup source-interface +no ip name-server +no ip domain-name +no ip host +no ipv6 host +! +no ntp trusted-key +no ntp authenticate +no ntp serve all +! +power poll-interval 5 +! +no radius-server key +radius-server timeout 5 +radius-server retransmit 3 +no radius-server deadtime +no radius-server attribute 32 include-in-access-req format +! +router msdp + vrf devel + ip msdp timer 30 + ! + vrf prod + ip msdp timer 30 +! +sflow sample 1048576 +sflow polling-interval 2 +no sflow source +no sflow source-interface +sflow sample output interface +sflow extension switch +sflow extension router +no sflow sample rewrite dscp +no sflow run +! +no sflow extension bgp +! +no snmp-server engineID local +no snmp-server chassis-id +no snmp-server contact +no snmp-server location +no snmp-server source-interface +default snmp-server enable traps +default snmp-server enable traps bgp +default snmp-server enable traps bgp arista-backward-transition +default snmp-server enable traps bgp arista-established +default snmp-server enable traps bgp backward-transition +default snmp-server enable traps bgp established +default snmp-server enable traps entity +default snmp-server enable traps entity arista-ent-sensor-alarm +default snmp-server enable traps entity ent-config-change +default snmp-server enable traps entity ent-state-oper-disabled +default snmp-server enable traps entity ent-state-oper-enabled +default snmp-server enable traps lldp +default snmp-server enable traps lldp rem-tables-change +default snmp-server enable traps msdp +default snmp-server enable traps msdp backward-transition +default snmp-server enable traps msdp established +default snmp-server enable traps ospf +default snmp-server enable traps ospf if-auth-failure +default snmp-server enable traps ospf if-config-error +default snmp-server enable traps ospf if-state-change +default snmp-server enable traps ospf nbr-state-change +default snmp-server enable traps pim +default snmp-server enable traps pim neighbor-loss +default snmp-server enable traps snmp +default snmp-server enable traps snmp authentication +default snmp-server enable traps snmp link-down +default snmp-server enable traps snmp link-up +default snmp-server enable traps snmpConfigManEvent +default snmp-server enable traps snmpConfigManEvent arista-config-man-event +default snmp-server enable traps switchover +default snmp-server enable traps switchover arista-redundancy-switch-over-notif +default snmp-server enable traps test +default snmp-server enable traps test arista-test-notification +default snmp-server enable traps vrrp +default snmp-server enable traps vrrp trap-new-master +snmp-server vrf default +! +spanning-tree mode mstp +spanning-tree hello-time 2000 +spanning-tree max-age 20 +spanning-tree forward-time 15 +spanning-tree transmit hold-count 6 +spanning-tree max-hops 20 +no spanning-tree mst pvst border +no spanning-tree portfast bpduguard default +no spanning-tree portfast bpdufilter default +spanning-tree bridge assurance +no spanning-tree loopguard default +no spanning-tree portchannel guard misconfig +spanning-tree bpduguard rate-limit default +logging event spanning-tree global +spanning-tree mst 0 priority 32768 +! +spanning-tree mst configuration + no name + revision 0 +! +no service sequence-numbers +no service running-config timestamp +! +no tacacs-server key +tacacs-server timeout 5 +! +aaa authentication login default local +no aaa authentication login console +aaa authentication enable default local +no aaa authentication policy on-success log +no aaa authentication policy on-failure log +no aaa authorization console +aaa authorization exec default local +no aaa authorization commands all default +aaa authorization config-commands +no aaa accounting exec console +no aaa accounting commands all console +no aaa accounting exec default +no aaa accounting system default +no aaa accounting dot1x default +no aaa accounting commands all default +! +no enable secret +aaa root secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP. +no aaa authentication policy local allow-nopassword-remote-login +no aaa authorization policy local default-role +! +username admin privilege 15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1 +username vagrant privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0 +! +role network-admin + 10 permit command .* +! +role network-operator + 10 deny mode exec command configure|bash|python-shell|\| + 20 permit mode exec command .* +! +tap aggregation + no mode + no service-policy type tapagg mac access-list match ip +! +environment overheat action shutdown +environment insufficient-fans action shutdown +environment fan-speed auto +! +clock timezone UTC +! +no virtual-cable +! +vlan 1 + name default + state active + no private-vlan + no mac-address-table sharing +! +vrf definition devel + rd 1:2 + no description +! +vrf definition prod + rd 1:1 + description Production VRF +! +interface Port-Channel1 + description blah + no shutdown + default load-interval + mtu 9000 + logging event link-status use-global + switchport dot1q ethertype 0x8100 + no switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no bfd per-link + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Port-Channel1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no port-channel min-links + no port-channel lacp fallback + port-channel lacp fallback timeout 90 + no l2 mtu + no ip multicast static + ip mfib fastdrop + no mlag + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Port-Channel1.1 + no description + no shutdown + default load-interval + logging event link-status use-global + no encapsulation dot1q vlan 0 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Port-Channel1.1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Ethernet1 + description This is a description + no shutdown + default load-interval + logging event link-status use-global + dcbx mode ieee + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport access vlan 1 + switchport trunk native vlan 1 + switchport trunk allowed vlan 1-4094 + no switchport asym vlan + switchport mode access + switchport dot1q ethertype 0x8100 + no switchport trunk private-vlan secondary + switchport mac address learning + no switchport private-vlan mapping + switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + channel-group 1 mode active + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no msrp + no mvrp + no switchport port-security + switchport port-security maximum 1 + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable + no spanning-tree portfast + spanning-tree portfast auto + no spanning-tree link-type + no spanning-tree bpduguard + no spanning-tree bpdufilter + no spanning-tree cost + spanning-tree port-priority 128 + no spanning-tree guard + no spanning-tree bpduguard rate-limit + logging event spanning-tree use-global + switchport tap native vlan 1 + no switchport tap identity + no switchport tap mpls pop all + switchport tap allowed vlan 1-4094 + switchport tool allowed vlan 1-4094 + no switchport tool identity + no switchport tap truncation + no switchport tool truncation + no switchport tap default group + no switchport tap default interface + no switchport tool group + no switchport tool dot1q remove outer +! +interface Ethernet2 + description so much oc + shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no dcbx mode + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport dot1q ethertype 0x8100 + no switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.0.1/24 + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no channel-group + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no ip multicast static + ip mfib fastdrop + no msrp + no mvrp + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Ethernet2.1 + description another subiface + no shutdown + default load-interval + logging event link-status use-global + encapsulation dot1q vlan 1 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + vrf forwarding prod + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.1.1/24 + ip address 172.20.0.1/24 secondary + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2.1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + sflow enable +! +interface Ethernet2.2 + description asdasdasd + no shutdown + default load-interval + logging event link-status use-global + encapsulation dot1q vlan 2 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + vrf forwarding devel + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.2.1/24 + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2.2 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + sflow enable +! +interface Loopback1 + description a loopback + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + default ntp serve +! +interface Management1 + no description + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 10.0.2.15/24 + no ip verify unicast + default arp timeout 300 + default ipv6 nd cache expire 300 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + ipv6 nd ra suppress all + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + lldp transmit + lldp receive + default ntp serve +! +mac address-table aging-time 300 +! +monitor hadoop + shutdown +! +no ip fhrp accept-mode +! +no ip virtual-router mac-address +ip virtual-router mac-address advertisement-interval 30 +! +no ipv6 hardware fib nexthop-index +! +ip route 10.0.0.0/24 192.168.0.2 10 tag 0 +ip route 10.0.0.0/24 192.168.0.3 1 tag 0 +ip route 10.0.1.0/24 192.168.0.2 1 tag 0 +ip route vrf prod 10.0.0.0/24 172.20.0.2 1 tag 0 +ip route vrf prod 10.0.1.0/24 172.20.0.2 1 tag 0 +ip route vrf devel 10.0.0.0/24 192.168.2.2 1 tag 0 +ip route vrf devel 10.0.1.0/24 192.168.2.2 1 tag 0 +! +ip routing +ip icmp redirect +no ip icmp source-interface +ip hardware fib route unprogrammed parent-drop +no ip hardware fib route delete delay +ip hardware fib next-hop update event bfd +no ip hardware fib maximum routes +no ip hardware forwarding mpls gre-key +no ip icmp rate-limit-unreachable 0 +no ip hardware fib next-hop sharing +no ip routing vrf prod +no ip icmp source-interface vrf prod +no ip routing vrf devel +no ip icmp source-interface vrf devel +ipv6 icmp redirect +no ip hardware fib maximum routes-v6 +! +no ip multicast-routing +ip multicast multipath deterministic +ip mfib max-fastdrops 1024 +no ip multicast count +ip mfib activity polling-interval 60 +! +ip mfib cache-entries unresolved max 4000 +ip mfib packet-buffers unresolved max 3 +! +ip as-path regex-mode asn +! +no ipv6 unicast-routing +no ipv6 unicast-routing vrf prod +no ipv6 unicast-routing vrf devel +! +control-plane + ip access-group default-control-plane-acl in + ip access-group default-control-plane-acl vrf prod in + ip access-group default-control-plane-acl vrf devel in + ipv6 access-group default-control-plane-acl in + ipv6 access-group default-control-plane-acl vrf prod in + ipv6 access-group default-control-plane-acl vrf devel in +! +mac address-table notification host-flap logging +mac address-table notification host-flap detection window 15 +! +mlag configuration + no domain-id + heartbeat-interval 4000 + no local-interface + no peer-address + no peer-link + reload-delay 0 + no reload-delay non-mlag + no reload-delay mode + no shutdown +! +monitor loop-protection + rate-limit 1000 + transmit-interval 5 + disabled-time 604800 +! +no mpls ip +! +no ip ftp client source-interface +no ip http client source-interface +no ip ssh client source-interface +no ip telnet client source-interface +no ip tftp client source-interface +! +no qos random-detect ecn global-buffer +qos map cos 0 1 2 3 4 5 6 7 to traffic-class 8 +qos map dscp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to cos 3 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to uc-tx-queue 4 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4 +! +policy-map type control-plane copp-system-policy + class copp-system-bpdu + shape pps 6000 + bandwidth pps 5000 + class copp-system-arp + shape pps 25000 + bandwidth pps 1000 + class copp-system-igmp + shape pps 5000 + bandwidth pps 4000 + class copp-system-default + no shape + no bandwidth +! +no ip radius source-interface +! +monitor reachability + shutdown + probe receiver max-streams 50000 + probe checkpoint-interval 60 + destination port 49152 + default ignore-checksum + default preserve-streams +! +router bgp 65001 + no shutdown + router-id 1.1.1.1 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp host-routes fib direct-install + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + no neighbor 192.168.0.200 peer-group + neighbor 192.168.0.200 remote-as 65100 + no neighbor 192.168.0.200 import-localpref + no neighbor 192.168.0.200 export-localpref + neighbor 192.168.0.200 description asdasd qweq asdasd + no neighbor 192.168.0.200 next-hop-self + no neighbor 192.168.0.200 next-hop-peer + no neighbor 192.168.0.200 allowas-in + neighbor 192.168.0.200 send-community + no neighbor 192.168.0.200 shutdown + neighbor 192.168.0.200 remove-private-as + no neighbor 192.168.0.200 out-delay + no neighbor 192.168.0.200 local-as + no neighbor 192.168.0.200 weight + no neighbor 192.168.0.200 transport connection-mode passive + no neighbor 192.168.0.200 update-source + no neighbor 192.168.0.200 dont-capability-negotiate + no neighbor 192.168.0.200 fall-over bfd + no neighbor 192.168.0.200 local-v6-addr + no neighbor 192.168.0.200 auto-local-addr + no neighbor 192.168.0.200 next-hop-v6-addr + neighbor 192.168.0.200 soft-reconfiguration inbound + no neighbor 192.168.0.200 ebgp-multihop + no neighbor 192.168.0.200 route-reflector-client + no neighbor 192.168.0.200 timers + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 graceful-restart + neighbor 192.168.0.200 graceful-restart-helper + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 prefix-list in + no neighbor 192.168.0.200 prefix-list out + no neighbor 192.168.0.200 password + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 enforce-first-as + no neighbor 192.168.0.200 metric-out + no neighbor 192.168.0.200 idle-restart-timer + neighbor 192.168.0.200 maximum-routes 12000 + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + default neighbor 192.168.0.200 activate + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 weight + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + default neighbor 192.168.0.200 activate + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 prefix-list in + no neighbor 192.168.0.200 prefix-list out + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 weight + vrf devel + local-as 65001 + no shutdown + router-id 3.3.3.3 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + ! + vrf prod + local-as 65001 + no shutdown + router-id 2.2.2.2 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + no neighbor 172.20.0.200 peer-group + neighbor 172.20.0.200 remote-as 65100 + no neighbor 172.20.0.200 import-localpref + no neighbor 172.20.0.200 export-localpref + no neighbor 172.20.0.200 description + no neighbor 172.20.0.200 next-hop-self + no neighbor 172.20.0.200 next-hop-peer + no neighbor 172.20.0.200 allowas-in + no neighbor 172.20.0.200 send-community + no neighbor 172.20.0.200 shutdown + no neighbor 172.20.0.200 remove-private-as + no neighbor 172.20.0.200 out-delay + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + no neighbor 172.20.0.200 weight + no neighbor 172.20.0.200 transport connection-mode passive + no neighbor 172.20.0.200 update-source + no neighbor 172.20.0.200 dont-capability-negotiate + no neighbor 172.20.0.200 fall-over bfd + no neighbor 172.20.0.200 local-v6-addr + no neighbor 172.20.0.200 auto-local-addr + no neighbor 172.20.0.200 next-hop-v6-addr + neighbor 172.20.0.200 soft-reconfiguration inbound + no neighbor 172.20.0.200 ebgp-multihop + no neighbor 172.20.0.200 route-reflector-client + no neighbor 172.20.0.200 timers + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 graceful-restart + neighbor 172.20.0.200 graceful-restart-helper + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 prefix-list in + no neighbor 172.20.0.200 prefix-list out + no neighbor 172.20.0.200 password + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 enforce-first-as + no neighbor 172.20.0.200 metric-out + no neighbor 172.20.0.200 idle-restart-timer + neighbor 172.20.0.200 maximum-routes 12000 + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + default neighbor 172.20.0.200 activate + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 weight + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + default neighbor 172.20.0.200 activate + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 prefix-list in + no neighbor 172.20.0.200 prefix-list out + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 weight +! +router multicast + vrf devel + no ip multicast-routing + ip multicast multipath deterministic + ip mfib max-fastdrops 1024 + ip mfib cache-entries unresolved max 4000 + ip mfib packet-buffers unresolved max 3 + ! + vrf prod + no ip multicast-routing + ip multicast multipath deterministic + ip mfib max-fastdrops 1024 + ip mfib cache-entries unresolved max 4000 + ip mfib packet-buffers unresolved max 3 +! +router pim sparse-mode + vrf devel + ip pim log-neighbor-changes + no ip pim ssm range + ip pim sparse-mode sg-expiry-timer 210 + ip pim spt-threshold 0 + no ip pim rp-candidate + no ip pim register-source + ! + vrf prod + ip pim log-neighbor-changes + no ip pim ssm range + ip pim sparse-mode sg-expiry-timer 210 + ip pim spt-threshold 0 + no ip pim rp-candidate + no ip pim register-source +! +router pim bidirectional + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate + vrf devel + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate + ! + vrf prod + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate +! +router pim bsr + vrf devel + no ip pim bsr-holdtime + no ip pim bsr-sztimeout + no ip pim bsr-candidate + no ip pim bsr rp-candidate advertisement-filter + ! + vrf prod + no ip pim bsr-holdtime + no ip pim bsr-sztimeout + no ip pim bsr-candidate + no ip pim bsr rp-candidate advertisement-filter +! +no ip tacacs source-interface +! +no vxlan vni notation dotted +! +no banner login +no banner motd +! +system coredump compressed +! +no dot1x system-auth-control +! +management api http-commands + protocol https port 443 + no protocol http port 80 + no protocol http localhost port 8080 + no protocol unix-socket + no protocol https certificate + no protocol https ssl profile + no cors allowed-origin + protocol https cipher aes256-cbc aes128-cbc + protocol https key-exchange rsa diffie-hellman-ephemeral-rsa + protocol https mac hmac-sha1 + qos dscp 0 + no shutdown + vrf default + no shutdown +! +management cim-provider + shutdown + http 7778 + https 7779 + idle-timeout 90 + default live-time + default trace + default ssl certificate + default ssl key +! +management console + idle-timeout 0 +! +management cvx + shutdown + no server host + no source-interface + no server port + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 +! +management defaults + secret hash md5 +! +management security + no entropy source hardware + no password minimum length +! +management ssh + idle-timeout 0 + authentication mode keyboard-interactive + server-port 22 + hostkey server rsa dsa + no fips restrictions + no hostkey client strict-checking + no shutdown + login timeout 120 + log-level info +! +management telnet + shutdown + idle-timeout 0 +! +management xmpp + shutdown + vrf default + session privilege 1 +! +! +end + diff --git a/test/unit/text_tree/test_case_1/expected.json b/test/unit/text_tree/test_case_1/expected.json new file mode 100644 index 00000000..4a11b513 --- /dev/null +++ b/test/unit/text_tree/test_case_1/expected.json @@ -0,0 +1,7423 @@ +[ + { + "#text": "", + "hardware": { + "#text": "access-list ipv6 implicit-permit icmpv6 all", + "access-list": { + "#text": "ipv6 implicit-permit icmpv6 all", + "ipv6": { + "#text": "implicit-permit icmpv6 all", + "implicit-permit": { + "#text": "icmpv6 all", + "icmpv6": { + "#text": "all", + "all": {} + } + } + } + } + }, + "no": { + "#text": "dot1x system-auth-control", + "deep-inspection": { + "#text": "payload l4 skip", + "payload": { + "#text": "l4 skip", + "l2": { + "#text": "skip", + "skip": {} + }, + "l4": { + "#text": "skip", + "skip": {} + } + } + }, + "service": { + "#text": "running-config timestamp", + "configuration": { + "#text": "session max pending", + "session": { + "#text": "max pending", + "max": { + "#text": "pending", + "completed": {}, + "pending": {} + } + } + }, + "interface": { + "#text": "unconnected expose", + "inactive": { + "#text": "expose", + "expose": {} + }, + "unconnected": { + "#text": "expose", + "expose": {} + } + }, + "sequence-numbers": {}, + "running-config": { + "#text": "timestamp", + "timestamp": {} + } + }, + "logging": { + "#text": "source-interface", + "event": { + "#text": "storm-control discards interval", + "storm-control": { + "#text": "discards interval", + "discards": { + "#text": "interval", + "global": {}, + "interval": {} + } + } + }, + "synchronous": {}, + "format": { + "#text": "hostname fqdn", + "hostname": { + "#text": "fqdn", + "fqdn": {} + } + }, + "source-interface": {} + }, + "dcbx": { + "#text": "application", + "application": {} + }, + "ip": { + "#text": "tacacs source-interface", + "dhcp": { + "#text": "snooping information option", + "relay": { + "#text": "always-on", + "information": { + "#text": "option", + "option": {} + }, + "always-on": {} + }, + "smart-relay": { + "#text": "global", + "global": {} + }, + "snooping": { + "#text": "information option", + "information": { + "#text": "option", + "option": {} + } + } + }, + "igmp": { + "#text": "snooping querier version", + "snooping": { + "#text": "querier version", + "report-flooding": {}, + "restart": { + "#text": "query-interval", + "query-interval": {} + }, + "vlan": { + "#text": "1 max-groups", + "1": { + "#text": "max-groups", + "querier": { + "#text": "version", + "address": {}, + "query-interval": {}, + "max-response-time": {}, + "last-member-query-interval": {}, + "last-member-query-count": {}, + "startup-query-interval": {}, + "startup-query-count": {}, + "version": {} + }, + "max-groups": {} + } + }, + "querier": { + "#text": "version", + "address": {}, + "last-member-query-count": {}, + "startup-query-interval": {}, + "startup-query-count": {}, + "version": {} + } + } + }, + "pim": { + "#text": "register-source", + "bfd": {}, + "ssm": { + "#text": "range", + "range": {} + }, + "rp-candidate": {}, + "bsr-holdtime": {}, + "bsr-sztimeout": {}, + "bsr-candidate": {}, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": {} + } + }, + "register-source": {} + }, + "virtual-router": { + "#text": "mac-address", + "mac-address": {} + }, + "domain": { + "#text": "lookup source-interface", + "lookup": { + "#text": "source-interface", + "source-interface": {} + } + }, + "name-server": {}, + "domain-name": {}, + "host": {}, + "fhrp": { + "#text": "accept-mode", + "accept-mode": {} + }, + "icmp": { + "#text": "source-interface vrf devel", + "source-interface": { + "#text": "vrf devel", + "vrf": { + "#text": "devel", + "prod": {}, + "devel": {} + } + }, + "rate-limit-unreachable": { + "#text": "0", + "0": {} + } + }, + "hardware": { + "#text": "fib maximum routes-v6", + "fib": { + "#text": "maximum routes-v6", + "route": { + "#text": "delete delay", + "delete": { + "#text": "delay", + "delay": {} + } + }, + "maximum": { + "#text": "routes-v6", + "routes": {}, + "routes-v6": {} + }, + "next-hop": { + "#text": "sharing", + "sharing": {} + } + }, + "forwarding": { + "#text": "mpls gre-key", + "mpls": { + "#text": "gre-key", + "gre-key": {} + } + } + }, + "routing": { + "#text": "vrf devel", + "vrf": { + "#text": "devel", + "prod": {}, + "devel": {} + } + }, + "multicast-routing": {}, + "multicast": { + "#text": "count", + "count": {} + }, + "ftp": { + "#text": "client source-interface", + "client": { + "#text": "source-interface", + "source-interface": {} + } + }, + "http": { + "#text": "client source-interface", + "client": { + "#text": "source-interface", + "source-interface": {} + } + }, + "ssh": { + "#text": "client source-interface", + "client": { + "#text": "source-interface", + "source-interface": {} + } + }, + "telnet": { + "#text": "client source-interface", + "client": { + "#text": "source-interface", + "source-interface": {} + } + }, + "tftp": { + "#text": "client source-interface", + "client": { + "#text": "source-interface", + "source-interface": {} + } + }, + "radius": { + "#text": "source-interface", + "source-interface": {} + }, + "tacacs": { + "#text": "source-interface", + "source-interface": {} + } + }, + "errdisable": { + "#text": "recovery cause xcvr-unsupported", + "recovery": { + "#text": "cause xcvr-unsupported", + "cause": { + "#text": "xcvr-unsupported", + "arp-inspection": {}, + "bpduguard": {}, + "hitless-reload-down": {}, + "link-flap": {}, + "loopprotectguard": {}, + "no-internal-vlan": {}, + "portchannelguard": {}, + "portsec": {}, + "tapagg": {}, + "uplink-failure-detection": {}, + "xcvr-unsupported": {} + } + } + }, + "queue-monitor": { + "#text": "length mirror", + "length": { + "#text": "mirror", + "notifying": {}, + "mirror": {} + } + }, + "lldp": { + "#text": "management-address", + "management-address": {} + }, + "msrp": { + "#text": "streams load-file", + "streams": { + "#text": "load-file", + "load-file": {} + } + }, + "hostname": {}, + "ipv6": { + "#text": "unicast-routing vrf devel", + "host": {}, + "hardware": { + "#text": "fib nexthop-index", + "fib": { + "#text": "nexthop-index", + "nexthop-index": {} + } + }, + "unicast-routing": { + "#text": "vrf devel", + "vrf": { + "#text": "devel", + "prod": {}, + "devel": {} + } + } + }, + "ntp": { + "#text": "serve all", + "trusted-key": {}, + "authenticate": {}, + "serve": { + "#text": "all", + "all": {} + } + }, + "radius-server": { + "#text": "attribute 32 include-in-access-req format", + "key": {}, + "deadtime": {}, + "attribute": { + "#text": "32 include-in-access-req format", + "32": { + "#text": "include-in-access-req format", + "include-in-access-req": { + "#text": "format", + "format": {} + } + } + } + }, + "sflow": { + "#text": "extension bgp", + "source": {}, + "source-interface": {}, + "sample": { + "#text": "rewrite dscp", + "rewrite": { + "#text": "dscp", + "dscp": {} + } + }, + "run": {}, + "extension": { + "#text": "bgp", + "bgp": {} + } + }, + "snmp-server": { + "#text": "source-interface", + "engineID": { + "#text": "local", + "local": {} + }, + "chassis-id": {}, + "contact": {}, + "location": {}, + "source-interface": {} + }, + "spanning-tree": { + "#text": "portchannel guard misconfig", + "mst": { + "#text": "pvst border", + "pvst": { + "#text": "border", + "border": {} + } + }, + "portfast": { + "#text": "bpdufilter default", + "bpduguard": { + "#text": "default", + "default": {} + }, + "bpdufilter": { + "#text": "default", + "default": {} + } + }, + "loopguard": { + "#text": "default", + "default": {} + }, + "portchannel": { + "#text": "guard misconfig", + "guard": { + "#text": "misconfig", + "misconfig": {} + } + } + }, + "tacacs-server": { + "#text": "key", + "key": {} + }, + "aaa": { + "#text": "authorization policy local default-role", + "authentication": { + "#text": "policy local allow-nopassword-remote-login", + "login": { + "#text": "console", + "console": {} + }, + "policy": { + "#text": "local allow-nopassword-remote-login", + "on-success": { + "#text": "log", + "log": {} + }, + "on-failure": { + "#text": "log", + "log": {} + }, + "local": { + "#text": "allow-nopassword-remote-login", + "allow-nopassword-remote-login": {} + } + } + }, + "authorization": { + "#text": "policy local default-role", + "console": {}, + "commands": { + "#text": "all default", + "all": { + "#text": "default", + "default": {} + } + }, + "policy": { + "#text": "local default-role", + "local": { + "#text": "default-role", + "default-role": {} + } + } + }, + "accounting": { + "#text": "commands all default", + "exec": { + "#text": "default", + "console": {}, + "default": {} + }, + "commands": { + "#text": "all default", + "all": { + "#text": "default", + "console": {}, + "default": {} + } + }, + "system": { + "#text": "default", + "default": {} + }, + "dot1x": { + "#text": "default", + "default": {} + } + } + }, + "enable": { + "#text": "secret", + "secret": {} + }, + "virtual-cable": {}, + "mpls": { + "#text": "ip", + "ip": {} + }, + "qos": { + "#text": "random-detect ecn global-buffer", + "random-detect": { + "#text": "ecn global-buffer", + "ecn": { + "#text": "global-buffer", + "global-buffer": {} + } + } + }, + "vxlan": { + "#text": "vni notation dotted", + "vni": { + "#text": "notation dotted", + "notation": { + "#text": "dotted", + "dotted": {} + } + } + }, + "banner": { + "#text": "motd", + "login": {}, + "motd": {} + }, + "dot1x": { + "#text": "system-auth-control", + "system-auth-control": {} + } + }, + "agent": { + "#text": "fatal-error action reload", + "fatal-error": { + "#text": "action reload", + "action": { + "#text": "reload", + "reload": {} + } + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3 default", + "slow-timer": { + "#text": "2000", + "2000": {} + }, + "interval": { + "#text": "300 min_rx 300 multiplier 3 default", + "300": { + "#text": "min_rx 300 multiplier 3 default", + "min_rx": { + "#text": "300 multiplier 3 default", + "300": { + "#text": "multiplier 3 default", + "multiplier": { + "#text": "3 default", + "3": { + "#text": "default", + "default": {} + } + } + } + } + } + } + }, + "prompt": { + "#text": "%H%R%v%P", + "%H%R%v%P": {} + }, + "schedule": { + "#text": "tech-support interval 60 max-log-files 100 command show tech-support", + "config": { + "#text": "max-concurrent-jobs 1 ", + "max-concurrent-jobs": { + "#text": "1 ", + "1": { + "#text": "", + "": {} + } + } + }, + "tech-support": { + "#text": "interval 60 max-log-files 100 command show tech-support", + "interval": { + "#text": "60 max-log-files 100 command show tech-support", + "60": { + "#text": "max-log-files 100 command show tech-support", + "max-log-files": { + "#text": "100 command show tech-support", + "100": { + "#text": "command show tech-support", + "command": { + "#text": "show tech-support", + "show": { + "#text": "tech-support", + "tech-support": {} + } + } + } + } + } + } + } + }, + "cvx": { + "#text": "service vxlan", + "shutdown": {}, + "port": { + "#text": "9979", + "9979": {} + }, + "heartbeat-interval": { + "#text": "20", + "20": {} + }, + "heartbeat-timeout": { + "#text": "60", + "60": {} + }, + "no": { + "#text": "ssl profile", + "ssl": { + "#text": "profile", + "profile": {} + } + }, + "service": { + "#text": "vxlan", + "debug": { + "#text": "interval 1", + "no": { + "#text": "shutdown", + "shutdown": {} + }, + "interval": { + "#text": "1", + "1": {} + } + }, + "hsc": { + "#text": "vtep flood list type any", + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": {} + } + } + } + } + }, + "openstack": { + "#text": "name-resolution interval 21600", + "shutdown": {}, + "grace-period": { + "#text": "60", + "60": {} + }, + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": {} + } + } + }, + "vxlan": { + "#text": "resync-period 300", + "shutdown": {}, + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": {} + } + }, + "resync-period": { + "#text": "300", + "300": {} + } + } + } + }, + "ip": { + "#text": "as-path regex-mode asn", + "dhcp": { + "#text": "snooping information option circuit-id type 0 format %p:%v", + "snooping": { + "#text": "information option circuit-id type 0 format %p:%v", + "information": { + "#text": "option circuit-id type 0 format %p:%v", + "option": { + "#text": "circuit-id type 0 format %p:%v", + "circuit-id": { + "#text": "type 0 format %p:%v", + "type": { + "#text": "0 format %p:%v", + "0": { + "#text": "format %p:%v", + "format": { + "#text": "%p:%v", + "%p:%v": {} + } + } + } + } + } + } + } + }, + "igmp": { + "#text": "snooping querier last-member-query-interval 1", + "snooping": { + "#text": "querier last-member-query-interval 1", + "robustness-variable": { + "#text": "2", + "2": {} + }, + "immediate-leave": {}, + "querier": { + "#text": "last-member-query-interval 1", + "query-interval": { + "#text": "125", + "125": {} + }, + "max-response-time": { + "#text": "10", + "10": {} + }, + "last-member-query-interval": { + "#text": "1", + "1": {} + } + } + } + }, + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": {}, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": {} + } + }, + "spt-threshold": { + "#text": "0", + "0": {} + } + }, + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": {} + } + }, + "virtual-router": { + "#text": "mac-address advertisement-interval 30", + "mac-address": { + "#text": "advertisement-interval 30", + "advertisement-interval": { + "#text": "30", + "30": {} + } + } + }, + "route": { + "#text": "vrf devel 10.0.1.0/24 192.168.2.2 1 tag 0", + "10.0.0.0/24": { + "#text": "192.168.0.3 1 tag 0", + "192.168.0.2": { + "#text": "10 tag 0", + "10": { + "#text": "tag 0", + "tag": { + "#text": "0", + "0": {} + } + } + }, + "192.168.0.3": { + "#text": "1 tag 0", + "1": { + "#text": "tag 0", + "tag": { + "#text": "0", + "0": {} + } + } + } + }, + "10.0.1.0/24": { + "#text": "192.168.0.2 1 tag 0", + "192.168.0.2": { + "#text": "1 tag 0", + "1": { + "#text": "tag 0", + "tag": { + "#text": "0", + "0": {} + } + } + } + }, + "vrf": { + "#text": "devel 10.0.1.0/24 192.168.2.2 1 tag 0", + "prod": { + "#text": "10.0.1.0/24 172.20.0.2 1 tag 0", + "10.0.0.0/24": { + "#text": "172.20.0.2 1 tag 0", + "172.20.0.2": { + "#text": "1 tag 0", + "1": { + "#text": "tag 0", + "tag": { + "#text": "0", + "0": {} + } + } + } + }, + "10.0.1.0/24": { + "#text": "172.20.0.2 1 tag 0", + "172.20.0.2": { + "#text": "1 tag 0", + "1": { + "#text": "tag 0", + "tag": { + "#text": "0", + "0": {} + } + } + } + } + }, + "devel": { + "#text": "10.0.1.0/24 192.168.2.2 1 tag 0", + "10.0.0.0/24": { + "#text": "192.168.2.2 1 tag 0", + "192.168.2.2": { + "#text": "1 tag 0", + "1": { + "#text": "tag 0", + "tag": { + "#text": "0", + "0": {} + } + } + } + }, + "10.0.1.0/24": { + "#text": "192.168.2.2 1 tag 0", + "192.168.2.2": { + "#text": "1 tag 0", + "1": { + "#text": "tag 0", + "tag": { + "#text": "0", + "0": {} + } + } + } + } + } + } + }, + "routing": {}, + "icmp": { + "#text": "redirect", + "redirect": {} + }, + "hardware": { + "#text": "fib next-hop update event bfd", + "fib": { + "#text": "next-hop update event bfd", + "route": { + "#text": "unprogrammed parent-drop", + "unprogrammed": { + "#text": "parent-drop", + "parent-drop": {} + } + }, + "next-hop": { + "#text": "update event bfd", + "update": { + "#text": "event bfd", + "event": { + "#text": "bfd", + "bfd": {} + } + } + } + } + }, + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": {} + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": {} + }, + "activity": { + "#text": "polling-interval 60", + "polling-interval": { + "#text": "60", + "60": {} + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": {} + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": {} + } + } + } + }, + "as-path": { + "#text": "regex-mode asn", + "regex-mode": { + "#text": "asn", + "asn": {} + } + } + }, + "default": { + "#text": "snmp-server enable traps vrrp trap-new-master", + "switch": { + "#text": "forwarding-mode", + "forwarding-mode": {} + }, + "ip": { + "#text": "igmp snooping vlan 1 immediate-leave", + "igmp": { + "#text": "snooping vlan 1 immediate-leave", + "snooping": { + "#text": "vlan 1 immediate-leave", + "vlan": { + "#text": "1 immediate-leave", + "1": { + "#text": "immediate-leave", + "querier": {}, + "immediate-leave": {} + } + } + } + } + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": {} + } + }, + "load-interval": { + "#text": "default", + "default": {} + }, + "snmp-server": { + "#text": "enable traps vrrp trap-new-master", + "enable": { + "#text": "traps vrrp trap-new-master", + "traps": { + "#text": "vrrp trap-new-master", + "bgp": { + "#text": "established", + "arista-backward-transition": {}, + "arista-established": {}, + "backward-transition": {}, + "established": {} + }, + "entity": { + "#text": "ent-state-oper-enabled", + "arista-ent-sensor-alarm": {}, + "ent-config-change": {}, + "ent-state-oper-disabled": {}, + "ent-state-oper-enabled": {} + }, + "lldp": { + "#text": "rem-tables-change", + "rem-tables-change": {} + }, + "msdp": { + "#text": "established", + "backward-transition": {}, + "established": {} + }, + "ospf": { + "#text": "nbr-state-change", + "if-auth-failure": {}, + "if-config-error": {}, + "if-state-change": {}, + "nbr-state-change": {} + }, + "pim": { + "#text": "neighbor-loss", + "neighbor-loss": {} + }, + "snmp": { + "#text": "link-up", + "authentication": {}, + "link-down": {}, + "link-up": {} + }, + "snmpConfigManEvent": { + "#text": "arista-config-man-event", + "arista-config-man-event": {} + }, + "switchover": { + "#text": "arista-redundancy-switch-over-notif", + "arista-redundancy-switch-over-notif": {} + }, + "test": { + "#text": "arista-test-notification", + "arista-test-notification": {} + }, + "vrrp": { + "#text": "trap-new-master", + "trap-new-master": {} + } + } + } + } + }, + "vlan": { + "#text": "1", + "internal": { + "#text": "allocation policy ascending", + "allocation": { + "#text": "policy ascending", + "policy": { + "#text": "ascending", + "ascending": {} + } + } + }, + "1": { + "#text": "no mac-address-table sharing", + "name": { + "#text": "default", + "default": {} + }, + "state": { + "#text": "active", + "active": {} + }, + "no": { + "#text": "mac-address-table sharing", + "private-vlan": {}, + "mac-address-table": { + "#text": "sharing", + "sharing": {} + } + } + } + }, + "email": { + "#text": "no tls", + "no": { + "#text": "tls", + "from-user": {}, + "server": {}, + "auth": { + "#text": "password", + "username": {}, + "password": {} + }, + "tls": {} + } + }, + "errdisable": { + "#text": "flap-setting cause link-flap max-flaps 5 time 10", + "detect": { + "#text": "cause link-flap", + "cause": { + "#text": "link-flap", + "arp-inspection": {}, + "link-flap": {} + } + }, + "recovery": { + "#text": "interval 300", + "interval": { + "#text": "300", + "300": {} + } + }, + "flap-setting": { + "#text": "cause link-flap max-flaps 5 time 10", + "cause": { + "#text": "link-flap max-flaps 5 time 10", + "link-flap": { + "#text": "max-flaps 5 time 10", + "max-flaps": { + "#text": "5 time 10", + "5": { + "#text": "time 10", + "time": { + "#text": "10", + "10": {} + } + } + } + } + } + } + }, + "event-handler": { + "#text": "dhclient", + "dhclient": { + "#text": "timeout 10", + "trigger": { + "#text": "on-boot", + "on-boot": {} + }, + "action": { + "#text": "bash sudo /mnt/flash/initialize_ma1.sh", + "bash": { + "#text": "sudo /mnt/flash/initialize_ma1.sh", + "sudo": { + "#text": "/mnt/flash/initialize_ma1.sh", + "/mnt/flash/initialize_ma1.sh": {} + } + } + }, + "delay": { + "#text": "20", + "20": {} + }, + "no": { + "#text": "asynchronous", + "asynchronous": {} + }, + "timeout": { + "#text": "10", + "10": {} + } + } + }, + "transceiver": { + "#text": "qsfp default-mode 4x10G", + "qsfp": { + "#text": "default-mode 4x10G", + "default-mode": { + "#text": "4x10G", + "4x10G": {} + } + } + }, + "lacp": { + "#text": "system-priority 32768", + "system-priority": { + "#text": "32768", + "32768": {} + } + }, + "queue-monitor": { + "#text": "length global-buffer", + "length": { + "#text": "global-buffer", + "global-buffer": {} + } + }, + "lldp": { + "#text": "run", + "timer": { + "#text": "30", + "30": {} + }, + "holdtime": { + "#text": "120", + "120": {} + }, + "reinit": { + "#text": "2", + "2": {} + }, + "tlv-select": { + "#text": "system-name", + "link-aggregation": {}, + "management-address": {}, + "max-frame-size": {}, + "port-description": {}, + "port-vlan": {}, + "system-capabilities": {}, + "system-description": {}, + "system-name": {} + }, + "run": {} + }, + "logging": { + "#text": "event spanning-tree global", + "on": {}, + "buffered": { + "#text": "32 debugging", + "32": { + "#text": "debugging", + "debugging": {} + } + }, + "trap": { + "#text": "informational", + "informational": {} + }, + "console": { + "#text": "errors", + "errors": {} + }, + "format": { + "#text": "timestamp traditional", + "timestamp": { + "#text": "traditional", + "traditional": {} + } + }, + "facility": { + "#text": "local4", + "local4": {} + }, + "level": { + "#text": "ZTP debugging", + "AAA": { + "#text": "debugging", + "debugging": {} + }, + "ACCOUNTING": { + "#text": "debugging", + "debugging": {} + }, + "ACL": { + "#text": "debugging", + "debugging": {} + }, + "AGENT": { + "#text": "debugging", + "debugging": {} + }, + "ALE": { + "#text": "debugging", + "debugging": {} + }, + "ARP": { + "#text": "debugging", + "debugging": {} + }, + "BFD": { + "#text": "debugging", + "debugging": {} + }, + "BGP": { + "#text": "debugging", + "debugging": {} + }, + "CAPACITY": { + "#text": "debugging", + "debugging": {} + }, + "CAPI": { + "#text": "debugging", + "debugging": {} + }, + "CLEAR": { + "#text": "debugging", + "debugging": {} + }, + "DATAPLANE": { + "#text": "debugging", + "debugging": {} + }, + "DOT1X": { + "#text": "debugging", + "debugging": {} + }, + "ENVMON": { + "#text": "debugging", + "debugging": {} + }, + "ETH": { + "#text": "debugging", + "debugging": {} + }, + "EVENTMON": { + "#text": "debugging", + "debugging": {} + }, + "EXTENSION": { + "#text": "debugging", + "debugging": {} + }, + "FHRP": { + "#text": "debugging", + "debugging": {} + }, + "FLOW": { + "#text": "debugging", + "debugging": {} + }, + "FORWARDING": { + "#text": "debugging", + "debugging": {} + }, + "FRU": { + "#text": "debugging", + "debugging": {} + }, + "FWK": { + "#text": "debugging", + "debugging": {} + }, + "GMP": { + "#text": "debugging", + "debugging": {} + }, + "HARDWARE": { + "#text": "debugging", + "debugging": {} + }, + "IGMP": { + "#text": "debugging", + "debugging": {} + }, + "IGMPSNOOPING": { + "#text": "debugging", + "debugging": {} + }, + "INTF": { + "#text": "debugging", + "debugging": {} + }, + "IP6ROUTING": { + "#text": "debugging", + "debugging": {} + }, + "IRA": { + "#text": "debugging", + "debugging": {} + }, + "ISIS": { + "#text": "debugging", + "debugging": {} + }, + "KERNELFIB": { + "#text": "debugging", + "debugging": {} + }, + "LACP": { + "#text": "debugging", + "debugging": {} + }, + "LAG": { + "#text": "debugging", + "debugging": {} + }, + "LAUNCHER": { + "#text": "debugging", + "debugging": {} + }, + "LINEPROTO": { + "#text": "debugging", + "debugging": {} + }, + "LLDP": { + "#text": "debugging", + "debugging": {} + }, + "LOGMGR": { + "#text": "debugging", + "debugging": {} + }, + "LOOPBACK": { + "#text": "debugging", + "debugging": {} + }, + "LOOPPROTECT": { + "#text": "debugging", + "debugging": {} + }, + "MAPREDUCEMONITOR": { + "#text": "debugging", + "debugging": {} + }, + "MDIO": { + "#text": "debugging", + "debugging": {} + }, + "MIRRORING": { + "#text": "debugging", + "debugging": {} + }, + "MLAG": { + "#text": "debugging", + "debugging": {} + }, + "MMODE": { + "#text": "debugging", + "debugging": {} + }, + "MROUTE": { + "#text": "debugging", + "debugging": {} + }, + "MRP": { + "#text": "debugging", + "debugging": {} + }, + "MSDP": { + "#text": "debugging", + "debugging": {} + }, + "MSRP": { + "#text": "debugging", + "debugging": {} + }, + "MVRP": { + "#text": "debugging", + "debugging": {} + }, + "NAT": { + "#text": "debugging", + "debugging": {} + }, + "OPENFLOW": { + "#text": "debugging", + "debugging": {} + }, + "OSPF": { + "#text": "debugging", + "debugging": {} + }, + "OSPF3": { + "#text": "debugging", + "debugging": {} + }, + "PFC": { + "#text": "debugging", + "debugging": {} + }, + "PIM": { + "#text": "debugging", + "debugging": {} + }, + "PIMBSR": { + "#text": "debugging", + "debugging": {} + }, + "PORTSECURITY": { + "#text": "debugging", + "debugging": {} + }, + "PTP": { + "#text": "debugging", + "debugging": {} + }, + "PWRMGMT": { + "#text": "debugging", + "debugging": {} + }, + "QOS": { + "#text": "debugging", + "debugging": {} + }, + "QUEUEMONITOR": { + "#text": "debugging", + "debugging": {} + }, + "REACHABILITYMONITOR": { + "#text": "debugging", + "debugging": {} + }, + "REDUNDANCY": { + "#text": "debugging", + "debugging": {} + }, + "RIB": { + "#text": "debugging", + "debugging": {} + }, + "ROUTING": { + "#text": "debugging", + "debugging": {} + }, + "SECURITY": { + "#text": "debugging", + "debugging": {} + }, + "SERVERMONITOR": { + "#text": "debugging", + "debugging": {} + }, + "SPANTREE": { + "#text": "debugging", + "debugging": {} + }, + "STAGEMGR": { + "#text": "debugging", + "debugging": {} + }, + "SYS": { + "#text": "debugging", + "debugging": {} + }, + "SYSDB": { + "#text": "debugging", + "debugging": {} + }, + "TAPAGG": { + "#text": "debugging", + "debugging": {} + }, + "TCP": { + "#text": "debugging", + "debugging": {} + }, + "TRANSCEIVER": { + "#text": "debugging", + "debugging": {} + }, + "TUNNEL": { + "#text": "debugging", + "debugging": {} + }, + "VM": { + "#text": "debugging", + "debugging": {} + }, + "VMTRACERSESS": { + "#text": "debugging", + "debugging": {} + }, + "VMWAREVI": { + "#text": "debugging", + "debugging": {} + }, + "VMWAREVS": { + "#text": "debugging", + "debugging": {} + }, + "VRF": { + "#text": "debugging", + "debugging": {} + }, + "VRRP": { + "#text": "debugging", + "debugging": {} + }, + "VXLAN": { + "#text": "debugging", + "debugging": {} + }, + "XMPP": { + "#text": "debugging", + "debugging": {} + }, + "ZTP": { + "#text": "debugging", + "debugging": {} + } + }, + "event": { + "#text": "spanning-tree global", + "link-status": { + "#text": "global", + "global": {} + }, + "spanning-tree": { + "#text": "global", + "global": {} + } + } + }, + "power": { + "#text": "poll-interval 5", + "poll-interval": { + "#text": "5", + "5": {} + } + }, + "radius-server": { + "#text": "retransmit 3", + "timeout": { + "#text": "5", + "5": {} + }, + "retransmit": { + "#text": "3", + "3": {} + } + }, + "router": { + "#text": "pim bsr", + "msdp": { + "#text": "vrf prod", + "vrf": { + "#text": "prod", + "devel": { + "#text": "ip msdp timer 30", + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": {} + } + } + } + }, + "prod": { + "#text": "ip msdp timer 30", + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": {} + } + } + } + } + }, + "!": {} + }, + "bgp": { + "#text": "65001", + "65001": { + "#text": "vrf prod", + "no": { + "#text": "redistribute aggregate", + "shutdown": {}, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": {} + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": {} + } + }, + "ipv6-unicast": {} + }, + "cluster-id": {}, + "route": { + "#text": "install-map", + "install-map": {} + }, + "transport": { + "#text": "listen-port", + "listen-port": {} + }, + "always-compare-med": {}, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": {}, + "confed": {} + }, + "tie-break": { + "#text": "cluster-list-length", + "age": {}, + "router-id": {}, + "originator-id": {}, + "cluster-list-length": {} + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": {} + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": {} + }, + "additional-paths": { + "#text": "install", + "install": {} + }, + "aspath-cmp-include-nexthop": {}, + "advertise-inactive": {}, + "auto-local-addr": {} + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": {}, + "wait-install": {} + }, + "graceful-restart": {}, + "default-metric": {}, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": {}, + "import-localpref": {}, + "export-localpref": {}, + "next-hop-self": {}, + "next-hop-peer": {}, + "allowas-in": {}, + "shutdown": {}, + "out-delay": {}, + "local-as": {}, + "weight": {}, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": {} + } + }, + "update-source": {}, + "dont-capability-negotiate": {}, + "fall-over": { + "#text": "bfd", + "bfd": {} + }, + "local-v6-addr": {}, + "auto-local-addr": {}, + "next-hop-v6-addr": {}, + "ebgp-multihop": {}, + "route-reflector-client": {}, + "timers": {}, + "route-map": { + "#text": "out", + "in": {}, + "out": {} + }, + "graceful-restart": {}, + "prefix-list": { + "#text": "out", + "in": {}, + "out": {} + }, + "password": {}, + "default-originate": {}, + "metric-out": {}, + "idle-restart-timer": {} + } + }, + "redistribute": { + "#text": "aggregate", + "connected": {}, + "isis": {}, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": {}, + "external": {}, + "nssa-external": {} + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": {}, + "external": {} + } + }, + "static": {}, + "rip": {}, + "aggregate": {} + } + }, + "router-id": { + "#text": "1.1.1.1", + "1.1.1.1": {} + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": {} + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": {} + } + } + }, + "log-neighbor-changes": {}, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": {} + }, + "client-to-client": { + "#text": "reflection", + "reflection": {} + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": {} + }, + "enforce-first-as": {}, + "additional-paths": { + "#text": "receive", + "receive": {} + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": {} + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": {} + }, + "ecmp-fast": {} + }, + "redistribute-internal": {} + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": {} + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": {} + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": {} + }, + "stalepath-time": { + "#text": "300", + "300": {} + } + }, + "graceful-restart-helper": {}, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": {} + } + } + }, + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": {} + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": {} + } + } + }, + "send-community": {}, + "remove-private-as": {}, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": {} + }, + "graceful-restart-helper": {}, + "additional-paths": { + "#text": "receive", + "receive": {} + }, + "enforce-first-as": {}, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": {} + } + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#text": "no neighbor 192.168.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + }, + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": {} + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": {}, + "out": {} + }, + "default-originate": {}, + "weight": {} + } + } + }, + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": {} + } + } + }, + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + } + } + }, + "ipv6": { + "#text": "no neighbor 192.168.0.200 weight", + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": {} + }, + "route": { + "#text": "install-map", + "install-map": {} + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": {}, + "out": {} + }, + "prefix-list": { + "#text": "out", + "in": {}, + "out": {} + }, + "default-originate": {}, + "weight": {} + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + }, + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": {} + } + } + }, + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + } + } + } + }, + "!": {}, + "vrf": { + "#text": "prod", + "devel": { + "#text": "address-family ipv6", + "local-as": { + "#text": "65001", + "65001": {} + }, + "no": { + "#text": "redistribute aggregate", + "shutdown": {}, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": {} + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": {} + } + }, + "ipv6-unicast": {} + }, + "cluster-id": {}, + "route": { + "#text": "install-map", + "install-map": {} + }, + "transport": { + "#text": "listen-port", + "listen-port": {} + }, + "always-compare-med": {}, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": {}, + "confed": {} + }, + "tie-break": { + "#text": "cluster-list-length", + "age": {}, + "router-id": {}, + "originator-id": {}, + "cluster-list-length": {} + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": {} + }, + "additional-paths": { + "#text": "install", + "install": {} + }, + "aspath-cmp-include-nexthop": {}, + "advertise-inactive": {}, + "auto-local-addr": {} + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": {}, + "wait-install": {} + }, + "graceful-restart": {}, + "default-metric": {}, + "redistribute": { + "#text": "aggregate", + "connected": {}, + "isis": {}, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": {}, + "external": {}, + "nssa-external": {} + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": {}, + "external": {} + } + }, + "static": {}, + "rip": {}, + "aggregate": {} + } + }, + "router-id": { + "#text": "3.3.3.3", + "3.3.3.3": {} + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": {} + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": {} + } + } + }, + "log-neighbor-changes": {}, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": {} + }, + "client-to-client": { + "#text": "reflection", + "reflection": {} + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": {} + }, + "enforce-first-as": {}, + "additional-paths": { + "#text": "receive", + "receive": {} + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": {} + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": {} + }, + "ecmp-fast": {} + }, + "redistribute-internal": {} + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": {} + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": {} + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": {} + }, + "stalepath-time": { + "#text": "300", + "300": {} + } + }, + "graceful-restart-helper": {}, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": {} + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": {} + } + } + } + }, + "ipv6": { + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": {} + }, + "route": { + "#text": "install-map", + "install-map": {} + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + } + } + }, + "!": {} + }, + "prod": { + "#text": "address-family ipv6", + "local-as": { + "#text": "65001", + "65001": {} + }, + "no": { + "#text": "redistribute aggregate", + "shutdown": {}, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": {} + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": {} + } + }, + "ipv6-unicast": {} + }, + "cluster-id": {}, + "route": { + "#text": "install-map", + "install-map": {} + }, + "transport": { + "#text": "listen-port", + "listen-port": {} + }, + "always-compare-med": {}, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": {}, + "confed": {} + }, + "tie-break": { + "#text": "cluster-list-length", + "age": {}, + "router-id": {}, + "originator-id": {}, + "cluster-list-length": {} + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": {} + }, + "additional-paths": { + "#text": "install", + "install": {} + }, + "aspath-cmp-include-nexthop": {}, + "advertise-inactive": {}, + "auto-local-addr": {} + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": {}, + "wait-install": {} + }, + "graceful-restart": {}, + "default-metric": {}, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": {}, + "import-localpref": {}, + "export-localpref": {}, + "description": {}, + "next-hop-self": {}, + "next-hop-peer": {}, + "allowas-in": {}, + "send-community": {}, + "shutdown": {}, + "remove-private-as": {}, + "out-delay": {}, + "weight": {}, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": {} + } + }, + "update-source": {}, + "dont-capability-negotiate": {}, + "fall-over": { + "#text": "bfd", + "bfd": {} + }, + "local-v6-addr": {}, + "auto-local-addr": {}, + "next-hop-v6-addr": {}, + "ebgp-multihop": {}, + "route-reflector-client": {}, + "timers": {}, + "route-map": { + "#text": "out", + "in": {}, + "out": {} + }, + "graceful-restart": {}, + "prefix-list": { + "#text": "out", + "in": {}, + "out": {} + }, + "password": {}, + "default-originate": {}, + "metric-out": {}, + "idle-restart-timer": {} + } + }, + "redistribute": { + "#text": "aggregate", + "connected": {}, + "isis": {}, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": {}, + "external": {}, + "nssa-external": {} + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": {}, + "external": {} + } + }, + "static": {}, + "rip": {}, + "aggregate": {} + } + }, + "router-id": { + "#text": "2.2.2.2", + "2.2.2.2": {} + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": {} + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": {} + } + } + }, + "log-neighbor-changes": {}, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": {} + }, + "client-to-client": { + "#text": "reflection", + "reflection": {} + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": {} + }, + "enforce-first-as": {}, + "additional-paths": { + "#text": "receive", + "receive": {} + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": {} + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": {} + }, + "ecmp-fast": {} + }, + "redistribute-internal": {} + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": {} + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": {} + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": {} + }, + "stalepath-time": { + "#text": "300", + "300": {} + } + }, + "graceful-restart-helper": {}, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": {} + } + } + }, + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": {} + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": {} + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": {} + }, + "graceful-restart-helper": {}, + "additional-paths": { + "#text": "receive", + "receive": {} + }, + "enforce-first-as": {}, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": {} + } + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": {} + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": {}, + "out": {} + }, + "default-originate": {}, + "weight": {} + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": {} + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + } + } + }, + "ipv6": { + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": {} + }, + "route": { + "#text": "install-map", + "install-map": {} + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": {}, + "out": {} + }, + "prefix-list": { + "#text": "out", + "in": {}, + "out": {} + }, + "default-originate": {}, + "weight": {} + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": {} + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": {} + } + } + } + } + }, + "!": {} + } + } + } + }, + "multicast": { + "#text": "vrf prod", + "vrf": { + "#text": "prod", + "devel": { + "#text": "ip mfib packet-buffers unresolved max 3", + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": {} + } + }, + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": {} + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": {} + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": {} + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": {} + } + } + } + } + } + }, + "prod": { + "#text": "ip mfib packet-buffers unresolved max 3", + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": {} + } + }, + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": {} + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": {} + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": {} + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": {} + } + } + } + } + } + } + }, + "!": {} + }, + "pim": { + "#text": "bsr", + "sparse-mode": { + "#text": "vrf prod", + "vrf": { + "#text": "prod", + "devel": { + "#text": "no ip pim register-source", + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": {}, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": {} + } + }, + "spt-threshold": { + "#text": "0", + "0": {} + } + } + }, + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": {} + }, + "rp-candidate": {}, + "register-source": {} + } + } + } + }, + "prod": { + "#text": "no ip pim register-source", + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": {}, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": {} + } + }, + "spt-threshold": { + "#text": "0", + "0": {} + } + } + }, + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": {} + }, + "rp-candidate": {}, + "register-source": {} + } + } + } + } + }, + "!": {} + }, + "bidirectional": { + "#text": "vrf prod", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": {}, + "group-expiry-timer": { + "#text": "210", + "210": {} + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": {} + } + } + }, + "vrf": { + "#text": "prod", + "devel": { + "#text": "no ip pim rp-candidate", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": {}, + "group-expiry-timer": { + "#text": "210", + "210": {} + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": {} + } + } + } + }, + "prod": { + "#text": "no ip pim rp-candidate", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": {}, + "group-expiry-timer": { + "#text": "210", + "210": {} + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": {} + } + } + } + } + }, + "!": {} + }, + "bsr": { + "#text": "vrf prod", + "vrf": { + "#text": "prod", + "devel": { + "#text": "no ip pim bsr rp-candidate advertisement-filter", + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": {}, + "bsr-sztimeout": {}, + "bsr-candidate": {}, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": {} + } + } + } + } + } + }, + "prod": { + "#text": "no ip pim bsr rp-candidate advertisement-filter", + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": {}, + "bsr-sztimeout": {}, + "bsr-candidate": {}, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": {} + } + } + } + } + } + } + }, + "!": {} + } + } + }, + "sflow": { + "#text": "extension router", + "sample": { + "#text": "output interface", + "1048576": {}, + "output": { + "#text": "interface", + "interface": {} + } + }, + "polling-interval": { + "#text": "2", + "2": {} + }, + "extension": { + "#text": "router", + "switch": {}, + "router": {} + } + }, + "snmp-server": { + "#text": "vrf default", + "vrf": { + "#text": "default", + "default": {} + } + }, + "spanning-tree": { + "#text": "mst configuration", + "mode": { + "#text": "mstp", + "mstp": {} + }, + "hello-time": { + "#text": "2000", + "2000": {} + }, + "max-age": { + "#text": "20", + "20": {} + }, + "forward-time": { + "#text": "15", + "15": {} + }, + "transmit": { + "#text": "hold-count 6", + "hold-count": { + "#text": "6", + "6": {} + } + }, + "max-hops": { + "#text": "20", + "20": {} + }, + "bridge": { + "#text": "assurance", + "assurance": {} + }, + "bpduguard": { + "#text": "rate-limit default", + "rate-limit": { + "#text": "default", + "default": {} + } + }, + "mst": { + "#text": "configuration", + "0": { + "#text": "priority 32768", + "priority": { + "#text": "32768", + "32768": {} + } + }, + "configuration": { + "#text": "revision 0", + "no": { + "#text": "name", + "name": {} + }, + "revision": { + "#text": "0", + "0": {} + } + } + } + }, + "tacacs-server": { + "#text": "timeout 5", + "timeout": { + "#text": "5", + "5": {} + } + }, + "aaa": { + "#text": "root secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", + "authentication": { + "#text": "enable default local", + "login": { + "#text": "default local", + "default": { + "#text": "local", + "local": {} + } + }, + "enable": { + "#text": "default local", + "default": { + "#text": "local", + "local": {} + } + } + }, + "authorization": { + "#text": "config-commands", + "exec": { + "#text": "default local", + "default": { + "#text": "local", + "local": {} + } + }, + "config-commands": {} + }, + "root": { + "#text": "secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", + "secret": { + "#text": "5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", + "5": { + "#text": "$1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", + "$1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.": {} + } + } + } + }, + "username": { + "#text": "vagrant privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "admin": { + "#text": "privilege 15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "privilege": { + "#text": "15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "15": { + "#text": "role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "role": { + "#text": "network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "network-admin": { + "#text": "secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "secret": { + "#text": "5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "5": { + "#text": "$1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "$1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1": {} + } + } + } + } + } + } + }, + "vagrant": { + "#text": "privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "privilege": { + "#text": "15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "15": { + "#text": "role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "role": { + "#text": "network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "network-admin": { + "#text": "secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "secret": { + "#text": "5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "5": { + "#text": "$1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "$1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0": {} + } + } + } + } + } + } + } + }, + "role": { + "#text": "network-operator", + "network-admin": { + "#text": "10 permit command .*", + "10": { + "#text": "permit command .*", + "permit": { + "#text": "command .*", + "command": { + "#text": ".*", + ".*": {} + } + } + } + }, + "network-operator": { + "#text": "20 permit mode exec command .*", + "10": { + "#text": "deny mode exec command configure|bash|python-shell|\\|", + "deny": { + "#text": "mode exec command configure|bash|python-shell|\\|", + "mode": { + "#text": "exec command configure|bash|python-shell|\\|", + "exec": { + "#text": "command configure|bash|python-shell|\\|", + "command": { + "#text": "configure|bash|python-shell|\\|", + "configure|bash|python-shell|\\|": {} + } + } + } + } + }, + "20": { + "#text": "permit mode exec command .*", + "permit": { + "#text": "mode exec command .*", + "mode": { + "#text": "exec command .*", + "exec": { + "#text": "command .*", + "command": { + "#text": ".*", + ".*": {} + } + } + } + } + } + } + }, + "tap": { + "#text": "aggregation", + "aggregation": { + "#text": "no service-policy type tapagg mac access-list match ip", + "no": { + "#text": "service-policy type tapagg mac access-list match ip", + "mode": {}, + "service-policy": { + "#text": "type tapagg mac access-list match ip", + "type": { + "#text": "tapagg mac access-list match ip", + "tapagg": { + "#text": "mac access-list match ip", + "mac": { + "#text": "access-list match ip", + "access-list": { + "#text": "match ip", + "match": { + "#text": "ip", + "ip": {} + } + } + } + } + } + } + } + } + }, + "environment": { + "#text": "fan-speed auto", + "overheat": { + "#text": "action shutdown", + "action": { + "#text": "shutdown", + "shutdown": {} + } + }, + "insufficient-fans": { + "#text": "action shutdown", + "action": { + "#text": "shutdown", + "shutdown": {} + } + }, + "fan-speed": { + "#text": "auto", + "auto": {} + } + }, + "clock": { + "#text": "timezone UTC", + "timezone": { + "#text": "UTC", + "UTC": {} + } + }, + "vrf": { + "#text": "definition prod", + "definition": { + "#text": "prod", + "devel": { + "#text": "no description", + "rd": { + "#text": "1:2", + "1:2": {} + }, + "no": { + "#text": "description", + "description": {} + } + }, + "prod": { + "#text": "description Production VRF", + "rd": { + "#text": "1:1", + "1:1": {} + }, + "description": { + "#text": "Production VRF", + "Production": { + "#text": "VRF", + "VRF": {} + } + } + } + } + }, + "interface": { + "#text": "Management1", + "Port-Channel1": { + "#text": "sflow enable", + "description": { + "#text": "blah", + "blah": {} + }, + "no": { + "#text": "shape rate", + "shutdown": {}, + "switchport": {}, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": {} + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": {}, + "local-proxy-arp": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "helper-address": {}, + "igmp": { + "#text": "host-proxy", + "host-proxy": {} + }, + "multicast": { + "#text": "static", + "static": {} + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": {}, + "bidirectional": {}, + "border-router": {}, + "neighbor-filter": {}, + "bsr-border": {} + } + }, + "bfd": { + "#text": "per-link", + "echo": {}, + "per-link": {} + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": {} + } + }, + "enable": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": {}, + "mtu": { + "#text": "suppress", + "suppress": {} + } + }, + "managed-config-flag": {}, + "other-config-flag": {} + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": {}, + "lacp": { + "#text": "fallback", + "fallback": {} + } + }, + "l2": { + "#text": "mtu", + "mtu": {} + }, + "mlag": {}, + "shape": { + "#text": "rate", + "rate": {} + } + }, + "default": { + "#text": "qos trust", + "load-interval": {}, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": {} + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": {} + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": {} + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": {} + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": {} + } + }, + "ntp": { + "#text": "serve", + "serve": {} + }, + "qos": { + "#text": "trust", + "trust": {} + } + }, + "mtu": { + "#text": "9000", + "9000": {} + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": {} + } + } + }, + "switchport": { + "#text": "dot1q ethertype 0x8100", + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": {} + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": {} + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": {} + } + } + } + } + } + }, + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": {} + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": {} + }, + "last-member-query-count": { + "#text": "2", + "2": {} + }, + "last-member-query-interval": { + "#text": "10", + "10": {} + }, + "query-max-response-time": { + "#text": "100", + "100": {} + }, + "query-interval": { + "#text": "125", + "125": {} + }, + "startup-query-count": { + "#text": "2", + "2": {} + }, + "startup-query-interval": { + "#text": "310", + "310": {} + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": {} + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": {} + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": {} + }, + "join-prune-interval": { + "#text": "60", + "60": {} + }, + "dr-priority": { + "#text": "1", + "1": {} + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": {} + } + }, + "lifetime": { + "#text": "1800", + "1800": {} + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "hop-limit": { + "#text": "64", + "64": {} + } + }, + "reachable-time": { + "#text": "0", + "0": {} + }, + "router-preference": { + "#text": "medium", + "medium": {} + } + } + }, + "port-channel": { + "#text": "lacp fallback timeout 90", + "lacp": { + "#text": "fallback timeout 90", + "fallback": { + "#text": "timeout 90", + "timeout": { + "#text": "90", + "90": {} + } + } + } + }, + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": {} + }, + "dscp": { + "#text": "2", + "2": {} + } + }, + "mc-tx-queue": { + "#text": "3", + "0": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "1": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "2": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "3": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + } + }, + "!": {}, + "uc-tx-queue": { + "#text": "7", + "0": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "1": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "2": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "3": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "4": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "5": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "6": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "7": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + } + }, + "sflow": { + "#text": "enable", + "enable": {} + } + }, + "Port-Channel1.1": { + "#text": "sflow enable", + "no": { + "#text": "shape rate", + "description": {}, + "shutdown": {}, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": {} + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": {} + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": {}, + "local-proxy-arp": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "helper-address": {}, + "igmp": { + "#text": "host-proxy", + "host-proxy": {} + }, + "multicast": { + "#text": "static", + "static": {} + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": {}, + "bidirectional": {}, + "border-router": {}, + "neighbor-filter": {}, + "bsr-border": {} + } + }, + "bfd": { + "#text": "echo", + "echo": {} + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": {} + } + }, + "enable": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": {}, + "mtu": { + "#text": "suppress", + "suppress": {} + } + }, + "managed-config-flag": {}, + "other-config-flag": {} + } + }, + "shape": { + "#text": "rate", + "rate": {} + } + }, + "default": { + "#text": "qos trust", + "load-interval": {}, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": {} + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": {} + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": {} + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": {} + } + }, + "ntp": { + "#text": "serve", + "serve": {} + }, + "qos": { + "#text": "trust", + "trust": {} + } + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": {} + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": {} + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": {} + } + } + } + } + } + }, + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": {} + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": {} + }, + "last-member-query-count": { + "#text": "2", + "2": {} + }, + "last-member-query-interval": { + "#text": "10", + "10": {} + }, + "query-max-response-time": { + "#text": "100", + "100": {} + }, + "query-interval": { + "#text": "125", + "125": {} + }, + "startup-query-count": { + "#text": "2", + "2": {} + }, + "startup-query-interval": { + "#text": "310", + "310": {} + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": {} + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": {} + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": {} + }, + "join-prune-interval": { + "#text": "60", + "60": {} + }, + "dr-priority": { + "#text": "1", + "1": {} + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": {} + } + }, + "lifetime": { + "#text": "1800", + "1800": {} + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "hop-limit": { + "#text": "64", + "64": {} + } + }, + "reachable-time": { + "#text": "0", + "0": {} + }, + "router-preference": { + "#text": "medium", + "medium": {} + } + } + }, + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": {} + }, + "dscp": { + "#text": "2", + "2": {} + } + }, + "mc-tx-queue": { + "#text": "3", + "0": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "1": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "2": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "3": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + } + }, + "!": {}, + "uc-tx-queue": { + "#text": "7", + "0": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "1": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "2": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "3": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "4": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "5": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "6": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "7": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + } + }, + "sflow": { + "#text": "enable", + "enable": {} + } + }, + "Ethernet1": { + "#text": "no switchport tool dot1q remove outer", + "description": { + "#text": "This is a description", + "This": { + "#text": "is a description", + "is": { + "#text": "a description", + "a": { + "#text": "description", + "description": {} + } + } + } + }, + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": {}, + "mac-address": {}, + "link-debounce": {}, + "flowcontrol": { + "#text": "receive", + "send": {}, + "receive": {} + }, + "mac": { + "#text": "timestamp", + "timestamp": {} + }, + "speed": {}, + "l2": { + "#text": "mtu", + "mtu": {} + }, + "traffic-loopback": {}, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": {} + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": {} + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": {} + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": {} + }, + "port-security": {}, + "tap": { + "#text": "default interface", + "identity": {}, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": {} + } + }, + "truncation": {}, + "default": { + "#text": "interface", + "group": {}, + "interface": {} + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": {}, + "truncation": {}, + "group": {}, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": {} + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": {} + } + } + } + }, + "msrp": {}, + "mvrp": {}, + "shape": { + "#text": "rate", + "rate": {} + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": {}, + "link-type": {}, + "bpduguard": { + "#text": "rate-limit", + "rate-limit": {} + }, + "bpdufilter": {}, + "cost": {}, + "guard": {} + } + }, + "default": { + "#text": "qos trust", + "load-interval": {}, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": {} + } + }, + "unidirectional": {}, + "error-correction": { + "#text": "encoding", + "encoding": {} + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": {} + } + }, + "qos": { + "#text": "trust", + "trust": {} + } + }, + "logging": { + "#text": "event spanning-tree use-global", + "event": { + "#text": "spanning-tree use-global", + "link-status": { + "#text": "use-global", + "use-global": {} + }, + "spanning-tree": { + "#text": "use-global", + "use-global": {} + } + } + }, + "dcbx": { + "#text": "mode ieee", + "mode": { + "#text": "ieee", + "ieee": {} + } + }, + "switchport": { + "#text": "tool allowed vlan 1-4094", + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": {} + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": {} + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": {} + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": {} + } + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": {} + } + }, + "channel-group": { + "#text": "1 mode active", + "1": { + "#text": "mode active", + "mode": { + "#text": "active", + "active": {} + } + } + }, + "lacp": { + "#text": "port-priority 32768", + "rate": { + "#text": "normal", + "normal": {} + }, + "port-priority": { + "#text": "32768", + "32768": {} + } + }, + "lldp": { + "#text": "receive", + "transmit": {}, + "receive": {} + }, + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": {} + }, + "dscp": { + "#text": "2", + "2": {} + } + }, + "mc-tx-queue": { + "#text": "3", + "0": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "1": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "2": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "3": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + } + }, + "!": {}, + "uc-tx-queue": { + "#text": "7", + "0": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "1": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "2": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "3": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "4": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "5": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "6": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "7": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + } + }, + "sflow": { + "#text": "enable", + "enable": {} + }, + "spanning-tree": { + "#text": "port-priority 128", + "portfast": { + "#text": "auto", + "auto": {} + }, + "port-priority": { + "#text": "128", + "128": {} + } + } + }, + "Ethernet2": { + "#text": "sflow enable", + "description": { + "#text": "so much oc", + "so": { + "#text": "much oc", + "much": { + "#text": "oc", + "oc": {} + } + } + }, + "shutdown": {}, + "default": { + "#text": "qos trust", + "load-interval": {}, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": {} + } + }, + "unidirectional": {}, + "error-correction": { + "#text": "encoding", + "encoding": {} + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": {} + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": {} + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": {} + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": {} + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": {} + } + }, + "ntp": { + "#text": "serve", + "serve": {} + }, + "qos": { + "#text": "trust", + "trust": {} + } + }, + "mtu": { + "#text": "1500", + "1500": {} + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": {} + } + } + }, + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": {} + }, + "mac-address": {}, + "link-debounce": {}, + "flowcontrol": { + "#text": "receive", + "send": {}, + "receive": {} + }, + "mac": { + "#text": "timestamp", + "timestamp": {} + }, + "speed": {}, + "l2": { + "#text": "mtu", + "mtu": {} + }, + "traffic-loopback": {}, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": {} + } + }, + "switchport": {}, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": {} + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": {}, + "local-proxy-arp": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "helper-address": {}, + "igmp": { + "#text": "host-proxy", + "host-proxy": {} + }, + "multicast": { + "#text": "static", + "static": {} + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": {}, + "bidirectional": {}, + "border-router": {}, + "neighbor-filter": {}, + "bsr-border": {} + } + }, + "bfd": { + "#text": "echo", + "echo": {} + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": {} + } + }, + "enable": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": {}, + "mtu": { + "#text": "suppress", + "suppress": {} + } + }, + "managed-config-flag": {}, + "other-config-flag": {} + } + }, + "channel-group": {}, + "msrp": {}, + "mvrp": {}, + "shape": { + "#text": "rate", + "rate": {} + } + }, + "switchport": { + "#text": "dot1q ethertype 0x8100", + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": {} + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": {} + } + }, + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": {} + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": {} + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": {} + }, + "last-member-query-count": { + "#text": "2", + "2": {} + }, + "last-member-query-interval": { + "#text": "10", + "10": {} + }, + "query-max-response-time": { + "#text": "100", + "100": {} + }, + "query-interval": { + "#text": "125", + "125": {} + }, + "startup-query-count": { + "#text": "2", + "2": {} + }, + "startup-query-interval": { + "#text": "310", + "310": {} + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": {} + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": {} + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": {} + }, + "join-prune-interval": { + "#text": "60", + "60": {} + }, + "dr-priority": { + "#text": "1", + "1": {} + } + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": {} + } + } + } + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": {} + } + }, + "lifetime": { + "#text": "1800", + "1800": {} + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "hop-limit": { + "#text": "64", + "64": {} + } + }, + "reachable-time": { + "#text": "0", + "0": {} + }, + "router-preference": { + "#text": "medium", + "medium": {} + } + } + }, + "lacp": { + "#text": "port-priority 32768", + "rate": { + "#text": "normal", + "normal": {} + }, + "port-priority": { + "#text": "32768", + "32768": {} + } + }, + "lldp": { + "#text": "receive", + "transmit": {}, + "receive": {} + }, + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": {} + }, + "dscp": { + "#text": "2", + "2": {} + } + }, + "mc-tx-queue": { + "#text": "3", + "0": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "1": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "2": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "3": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + } + }, + "!": {}, + "uc-tx-queue": { + "#text": "7", + "0": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "1": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "2": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "3": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "4": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "5": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "6": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + }, + "7": { + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": {} + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": {}, + "guaranteed": {} + }, + "shape": { + "#text": "rate", + "rate": {} + } + } + } + }, + "sflow": { + "#text": "enable", + "enable": {} + } + }, + "Ethernet2.1": { + "#text": "sflow enable", + "description": { + "#text": "another subiface", + "another": { + "#text": "subiface", + "subiface": {} + } + }, + "no": { + "#text": "ip pim bsr-border", + "shutdown": {}, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": {} + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": {}, + "local-proxy-arp": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "helper-address": {}, + "igmp": { + "#text": "host-proxy", + "host-proxy": {} + }, + "multicast": { + "#text": "static", + "static": {} + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": {}, + "bidirectional": {}, + "border-router": {}, + "neighbor-filter": {}, + "bsr-border": {} + } + }, + "bfd": { + "#text": "echo", + "echo": {} + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": {} + } + }, + "enable": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": {}, + "mtu": { + "#text": "suppress", + "suppress": {} + } + }, + "managed-config-flag": {}, + "other-config-flag": {} + } + } + }, + "default": { + "#text": "ip pim bfd-instance", + "load-interval": {}, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": {} + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": {} + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": {} + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": {} + } + }, + "ntp": { + "#text": "serve", + "serve": {} + } + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": {} + } + } + }, + "encapsulation": { + "#text": "dot1q vlan 1", + "dot1q": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": {} + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": {} + } + }, + "vrf": { + "#text": "forwarding prod", + "forwarding": { + "#text": "prod", + "prod": {} + } + }, + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": {}, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": {} + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": {} + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": {} + }, + "last-member-query-count": { + "#text": "2", + "2": {} + }, + "last-member-query-interval": { + "#text": "10", + "10": {} + }, + "query-max-response-time": { + "#text": "100", + "100": {} + }, + "query-interval": { + "#text": "125", + "125": {} + }, + "startup-query-count": { + "#text": "2", + "2": {} + }, + "startup-query-interval": { + "#text": "310", + "310": {} + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": {} + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": {} + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": {} + }, + "join-prune-interval": { + "#text": "60", + "60": {} + }, + "dr-priority": { + "#text": "1", + "1": {} + } + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": {} + } + } + } + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": {} + } + }, + "lifetime": { + "#text": "1800", + "1800": {} + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "hop-limit": { + "#text": "64", + "64": {} + } + }, + "reachable-time": { + "#text": "0", + "0": {} + }, + "router-preference": { + "#text": "medium", + "medium": {} + } + } + }, + "sflow": { + "#text": "enable", + "enable": {} + } + }, + "Ethernet2.2": { + "#text": "sflow enable", + "description": { + "#text": "asdasdasd", + "asdasdasd": {} + }, + "no": { + "#text": "ip pim bsr-border", + "shutdown": {}, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": {} + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": {}, + "local-proxy-arp": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "helper-address": {}, + "igmp": { + "#text": "host-proxy", + "host-proxy": {} + }, + "multicast": { + "#text": "static", + "static": {} + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": {}, + "bidirectional": {}, + "border-router": {}, + "neighbor-filter": {}, + "bsr-border": {} + } + }, + "bfd": { + "#text": "echo", + "echo": {} + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": {} + } + }, + "enable": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": {}, + "mtu": { + "#text": "suppress", + "suppress": {} + } + }, + "managed-config-flag": {}, + "other-config-flag": {} + } + } + }, + "default": { + "#text": "ip pim bfd-instance", + "load-interval": {}, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": {} + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": {} + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": {} + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": {} + } + }, + "ntp": { + "#text": "serve", + "serve": {} + } + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": {} + } + } + }, + "encapsulation": { + "#text": "dot1q vlan 2", + "dot1q": { + "#text": "vlan 2", + "vlan": { + "#text": "2", + "2": {} + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": {} + } + }, + "vrf": { + "#text": "forwarding devel", + "forwarding": { + "#text": "devel", + "devel": {} + } + }, + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": {} + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": {} + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": {} + }, + "last-member-query-count": { + "#text": "2", + "2": {} + }, + "last-member-query-interval": { + "#text": "10", + "10": {} + }, + "query-max-response-time": { + "#text": "100", + "100": {} + }, + "query-interval": { + "#text": "125", + "125": {} + }, + "startup-query-count": { + "#text": "2", + "2": {} + }, + "startup-query-interval": { + "#text": "310", + "310": {} + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": {} + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": {} + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": {} + }, + "join-prune-interval": { + "#text": "60", + "60": {} + }, + "dr-priority": { + "#text": "1", + "1": {} + } + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": {} + } + } + } + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": {} + } + }, + "lifetime": { + "#text": "1800", + "1800": {} + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "hop-limit": { + "#text": "64", + "64": {} + } + }, + "reachable-time": { + "#text": "0", + "0": {} + }, + "router-preference": { + "#text": "medium", + "medium": {} + } + } + }, + "sflow": { + "#text": "enable", + "enable": {} + } + }, + "Loopback1": { + "#text": "default ntp serve", + "description": { + "#text": "a loopback", + "a": { + "#text": "loopback", + "loopback": {} + } + }, + "no": { + "#text": "ipv6 nd other-config-flag", + "shutdown": {}, + "ip": { + "#text": "verify unicast", + "proxy-arp": {}, + "local-proxy-arp": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + } + }, + "bfd": { + "#text": "echo", + "echo": {} + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": {}, + "mtu": { + "#text": "suppress", + "suppress": {} + } + }, + "managed-config-flag": {}, + "other-config-flag": {} + } + } + }, + "default": { + "#text": "ntp serve", + "load-interval": {}, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": {} + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": {} + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": {} + } + }, + "mtu": { + "#text": "1500", + "1500": {} + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": {} + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": {} + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": {} + } + } + } + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": {} + } + }, + "lifetime": { + "#text": "1800", + "1800": {} + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "hop-limit": { + "#text": "64", + "64": {} + } + }, + "reachable-time": { + "#text": "0", + "0": {} + }, + "router-preference": { + "#text": "medium", + "medium": {} + } + } + } + }, + "Management1": { + "#text": "default ntp serve", + "no": { + "#text": "ipv6 nd other-config-flag", + "description": {}, + "shutdown": {}, + "mac-address": {}, + "link-debounce": {}, + "flowcontrol": { + "#text": "receive", + "send": {}, + "receive": {} + }, + "mac": { + "#text": "timestamp", + "timestamp": {} + }, + "speed": {}, + "l2": { + "#text": "mtu", + "mtu": {} + }, + "traffic-loopback": {}, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": {} + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": {}, + "local-proxy-arp": {}, + "verify": { + "#text": "unicast", + "unicast": {} + } + }, + "bfd": { + "#text": "echo", + "echo": {} + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": {}, + "address": {}, + "verify": { + "#text": "unicast", + "unicast": {} + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": {} + } + }, + "managed-config-flag": {}, + "other-config-flag": {} + } + } + }, + "default": { + "#text": "ntp serve", + "load-interval": {}, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": {} + } + }, + "unidirectional": {}, + "error-correction": { + "#text": "encoding", + "encoding": {} + }, + "arp": { + "#text": "timeout 300", + "timeout": { + "#text": "300", + "300": {} + } + }, + "ipv6": { + "#text": "nd cache expire 300", + "nd": { + "#text": "cache expire 300", + "cache": { + "#text": "expire 300", + "expire": { + "#text": "300", + "300": {} + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": {} + } + }, + "mtu": { + "#text": "1500", + "1500": {} + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": {} + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": {} + } + }, + "ip": { + "#text": "address 10.0.2.15/24", + "address": { + "#text": "10.0.2.15/24", + "10.0.2.15/24": {} + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": {} + } + } + } + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": {} + }, + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": {} + } + }, + "lifetime": { + "#text": "1800", + "1800": {} + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": {} + } + }, + "hop-limit": { + "#text": "64", + "64": {} + } + }, + "reachable-time": { + "#text": "0", + "0": {} + }, + "router-preference": { + "#text": "medium", + "medium": {} + } + } + }, + "lldp": { + "#text": "receive", + "transmit": {}, + "receive": {} + } + } + }, + "mac": { + "#text": "address-table notification host-flap detection window 15", + "address-table": { + "#text": "notification host-flap detection window 15", + "aging-time": { + "#text": "300", + "300": {} + }, + "notification": { + "#text": "host-flap detection window 15", + "host-flap": { + "#text": "detection window 15", + "logging": {}, + "detection": { + "#text": "window 15", + "window": { + "#text": "15", + "15": {} + } + } + } + } + } + }, + "monitor": { + "#text": "reachability", + "hadoop": { + "#text": "shutdown", + "shutdown": {} + }, + "loop-protection": { + "#text": "disabled-time 604800", + "rate-limit": { + "#text": "1000", + "1000": {} + }, + "transmit-interval": { + "#text": "5", + "5": {} + }, + "disabled-time": { + "#text": "604800", + "604800": {} + } + }, + "reachability": { + "#text": "default preserve-streams", + "shutdown": {}, + "probe": { + "#text": "checkpoint-interval 60", + "receiver": { + "#text": "max-streams 50000", + "max-streams": { + "#text": "50000", + "50000": {} + } + }, + "checkpoint-interval": { + "#text": "60", + "60": {} + } + }, + "destination": { + "#text": "port 49152", + "port": { + "#text": "49152", + "49152": {} + } + }, + "default": { + "#text": "preserve-streams", + "ignore-checksum": {}, + "preserve-streams": {} + } + } + }, + "ipv6": { + "#text": "icmp redirect", + "icmp": { + "#text": "redirect", + "redirect": {} + } + }, + "control-plane": { + "#text": "ipv6 access-group default-control-plane-acl vrf devel in", + "ip": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": {}, + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": {} + }, + "devel": { + "#text": "in", + "in": {} + } + } + } + } + }, + "ipv6": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": {}, + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": {} + }, + "devel": { + "#text": "in", + "in": {} + } + } + } + } + } + }, + "mlag": { + "#text": "configuration", + "configuration": { + "#text": "no shutdown", + "no": { + "#text": "shutdown", + "domain-id": {}, + "local-interface": {}, + "peer-address": {}, + "peer-link": {}, + "reload-delay": { + "#text": "mode", + "non-mlag": {}, + "mode": {} + }, + "shutdown": {} + }, + "heartbeat-interval": { + "#text": "4000", + "4000": {} + }, + "reload-delay": { + "#text": "0", + "0": {} + } + } + }, + "qos": { + "#text": "map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "map": { + "#text": "traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "cos": { + "#text": "0 1 2 3 4 5 6 7 to traffic-class 8", + "0": { + "#text": "1 2 3 4 5 6 7 to traffic-class 8", + "1": { + "#text": "2 3 4 5 6 7 to traffic-class 8", + "2": { + "#text": "3 4 5 6 7 to traffic-class 8", + "3": { + "#text": "4 5 6 7 to traffic-class 8", + "4": { + "#text": "5 6 7 to traffic-class 8", + "5": { + "#text": "6 7 to traffic-class 8", + "6": { + "#text": "7 to traffic-class 8", + "7": { + "#text": "to traffic-class 8", + "to": { + "#text": "traffic-class 8", + "traffic-class": { + "#text": "8", + "8": {} + } + } + } + } + } + } + } + } + } + } + }, + "dscp": { + "#text": "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "0": { + "#text": "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "1": { + "#text": "2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "2": { + "#text": "3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "3": { + "#text": "4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "4": { + "#text": "5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "5": { + "#text": "6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "6": { + "#text": "7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "7": { + "#text": "8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "8": { + "#text": "9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "9": { + "#text": "10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "10": { + "#text": "11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "11": { + "#text": "12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "12": { + "#text": "13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "13": { + "#text": "14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "14": { + "#text": "15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "15": { + "#text": "16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "16": { + "#text": "17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "17": { + "#text": "18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "18": { + "#text": "19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "19": { + "#text": "20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "20": { + "#text": "21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "21": { + "#text": "22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "22": { + "#text": "23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "23": { + "#text": "24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "24": { + "#text": "25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "25": { + "#text": "26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "26": { + "#text": "27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "27": { + "#text": "28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "28": { + "#text": "29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "29": { + "#text": "30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "30": { + "#text": "31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "31": { + "#text": "32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "32": { + "#text": "33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "33": { + "#text": "34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "34": { + "#text": "35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "35": { + "#text": "36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "36": { + "#text": "37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "37": { + "#text": "38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "38": { + "#text": "39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "39": { + "#text": "40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "40": { + "#text": "41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "41": { + "#text": "42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "42": { + "#text": "43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "43": { + "#text": "44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "44": { + "#text": "45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "45": { + "#text": "46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "46": { + "#text": "47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "47": { + "#text": "48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "48": { + "#text": "49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "49": { + "#text": "50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "50": { + "#text": "51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "51": { + "#text": "52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "52": { + "#text": "53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "53": { + "#text": "54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "54": { + "#text": "55 56 57 58 59 60 61 62 63 to traffic-class 9", + "55": { + "#text": "56 57 58 59 60 61 62 63 to traffic-class 9", + "56": { + "#text": "57 58 59 60 61 62 63 to traffic-class 9", + "57": { + "#text": "58 59 60 61 62 63 to traffic-class 9", + "58": { + "#text": "59 60 61 62 63 to traffic-class 9", + "59": { + "#text": "60 61 62 63 to traffic-class 9", + "60": { + "#text": "61 62 63 to traffic-class 9", + "61": { + "#text": "62 63 to traffic-class 9", + "62": { + "#text": "63 to traffic-class 9", + "63": { + "#text": "to traffic-class 9", + "to": { + "#text": "traffic-class 9", + "traffic-class": { + "#text": "9", + "9": {} + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "traffic-class": { + "#text": "0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "0": { + "#text": "1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "1": { + "#text": "2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "2": { + "#text": "3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "3": { + "#text": "4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "4": { + "#text": "5 6 7 8 9 10 11 to mc-tx-queue 4", + "5": { + "#text": "6 7 8 9 10 11 to mc-tx-queue 4", + "6": { + "#text": "7 8 9 10 11 to mc-tx-queue 4", + "7": { + "#text": "8 9 10 11 to mc-tx-queue 4", + "8": { + "#text": "9 10 11 to mc-tx-queue 4", + "9": { + "#text": "10 11 to mc-tx-queue 4", + "10": { + "#text": "11 to mc-tx-queue 4", + "11": { + "#text": "to mc-tx-queue 4", + "to": { + "#text": "mc-tx-queue 4", + "cos": { + "#text": "3", + "3": {} + }, + "uc-tx-queue": { + "#text": "4", + "4": {} + }, + "mc-tx-queue": { + "#text": "4", + "4": {} + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "policy-map": { + "#text": "type control-plane copp-system-policy", + "type": { + "#text": "control-plane copp-system-policy", + "control-plane": { + "#text": "copp-system-policy", + "copp-system-policy": { + "#text": "class copp-system-default", + "class": { + "#text": "copp-system-default", + "copp-system-bpdu": { + "#text": "bandwidth pps 5000", + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": {} + } + }, + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": {} + } + } + }, + "copp-system-arp": { + "#text": "bandwidth pps 1000", + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": {} + } + }, + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": {} + } + } + }, + "copp-system-igmp": { + "#text": "bandwidth pps 4000", + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": {} + } + }, + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": {} + } + } + }, + "copp-system-default": { + "#text": "no bandwidth", + "no": { + "#text": "bandwidth", + "shape": {}, + "bandwidth": {} + } + } + } + } + } + } + }, + "system": { + "#text": "coredump compressed", + "coredump": { + "#text": "compressed", + "compressed": {} + } + }, + "management": { + "#text": "xmpp", + "api": { + "#text": "http-commands", + "http-commands": { + "#text": "vrf default", + "protocol": { + "#text": "https mac hmac-sha1", + "https": { + "#text": "mac hmac-sha1", + "port": { + "#text": "443", + "443": {} + }, + "cipher": { + "#text": "aes256-cbc aes128-cbc", + "aes256-cbc": { + "#text": "aes128-cbc", + "aes128-cbc": {} + } + }, + "key-exchange": { + "#text": "rsa diffie-hellman-ephemeral-rsa", + "rsa": { + "#text": "diffie-hellman-ephemeral-rsa", + "diffie-hellman-ephemeral-rsa": {} + } + }, + "mac": { + "#text": "hmac-sha1", + "hmac-sha1": {} + } + } + }, + "no": { + "#text": "shutdown", + "protocol": { + "#text": "https ssl profile", + "http": { + "#text": "localhost port 8080", + "port": { + "#text": "80", + "80": {} + }, + "localhost": { + "#text": "port 8080", + "port": { + "#text": "8080", + "8080": {} + } + } + }, + "unix-socket": {}, + "https": { + "#text": "ssl profile", + "certificate": {}, + "ssl": { + "#text": "profile", + "profile": {} + } + } + }, + "cors": { + "#text": "allowed-origin", + "allowed-origin": {} + }, + "shutdown": {} + }, + "qos": { + "#text": "dscp 0", + "dscp": { + "#text": "0", + "0": {} + } + }, + "vrf": { + "#text": "default", + "default": { + "#text": "no shutdown", + "no": { + "#text": "shutdown", + "shutdown": {} + } + } + } + } + }, + "cim-provider": { + "#text": "default ssl key", + "shutdown": {}, + "http": { + "#text": "7778", + "7778": {} + }, + "https": { + "#text": "7779", + "7779": {} + }, + "idle-timeout": { + "#text": "90", + "90": {} + }, + "default": { + "#text": "ssl key", + "live-time": {}, + "trace": {}, + "ssl": { + "#text": "key", + "certificate": {}, + "key": {} + } + } + }, + "console": { + "#text": "idle-timeout 0", + "idle-timeout": { + "#text": "0", + "0": {} + } + }, + "cvx": { + "#text": "service debug", + "shutdown": {}, + "no": { + "#text": "ssl profile", + "server": { + "#text": "port", + "host": {}, + "port": {} + }, + "source-interface": {}, + "ssl": { + "#text": "profile", + "profile": {} + } + }, + "heartbeat-interval": { + "#text": "20", + "20": {} + }, + "heartbeat-timeout": { + "#text": "60", + "60": {} + }, + "service": { + "#text": "debug", + "debug": { + "#text": "interval 1", + "no": { + "#text": "shutdown", + "shutdown": {} + }, + "interval": { + "#text": "1", + "1": {} + } + } + } + }, + "defaults": { + "#text": "secret hash md5", + "secret": { + "#text": "hash md5", + "hash": { + "#text": "md5", + "md5": {} + } + } + }, + "security": { + "#text": "no password minimum length", + "no": { + "#text": "password minimum length", + "entropy": { + "#text": "source hardware", + "source": { + "#text": "hardware", + "hardware": {} + } + }, + "password": { + "#text": "minimum length", + "minimum": { + "#text": "length", + "length": {} + } + } + } + }, + "ssh": { + "#text": "log-level info", + "idle-timeout": { + "#text": "0", + "0": {} + }, + "authentication": { + "#text": "mode keyboard-interactive", + "mode": { + "#text": "keyboard-interactive", + "keyboard-interactive": {} + } + }, + "server-port": { + "#text": "22", + "22": {} + }, + "hostkey": { + "#text": "server rsa dsa", + "server": { + "#text": "rsa dsa", + "rsa": { + "#text": "dsa", + "dsa": {} + } + } + }, + "no": { + "#text": "shutdown", + "fips": { + "#text": "restrictions", + "restrictions": {} + }, + "hostkey": { + "#text": "client strict-checking", + "client": { + "#text": "strict-checking", + "strict-checking": {} + } + }, + "shutdown": {} + }, + "login": { + "#text": "timeout 120", + "timeout": { + "#text": "120", + "120": {} + } + }, + "log-level": { + "#text": "info", + "info": {} + } + }, + "telnet": { + "#text": "idle-timeout 0", + "shutdown": {}, + "idle-timeout": { + "#text": "0", + "0": {} + } + }, + "xmpp": { + "#text": "session privilege 1", + "shutdown": {}, + "vrf": { + "#text": "default", + "default": {} + }, + "session": { + "#text": "privilege 1", + "privilege": { + "#text": "1", + "1": {} + } + } + } + }, + "end": {}, + "": {} + } +] \ No newline at end of file From f0c7b4572e6345dbf44e1c4889757ccb5fe38743 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 09:02:51 +0200 Subject: [PATCH 123/153] Separate tests by config/state --- test/integration/test_profiles.py | 27 +- .../config/default/expected.json | 196 ++ .../mocked/cli.1.show_running_config_all.0 | 1746 +++++++++++++++++ .../{ => state}/default/expected.json | 0 .../default/mocked/cli.1.show_interfaces.0 | 0 .../{ => config}/default/candidate.json | 0 .../{ => config}/default/expected.json | 0 .../{ => config}/default/merge.txt | 0 .../mocked/cli.1.show_running_config_all.0 | 0 .../{ => config}/default/replace.txt | 0 .../{ => config}/default/translation.txt | 0 .../default/openconfig-platform.expected | 0 .../default/openconfig-platform.native | 0 .../{ => config}/default/candidate.json | 0 .../{ => config}/default/expected.json | 0 .../{ => config}/default/merge.txt | 0 .../mocked/cli.1.show_running_config_all.0 | 0 .../{ => config}/default/replace.txt | 0 .../{ => config}/default/translation.txt | 0 .../{ => state}/default/expected.json | 0 ...ion_extensive_get_interface_information_.0 | 0 .../{ => config}/default/candidate.json | 0 .../{ => config}/default/expected.json | 0 .../{ => config}/default/merge.txt | 0 .../mocked/cli.1._get_configuration_.0 | 0 .../{ => config}/default/replace.txt | 0 .../{ => config}/default/translation.txt | 0 .../junos/expected.json | 49 +- 28 files changed, 1997 insertions(+), 21 deletions(-) create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/default/expected.json create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 rename test/integration/test_profiles/eos/openconfig-interfaces/{ => state}/default/expected.json (100%) rename test/integration/test_profiles/eos/openconfig-interfaces/{ => state}/default/mocked/cli.1.show_interfaces.0 (100%) rename test/integration/test_profiles/eos/openconfig-network-instance/{ => config}/default/candidate.json (100%) rename test/integration/test_profiles/eos/openconfig-network-instance/{ => config}/default/expected.json (100%) rename test/integration/test_profiles/eos/openconfig-network-instance/{ => config}/default/merge.txt (100%) rename test/integration/test_profiles/eos/openconfig-network-instance/{ => config}/default/mocked/cli.1.show_running_config_all.0 (100%) rename test/integration/test_profiles/eos/openconfig-network-instance/{ => config}/default/replace.txt (100%) rename test/integration/test_profiles/eos/openconfig-network-instance/{ => config}/default/translation.txt (100%) rename test/integration/test_profiles/eos/openconfig-platform/{ => state}/default/openconfig-platform.expected (100%) rename test/integration/test_profiles/eos/openconfig-platform/{ => state}/default/openconfig-platform.native (100%) rename test/integration/test_profiles/ios/openconfig-interfaces/{ => config}/default/candidate.json (100%) rename test/integration/test_profiles/ios/openconfig-interfaces/{ => config}/default/expected.json (100%) rename test/integration/test_profiles/ios/openconfig-interfaces/{ => config}/default/merge.txt (100%) rename test/integration/test_profiles/ios/openconfig-interfaces/{ => config}/default/mocked/cli.1.show_running_config_all.0 (100%) rename test/integration/test_profiles/ios/openconfig-interfaces/{ => config}/default/replace.txt (100%) rename test/integration/test_profiles/ios/openconfig-interfaces/{ => config}/default/translation.txt (100%) rename test/integration/test_profiles/junos/openconfig-interfaces/{ => state}/default/expected.json (100%) rename test/integration/test_profiles/junos/openconfig-interfaces/{ => state}/default/mocked/cli.1._get_interface_information_extensive_get_interface_information_.0 (100%) rename test/integration/test_profiles/junos/openconfig-network-instance/{ => config}/default/candidate.json (100%) rename test/integration/test_profiles/junos/openconfig-network-instance/{ => config}/default/expected.json (100%) rename test/integration/test_profiles/junos/openconfig-network-instance/{ => config}/default/merge.txt (100%) rename test/integration/test_profiles/junos/openconfig-network-instance/{ => config}/default/mocked/cli.1._get_configuration_.0 (100%) rename test/integration/test_profiles/junos/openconfig-network-instance/{ => config}/default/replace.txt (100%) rename test/integration/test_profiles/junos/openconfig-network-instance/{ => config}/default/translation.txt (100%) diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index a3c8d420..841d792e 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -35,25 +35,26 @@ def pretty_json(dictionary): test_parse_models = [ ["ios", "config", napalm_yang.models.openconfig_interfaces, "default"], ["eos", "config", napalm_yang.models.openconfig_network_instance, "default"], + ["eos", "config", napalm_yang.models.openconfig_interfaces, "default"], ["eos", "state", napalm_yang.models.openconfig_interfaces, "default"], ["junos", "config", napalm_yang.models.openconfig_network_instance, "default"], ["junos", "state", napalm_yang.models.openconfig_interfaces, "default"], ] -def read_file_content(base, profile, model, case, filename): +def read_file_content(base, profile, model, mode, case, filename): full_path = os.path.join(BASE_PATH, base, - profile, model._yang_name, case, filename) + profile, model._yang_name, mode, case, filename) with open(full_path, "r") as f: return f.read() -def read_json(base, profile, model, case, filename): - return json.loads(read_file_content(base, profile, model, case, filename)) +def read_json(base, profile, model, mode, case, filename): + return json.loads(read_file_content(base, profile, model, mode, case, filename)) -def load_json_model(base, profile, model, case, filename): - expected_json = read_json(base, profile, model, case, "expected.json") +def load_json_model(base, profile, model, mode, case, filename): + expected_json = read_json(base, profile, model, mode, case, "expected.json") expected = napalm_yang.base.Root() expected.add_model(model) expected.load_dict(expected_json) @@ -64,11 +65,11 @@ class Tests(object): @pytest.mark.parametrize("profile, mode, model, case", test_parse_models) def test_parse(self, profile, mode, model, case): - expected = load_json_model("test_profiles", profile, model, case, "expected.json") + expected = load_json_model("test_profiles", profile, model, mode, case, "expected.json") optional_args = { "path": os.path.join(BASE_PATH, "test_profiles", - profile, model._yang_name, case, "mocked"), + profile, model._yang_name, mode, case, "mocked"), "profile": profile if isinstance(profile, list) else [profile], } with MockDriver("hostname", "username", "password", optional_args=optional_args) as d: @@ -89,8 +90,8 @@ def test_translate(self, profile, mode, model, case): if mode == "state": return - json_blob = read_json("test_profiles", profile, model, case, "expected.json") - expected_translation = read_file_content("test_profiles", profile, model, case, + json_blob = read_json("test_profiles", profile, model, mode, case, "expected.json") + expected_translation = read_file_content("test_profiles", profile, model, mode, case, "translation.txt") config = napalm_yang.base.Root() @@ -112,10 +113,10 @@ def test_translate_merge(self, mode, action, profile, model, case): if mode == "state": return - json_running = read_json("test_profiles", profile, model, case, "expected.json") - json_candidate = read_json("test_profiles", profile, model, case, "candidate.json") + json_running = read_json("test_profiles", profile, model, mode, case, "expected.json") + json_candidate = read_json("test_profiles", profile, model, mode, case, "candidate.json") - expected_translation = read_file_content("test_profiles", profile, model, case, + expected_translation = read_file_content("test_profiles", profile, model, mode, case, "{}.txt".format(action)) candidate = napalm_yang.base.Root() diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/expected.json b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/expected.json new file mode 100644 index 00000000..c539ced5 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/expected.json @@ -0,0 +1,196 @@ +{ + "interfaces": { + "interface": { + "Ethernet1": { + "config": { + "description": "This is a description", + "enabled": true, + "type": "ethernetCsmacd" + }, + "name": "Ethernet1", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + } + }, + "Ethernet2": { + "config": { + "description": "so much oc", + "enabled": false, + "mtu": 1500, + "type": "ethernetCsmacd" + }, + "name": "Ethernet2", + "routed-vlan": { + "ipv4": { + "addresses": { + "address": { + "192.168.0.1": { + "config": { + "ip": "192.168.0.1", + "prefix-length": 24, + "secondary": false + }, + "ip": "192.168.0.1" + } + } + }, + "config": { + "enabled": true + } + } + }, + "subinterfaces": { + "subinterface": { + "1": { + "config": { + "description": "another subiface", + "enabled": false, + "name": "Ethernet2.1" + }, + "index": "1", + "ipv4": { + "addresses": { + "address": { + "172.20.0.1": { + "config": { + "ip": "172.20.0.1", + "prefix-length": 24, + "secondary": true + }, + "ip": "172.20.0.1" + }, + "192.168.1.1": { + "config": { + "ip": "192.168.1.1", + "prefix-length": 24, + "secondary": false + }, + "ip": "192.168.1.1" + } + } + }, + "config": { + "enabled": true + } + }, + "vlan": { + "config": { + "vlan-id": 1 + } + } + }, + "2": { + "config": { + "description": "asdasdasd", + "enabled": true, + "name": "Ethernet2.2" + }, + "index": "2", + "ipv4": { + "addresses": { + "address": { + "192.168.2.1": { + "config": { + "ip": "192.168.2.1", + "prefix-length": 24, + "secondary": false + }, + "ip": "192.168.2.1" + } + } + }, + "config": { + "enabled": true + } + }, + "vlan": { + "config": { + "vlan-id": 2 + } + } + } + } + } + }, + "Loopback1": { + "config": { + "description": "a loopback", + "enabled": true, + "mtu": 1500, + "type": "softwareLoopback" + }, + "name": "Loopback1", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": true + } + } + } + }, + "Management1": { + "config": { + "enabled": true, + "mtu": 1500, + "type": "ethernetCsmacd" + }, + "name": "Management1", + "routed-vlan": { + "ipv4": { + "addresses": { + "address": { + "10.0.2.15": { + "config": { + "ip": "10.0.2.15", + "prefix-length": 24, + "secondary": false + }, + "ip": "10.0.2.15" + } + } + }, + "config": { + "enabled": true + } + } + } + }, + "Port-Channel1": { + "config": { + "description": "blah", + "enabled": true, + "mtu": 9000, + "type": "ieee8023adLag" + }, + "name": "Port-Channel1", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": true + } + } + }, + "subinterfaces": { + "subinterface": { + "1": { + "config": { + "enabled": true, + "name": "Port-Channel1.1" + }, + "index": "1", + "ipv4": { + "config": { + "enabled": true + } + } + } + } + } + } + } + } +} diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 new file mode 100644 index 00000000..34c434fa --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 @@ -0,0 +1,1746 @@ +! Command: show running-config all +! device: localhost (vEOS, EOS-4.15.2.1F) +! +! boot system flash:/vEOS-lab.swi +! +hardware access-list ipv6 implicit-permit icmpv6 all +! +no deep-inspection payload l2 skip +no deep-inspection payload l4 skip +! +agent fatal-error action reload +! +bfd slow-timer 2000 +bfd interval 300 min_rx 300 multiplier 3 default +! +prompt %H%R%v%P +no service configuration session max completed +no service configuration session max pending +! +schedule config max-concurrent-jobs 1 +schedule tech-support interval 60 max-log-files 100 command show tech-support +! +no logging event storm-control discards global +no logging event storm-control discards interval +! +cvx + shutdown + port 9979 + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 + service hsc + vtep flood list type any + service openstack + shutdown + grace-period 60 + name-resolution interval 21600 + service vxlan + shutdown + vtep mac-learning control-plane + resync-period 300 +! +no dcbx application +! +no ip dhcp relay information option +no ip dhcp relay always-on +no ip dhcp smart-relay global +! +no ip dhcp snooping +no ip dhcp snooping information option +ip dhcp snooping information option circuit-id type 0 format %p:%v +! +default switch forwarding-mode +! +vlan internal allocation policy ascending +! +email + no from-user + no server + no auth username + no auth password + no tls +! +errdisable detect cause arp-inspection +errdisable detect cause link-flap +no errdisable recovery cause arp-inspection +no errdisable recovery cause bpduguard +no errdisable recovery cause hitless-reload-down +no errdisable recovery cause link-flap +no errdisable recovery cause loopprotectguard +no errdisable recovery cause no-internal-vlan +no errdisable recovery cause portchannelguard +no errdisable recovery cause portsec +no errdisable recovery cause tapagg +no errdisable recovery cause uplink-failure-detection +no errdisable recovery cause xcvr-unsupported +errdisable recovery interval 300 +! +event-handler dhclient + trigger on-boot + action bash sudo /mnt/flash/initialize_ma1.sh + delay 20 + no asynchronous + timeout 10 +! +ip igmp snooping +no ip igmp snooping report-flooding +ip igmp snooping robustness-variable 2 +no ip igmp snooping restart query-interval +ip igmp snooping immediate-leave +default ip igmp snooping vlan 1 +default ip igmp snooping vlan 1 querier +no ip igmp snooping vlan 1 querier address +no ip igmp snooping vlan 1 querier query-interval +no ip igmp snooping vlan 1 querier max-response-time +no ip igmp snooping vlan 1 querier last-member-query-interval +no ip igmp snooping vlan 1 querier last-member-query-count +no ip igmp snooping vlan 1 querier startup-query-interval +no ip igmp snooping vlan 1 querier startup-query-count +no ip igmp snooping vlan 1 querier version +no ip igmp snooping vlan 1 max-groups +default ip igmp snooping vlan 1 immediate-leave +no ip igmp snooping querier +no ip igmp snooping querier address +ip igmp snooping querier query-interval 125 +ip igmp snooping querier max-response-time 10 +ip igmp snooping querier last-member-query-interval 1 +no ip igmp snooping querier last-member-query-count +no ip igmp snooping querier startup-query-interval +no ip igmp snooping querier startup-query-count +no ip igmp snooping querier version +! +default logging event congestion-drops +! +no service interface inactive expose +! +no service interface unconnected expose +! +default load-interval default +! +transceiver qsfp default-mode 4x10G +! +ip pim log-neighbor-changes +no ip pim bfd +no ip pim ssm range +ip pim sparse-mode sg-expiry-timer 210 +ip pim spt-threshold 0 +! +ip msdp timer 30 +! +no ip pim rp-candidate +no ip pim bsr-holdtime +no ip pim bsr-sztimeout +no ip pim bsr-candidate +no ip pim bsr rp-candidate advertisement-filter +! +no ip pim register-source +! +lacp system-priority 32768 +! +no queue-monitor length +no queue-monitor length notifying +! +queue-monitor length global-buffer thresholds 512 256 +no queue-monitor length mirror +! +queue-monitor length global-buffer +! +errdisable flap-setting cause link-flap max-flaps 5 time 10 +! +lldp timer 30 +lldp holdtime 120 +lldp reinit 2 +lldp tlv-select link-aggregation +lldp tlv-select management-address +lldp tlv-select max-frame-size +lldp tlv-select port-description +lldp tlv-select port-vlan +lldp tlv-select system-capabilities +lldp tlv-select system-description +lldp tlv-select system-name +lldp run +no lldp management-address +! +logging on +logging buffered 32 debugging +logging trap informational +logging console errors +no logging synchronous +logging format timestamp traditional +no logging format hostname fqdn +logging facility local4 +no logging source-interface +! +logging level AAA debugging +logging level ACCOUNTING debugging +logging level ACL debugging +logging level AGENT debugging +logging level ALE debugging +logging level ARP debugging +logging level BFD debugging +logging level BGP debugging +logging level CAPACITY debugging +logging level CAPI debugging +logging level CLEAR debugging +logging level DATAPLANE debugging +logging level DOT1X debugging +logging level ENVMON debugging +logging level ETH debugging +logging level EVENTMON debugging +logging level EXTENSION debugging +logging level FHRP debugging +logging level FLOW debugging +logging level FORWARDING debugging +logging level FRU debugging +logging level FWK debugging +logging level GMP debugging +logging level HARDWARE debugging +logging level IGMP debugging +logging level IGMPSNOOPING debugging +logging level INTF debugging +logging level IP6ROUTING debugging +logging level IRA debugging +logging level ISIS debugging +logging level KERNELFIB debugging +logging level LACP debugging +logging level LAG debugging +logging level LAUNCHER debugging +logging level LINEPROTO debugging +logging level LLDP debugging +logging level LOGMGR debugging +logging level LOOPBACK debugging +logging level LOOPPROTECT debugging +logging level MAPREDUCEMONITOR debugging +logging level MDIO debugging +logging level MIRRORING debugging +logging level MLAG debugging +logging level MMODE debugging +logging level MROUTE debugging +logging level MRP debugging +logging level MSDP debugging +logging level MSRP debugging +logging level MVRP debugging +logging level NAT debugging +logging level OPENFLOW debugging +logging level OSPF debugging +logging level OSPF3 debugging +logging level PFC debugging +logging level PIM debugging +logging level PIMBSR debugging +logging level PORTSECURITY debugging +logging level PTP debugging +logging level PWRMGMT debugging +logging level QOS debugging +logging level QUEUEMONITOR debugging +logging level REACHABILITYMONITOR debugging +logging level REDUNDANCY debugging +logging level RIB debugging +logging level ROUTING debugging +logging level SECURITY debugging +logging level SERVERMONITOR debugging +logging level SPANTREE debugging +logging level STAGEMGR debugging +logging level SYS debugging +logging level SYSDB debugging +logging level TAPAGG debugging +logging level TCP debugging +logging level TRANSCEIVER debugging +logging level TUNNEL debugging +logging level VM debugging +logging level VMTRACERSESS debugging +logging level VMWAREVI debugging +logging level VMWAREVS debugging +logging level VRF debugging +logging level VRRP debugging +logging level VXLAN debugging +logging level XMPP debugging +logging level ZTP debugging +! +logging event link-status global +! +no ip virtual-router mac-address mlag-peer +! +no msrp streams load-file +! +no hostname +no ip domain lookup source-interface +no ip name-server +no ip domain-name +no ip host +no ipv6 host +! +no ntp trusted-key +no ntp authenticate +no ntp serve all +! +power poll-interval 5 +! +no radius-server key +radius-server timeout 5 +radius-server retransmit 3 +no radius-server deadtime +no radius-server attribute 32 include-in-access-req format +! +router msdp + vrf devel + ip msdp timer 30 + ! + vrf prod + ip msdp timer 30 +! +sflow sample 1048576 +sflow polling-interval 2 +no sflow source +no sflow source-interface +sflow sample output interface +sflow extension switch +sflow extension router +no sflow sample rewrite dscp +no sflow run +! +no sflow extension bgp +! +no snmp-server engineID local +no snmp-server chassis-id +no snmp-server contact +no snmp-server location +no snmp-server source-interface +default snmp-server enable traps +default snmp-server enable traps bgp +default snmp-server enable traps bgp arista-backward-transition +default snmp-server enable traps bgp arista-established +default snmp-server enable traps bgp backward-transition +default snmp-server enable traps bgp established +default snmp-server enable traps entity +default snmp-server enable traps entity arista-ent-sensor-alarm +default snmp-server enable traps entity ent-config-change +default snmp-server enable traps entity ent-state-oper-disabled +default snmp-server enable traps entity ent-state-oper-enabled +default snmp-server enable traps lldp +default snmp-server enable traps lldp rem-tables-change +default snmp-server enable traps msdp +default snmp-server enable traps msdp backward-transition +default snmp-server enable traps msdp established +default snmp-server enable traps ospf +default snmp-server enable traps ospf if-auth-failure +default snmp-server enable traps ospf if-config-error +default snmp-server enable traps ospf if-state-change +default snmp-server enable traps ospf nbr-state-change +default snmp-server enable traps pim +default snmp-server enable traps pim neighbor-loss +default snmp-server enable traps snmp +default snmp-server enable traps snmp authentication +default snmp-server enable traps snmp link-down +default snmp-server enable traps snmp link-up +default snmp-server enable traps snmpConfigManEvent +default snmp-server enable traps snmpConfigManEvent arista-config-man-event +default snmp-server enable traps switchover +default snmp-server enable traps switchover arista-redundancy-switch-over-notif +default snmp-server enable traps test +default snmp-server enable traps test arista-test-notification +default snmp-server enable traps vrrp +default snmp-server enable traps vrrp trap-new-master +snmp-server vrf default +! +spanning-tree mode mstp +spanning-tree hello-time 2000 +spanning-tree max-age 20 +spanning-tree forward-time 15 +spanning-tree transmit hold-count 6 +spanning-tree max-hops 20 +no spanning-tree mst pvst border +no spanning-tree portfast bpduguard default +no spanning-tree portfast bpdufilter default +spanning-tree bridge assurance +no spanning-tree loopguard default +no spanning-tree portchannel guard misconfig +spanning-tree bpduguard rate-limit default +logging event spanning-tree global +spanning-tree mst 0 priority 32768 +! +spanning-tree mst configuration + no name + revision 0 +! +no service sequence-numbers +no service running-config timestamp +! +no tacacs-server key +tacacs-server timeout 5 +! +aaa authentication login default local +no aaa authentication login console +aaa authentication enable default local +no aaa authentication policy on-success log +no aaa authentication policy on-failure log +no aaa authorization console +aaa authorization exec default local +no aaa authorization commands all default +aaa authorization config-commands +no aaa accounting exec console +no aaa accounting commands all console +no aaa accounting exec default +no aaa accounting system default +no aaa accounting dot1x default +no aaa accounting commands all default +! +no enable secret +aaa root secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP. +no aaa authentication policy local allow-nopassword-remote-login +no aaa authorization policy local default-role +! +username admin privilege 15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1 +username vagrant privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0 +! +role network-admin + 10 permit command .* +! +role network-operator + 10 deny mode exec command configure|bash|python-shell|\| + 20 permit mode exec command .* +! +tap aggregation + no mode + no service-policy type tapagg mac access-list match ip +! +environment overheat action shutdown +environment insufficient-fans action shutdown +environment fan-speed auto +! +clock timezone UTC +! +no virtual-cable +! +vlan 1 + name default + state active + no private-vlan + no mac-address-table sharing +! +vrf definition devel + rd 1:2 + no description +! +vrf definition prod + rd 1:1 + description Production VRF +! +interface Port-Channel1 + description blah + no shutdown + default load-interval + mtu 9000 + logging event link-status use-global + switchport dot1q ethertype 0x8100 + no switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no bfd per-link + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Port-Channel1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no port-channel min-links + no port-channel lacp fallback + port-channel lacp fallback timeout 90 + no l2 mtu + no ip multicast static + ip mfib fastdrop + no mlag + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Port-Channel1.1 + no description + no shutdown + default load-interval + logging event link-status use-global + no encapsulation dot1q vlan 0 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Port-Channel1.1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Ethernet1 + description This is a description + no shutdown + default load-interval + logging event link-status use-global + dcbx mode ieee + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport access vlan 1 + switchport trunk native vlan 1 + switchport trunk allowed vlan 1-4094 + no switchport asym vlan + switchport mode access + switchport dot1q ethertype 0x8100 + no switchport trunk private-vlan secondary + switchport mac address learning + no switchport private-vlan mapping + switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + channel-group 1 mode active + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no msrp + no mvrp + no switchport port-security + switchport port-security maximum 1 + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable + no spanning-tree portfast + spanning-tree portfast auto + no spanning-tree link-type + no spanning-tree bpduguard + no spanning-tree bpdufilter + no spanning-tree cost + spanning-tree port-priority 128 + no spanning-tree guard + no spanning-tree bpduguard rate-limit + logging event spanning-tree use-global + switchport tap native vlan 1 + no switchport tap identity + no switchport tap mpls pop all + switchport tap allowed vlan 1-4094 + switchport tool allowed vlan 1-4094 + no switchport tool identity + no switchport tap truncation + no switchport tool truncation + no switchport tap default group + no switchport tap default interface + no switchport tool group + no switchport tool dot1q remove outer +! +interface Ethernet2 + description so much oc + shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no dcbx mode + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport dot1q ethertype 0x8100 + no switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.0.1/24 + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no channel-group + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no ip multicast static + ip mfib fastdrop + no msrp + no mvrp + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable +! +interface Ethernet2.1 + description another subiface + shutdown + default load-interval + logging event link-status use-global + encapsulation dot1q vlan 1 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + vrf forwarding prod + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.1.1/24 + ip address 172.20.0.1/24 secondary + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2.1 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + sflow enable +! +interface Ethernet2.2 + description asdasdasd + no shutdown + default load-interval + logging event link-status use-global + encapsulation dot1q vlan 2 + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + vrf forwarding devel + no ip proxy-arp + no ip local-proxy-arp + ip address 192.168.2.1/24 + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + default ip dhcp smart-relay + no ip helper-address + no ipv6 dhcp relay destination + ip dhcp relay information option circuit-id Ethernet2.2 + no ip igmp + ip igmp version 3 + ip igmp last-member-query-count 2 + ip igmp last-member-query-interval 10 + ip igmp query-max-response-time 100 + ip igmp query-interval 125 + ip igmp startup-query-count 2 + ip igmp startup-query-interval 310 + ip igmp router-alert optional connected + no ip igmp host-proxy + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + no ip multicast static + ip mfib fastdrop + default ntp serve + no ip pim sparse-mode + no ip pim bidirectional + no ip pim border-router + ip pim query-interval 30 + ip pim join-prune-interval 60 + ip pim dr-priority 1 + no ip pim neighbor-filter + default ip pim bfd-instance + no ip pim bsr-border + sflow enable +! +interface Loopback1 + description a loopback + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + no ip address + no ip verify unicast + default arp timeout 14400 + default ipv6 nd cache expire 14400 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + no ipv6 nd ra suppress + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + default ntp serve +! +interface Management1 + no description + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 10.0.2.15/24 + no ip verify unicast + default arp timeout 300 + default ipv6 nd cache expire 300 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + ipv6 nd ra suppress all + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + lldp transmit + lldp receive + default ntp serve +! +mac address-table aging-time 300 +! +monitor hadoop + shutdown +! +no ip fhrp accept-mode +! +no ip virtual-router mac-address +ip virtual-router mac-address advertisement-interval 30 +! +no ipv6 hardware fib nexthop-index +! +ip route 10.0.0.0/24 192.168.0.2 10 tag 0 +ip route 10.0.0.0/24 192.168.0.3 1 tag 0 +ip route 10.0.1.0/24 192.168.0.2 1 tag 0 +ip route vrf prod 10.0.0.0/24 172.20.0.2 1 tag 0 +ip route vrf prod 10.0.1.0/24 172.20.0.2 1 tag 0 +ip route vrf devel 10.0.0.0/24 192.168.2.2 1 tag 0 +ip route vrf devel 10.0.1.0/24 192.168.2.2 1 tag 0 +! +ip routing +ip icmp redirect +no ip icmp source-interface +ip hardware fib route unprogrammed parent-drop +no ip hardware fib route delete delay +ip hardware fib next-hop update event bfd +no ip hardware fib maximum routes +no ip hardware forwarding mpls gre-key +no ip icmp rate-limit-unreachable 0 +no ip hardware fib next-hop sharing +no ip routing vrf prod +no ip icmp source-interface vrf prod +no ip routing vrf devel +no ip icmp source-interface vrf devel +ipv6 icmp redirect +no ip hardware fib maximum routes-v6 +! +no ip multicast-routing +ip multicast multipath deterministic +ip mfib max-fastdrops 1024 +no ip multicast count +ip mfib activity polling-interval 60 +! +ip mfib cache-entries unresolved max 4000 +ip mfib packet-buffers unresolved max 3 +! +ip as-path regex-mode asn +! +no ipv6 unicast-routing +no ipv6 unicast-routing vrf prod +no ipv6 unicast-routing vrf devel +! +control-plane + ip access-group default-control-plane-acl in + ip access-group default-control-plane-acl vrf prod in + ip access-group default-control-plane-acl vrf devel in + ipv6 access-group default-control-plane-acl in + ipv6 access-group default-control-plane-acl vrf prod in + ipv6 access-group default-control-plane-acl vrf devel in +! +mac address-table notification host-flap logging +mac address-table notification host-flap detection window 15 +! +mlag configuration + no domain-id + heartbeat-interval 4000 + no local-interface + no peer-address + no peer-link + reload-delay 0 + no reload-delay non-mlag + no reload-delay mode + no shutdown +! +monitor loop-protection + rate-limit 1000 + transmit-interval 5 + disabled-time 604800 +! +no mpls ip +! +no ip ftp client source-interface +no ip http client source-interface +no ip ssh client source-interface +no ip telnet client source-interface +no ip tftp client source-interface +! +no qos random-detect ecn global-buffer +qos map cos 0 1 2 3 4 5 6 7 to traffic-class 8 +qos map dscp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to cos 3 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to uc-tx-queue 4 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4 +! +policy-map type control-plane copp-system-policy + class copp-system-bpdu + shape pps 6000 + bandwidth pps 5000 + class copp-system-arp + shape pps 25000 + bandwidth pps 1000 + class copp-system-igmp + shape pps 5000 + bandwidth pps 4000 + class copp-system-default + no shape + no bandwidth +! +no ip radius source-interface +! +monitor reachability + shutdown + probe receiver max-streams 50000 + probe checkpoint-interval 60 + destination port 49152 + default ignore-checksum + default preserve-streams +! +router bgp 65001 + no shutdown + router-id 1.1.1.1 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp host-routes fib direct-install + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + no neighbor 192.168.0.200 peer-group + neighbor 192.168.0.200 remote-as 65100 + no neighbor 192.168.0.200 import-localpref + no neighbor 192.168.0.200 export-localpref + neighbor 192.168.0.200 description asdasd qweq asdasd + no neighbor 192.168.0.200 next-hop-self + no neighbor 192.168.0.200 next-hop-peer + no neighbor 192.168.0.200 allowas-in + neighbor 192.168.0.200 send-community + no neighbor 192.168.0.200 shutdown + neighbor 192.168.0.200 remove-private-as + no neighbor 192.168.0.200 out-delay + no neighbor 192.168.0.200 local-as + no neighbor 192.168.0.200 weight + no neighbor 192.168.0.200 transport connection-mode passive + no neighbor 192.168.0.200 update-source + no neighbor 192.168.0.200 dont-capability-negotiate + no neighbor 192.168.0.200 fall-over bfd + no neighbor 192.168.0.200 local-v6-addr + no neighbor 192.168.0.200 auto-local-addr + no neighbor 192.168.0.200 next-hop-v6-addr + neighbor 192.168.0.200 soft-reconfiguration inbound + no neighbor 192.168.0.200 ebgp-multihop + no neighbor 192.168.0.200 route-reflector-client + no neighbor 192.168.0.200 timers + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 graceful-restart + neighbor 192.168.0.200 graceful-restart-helper + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 prefix-list in + no neighbor 192.168.0.200 prefix-list out + no neighbor 192.168.0.200 password + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 enforce-first-as + no neighbor 192.168.0.200 metric-out + no neighbor 192.168.0.200 idle-restart-timer + neighbor 192.168.0.200 maximum-routes 12000 + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + default neighbor 192.168.0.200 activate + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 weight + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + default neighbor 192.168.0.200 activate + no neighbor 192.168.0.200 route-map in + no neighbor 192.168.0.200 route-map out + no neighbor 192.168.0.200 prefix-list in + no neighbor 192.168.0.200 prefix-list out + no neighbor 192.168.0.200 default-originate + neighbor 192.168.0.200 additional-paths receive + no neighbor 192.168.0.200 weight + vrf devel + local-as 65001 + no shutdown + router-id 3.3.3.3 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + ! + vrf prod + local-as 65001 + no shutdown + router-id 2.2.2.2 + bgp convergence time 300 + bgp convergence slow-peer time 90 + no bgp confederation identifier + no update wait-for-convergence + no update wait-install + bgp log-neighbor-changes + bgp default ipv4-unicast + no bgp default ipv4-unicast transport ipv6 + no bgp default ipv6-unicast + timers bgp 60 180 + distance bgp 200 200 200 + graceful-restart restart-time 300 + graceful-restart stalepath-time 300 + no bgp cluster-id + bgp client-to-client reflection + no graceful-restart + graceful-restart-helper + bgp peer-mac-resolution-timeout 0 + bgp enforce-first-as + no bgp route install-map + no bgp transport listen-port + no default-metric + no bgp always-compare-med + no bgp bestpath med missing-as-worst + no bgp bestpath med confed + no bgp route-reflector preserve-attributes + maximum-paths 1 ecmp 128 + no bgp additional-paths install + bgp additional-paths receive + bgp listen limit 1000 + bgp bestpath as-path multipath-relax + no bgp aspath-cmp-include-nexthop + bgp bestpath ecmp-fast + no bgp bestpath tie-break age + no bgp bestpath tie-break router-id + no bgp bestpath tie-break originator-id + no bgp bestpath tie-break cluster-list-length + no bgp advertise-inactive + no bgp auto-local-addr + no neighbor 172.20.0.200 peer-group + neighbor 172.20.0.200 remote-as 65100 + no neighbor 172.20.0.200 import-localpref + no neighbor 172.20.0.200 export-localpref + no neighbor 172.20.0.200 description + no neighbor 172.20.0.200 next-hop-self + no neighbor 172.20.0.200 next-hop-peer + no neighbor 172.20.0.200 allowas-in + no neighbor 172.20.0.200 send-community + no neighbor 172.20.0.200 shutdown + no neighbor 172.20.0.200 remove-private-as + no neighbor 172.20.0.200 out-delay + neighbor 172.20.0.200 local-as 100 no-prepend replace-as + no neighbor 172.20.0.200 weight + no neighbor 172.20.0.200 transport connection-mode passive + no neighbor 172.20.0.200 update-source + no neighbor 172.20.0.200 dont-capability-negotiate + no neighbor 172.20.0.200 fall-over bfd + no neighbor 172.20.0.200 local-v6-addr + no neighbor 172.20.0.200 auto-local-addr + no neighbor 172.20.0.200 next-hop-v6-addr + neighbor 172.20.0.200 soft-reconfiguration inbound + no neighbor 172.20.0.200 ebgp-multihop + no neighbor 172.20.0.200 route-reflector-client + no neighbor 172.20.0.200 timers + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 graceful-restart + neighbor 172.20.0.200 graceful-restart-helper + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 prefix-list in + no neighbor 172.20.0.200 prefix-list out + no neighbor 172.20.0.200 password + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 enforce-first-as + no neighbor 172.20.0.200 metric-out + no neighbor 172.20.0.200 idle-restart-timer + neighbor 172.20.0.200 maximum-routes 12000 + bgp redistribute-internal + no redistribute connected + no redistribute isis + no redistribute ospf match internal + no redistribute ospf match external + no redistribute ospf match nssa-external + no redistribute ospf3 match internal + no redistribute ospf3 match external + no redistribute static + no redistribute rip + no redistribute aggregate + address-family ipv4 + bgp additional-paths receive + no bgp route install-map + default neighbor 172.20.0.200 activate + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 weight + ! + address-family ipv6 + no bgp additional-paths install + bgp additional-paths receive + no bgp route install-map + default neighbor 172.20.0.200 activate + no neighbor 172.20.0.200 route-map in + no neighbor 172.20.0.200 route-map out + no neighbor 172.20.0.200 prefix-list in + no neighbor 172.20.0.200 prefix-list out + no neighbor 172.20.0.200 default-originate + neighbor 172.20.0.200 additional-paths receive + no neighbor 172.20.0.200 weight +! +router multicast + vrf devel + no ip multicast-routing + ip multicast multipath deterministic + ip mfib max-fastdrops 1024 + ip mfib cache-entries unresolved max 4000 + ip mfib packet-buffers unresolved max 3 + ! + vrf prod + no ip multicast-routing + ip multicast multipath deterministic + ip mfib max-fastdrops 1024 + ip mfib cache-entries unresolved max 4000 + ip mfib packet-buffers unresolved max 3 +! +router pim sparse-mode + vrf devel + ip pim log-neighbor-changes + no ip pim ssm range + ip pim sparse-mode sg-expiry-timer 210 + ip pim spt-threshold 0 + no ip pim rp-candidate + no ip pim register-source + ! + vrf prod + ip pim log-neighbor-changes + no ip pim ssm range + ip pim sparse-mode sg-expiry-timer 210 + ip pim spt-threshold 0 + no ip pim rp-candidate + no ip pim register-source +! +router pim bidirectional + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate + vrf devel + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate + ! + vrf prod + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate +! +router pim bsr + vrf devel + no ip pim bsr-holdtime + no ip pim bsr-sztimeout + no ip pim bsr-candidate + no ip pim bsr rp-candidate advertisement-filter + ! + vrf prod + no ip pim bsr-holdtime + no ip pim bsr-sztimeout + no ip pim bsr-candidate + no ip pim bsr rp-candidate advertisement-filter +! +no ip tacacs source-interface +! +no vxlan vni notation dotted +! +no banner login +no banner motd +! +system coredump compressed +! +no dot1x system-auth-control +! +management api http-commands + protocol https port 443 + no protocol http port 80 + no protocol http localhost port 8080 + no protocol unix-socket + no protocol https certificate + no protocol https ssl profile + no cors allowed-origin + protocol https cipher aes256-cbc aes128-cbc + protocol https key-exchange rsa diffie-hellman-ephemeral-rsa + protocol https mac hmac-sha1 + qos dscp 0 + no shutdown + vrf default + no shutdown +! +management cim-provider + shutdown + http 7778 + https 7779 + idle-timeout 90 + default live-time + default trace + default ssl certificate + default ssl key +! +management console + idle-timeout 0 +! +management cvx + shutdown + no server host + no source-interface + no server port + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 +! +management defaults + secret hash md5 +! +management security + no entropy source hardware + no password minimum length +! +management ssh + idle-timeout 0 + authentication mode keyboard-interactive + server-port 22 + hostkey server rsa dsa + no fips restrictions + no hostkey client strict-checking + no shutdown + login timeout 120 + log-level info +! +management telnet + shutdown + idle-timeout 0 +! +management xmpp + shutdown + vrf default + session privilege 1 +! +! +end diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/default/expected.json b/test/integration/test_profiles/eos/openconfig-interfaces/state/default/expected.json similarity index 100% rename from test/integration/test_profiles/eos/openconfig-interfaces/default/expected.json rename to test/integration/test_profiles/eos/openconfig-interfaces/state/default/expected.json diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/default/mocked/cli.1.show_interfaces.0 b/test/integration/test_profiles/eos/openconfig-interfaces/state/default/mocked/cli.1.show_interfaces.0 similarity index 100% rename from test/integration/test_profiles/eos/openconfig-interfaces/default/mocked/cli.1.show_interfaces.0 rename to test/integration/test_profiles/eos/openconfig-interfaces/state/default/mocked/cli.1.show_interfaces.0 diff --git a/test/integration/test_profiles/eos/openconfig-network-instance/default/candidate.json b/test/integration/test_profiles/eos/openconfig-network-instance/config/default/candidate.json similarity index 100% rename from test/integration/test_profiles/eos/openconfig-network-instance/default/candidate.json rename to test/integration/test_profiles/eos/openconfig-network-instance/config/default/candidate.json diff --git a/test/integration/test_profiles/eos/openconfig-network-instance/default/expected.json b/test/integration/test_profiles/eos/openconfig-network-instance/config/default/expected.json similarity index 100% rename from test/integration/test_profiles/eos/openconfig-network-instance/default/expected.json rename to test/integration/test_profiles/eos/openconfig-network-instance/config/default/expected.json diff --git a/test/integration/test_profiles/eos/openconfig-network-instance/default/merge.txt b/test/integration/test_profiles/eos/openconfig-network-instance/config/default/merge.txt similarity index 100% rename from test/integration/test_profiles/eos/openconfig-network-instance/default/merge.txt rename to test/integration/test_profiles/eos/openconfig-network-instance/config/default/merge.txt diff --git a/test/integration/test_profiles/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0 b/test/integration/test_profiles/eos/openconfig-network-instance/config/default/mocked/cli.1.show_running_config_all.0 similarity index 100% rename from test/integration/test_profiles/eos/openconfig-network-instance/default/mocked/cli.1.show_running_config_all.0 rename to test/integration/test_profiles/eos/openconfig-network-instance/config/default/mocked/cli.1.show_running_config_all.0 diff --git a/test/integration/test_profiles/eos/openconfig-network-instance/default/replace.txt b/test/integration/test_profiles/eos/openconfig-network-instance/config/default/replace.txt similarity index 100% rename from test/integration/test_profiles/eos/openconfig-network-instance/default/replace.txt rename to test/integration/test_profiles/eos/openconfig-network-instance/config/default/replace.txt diff --git a/test/integration/test_profiles/eos/openconfig-network-instance/default/translation.txt b/test/integration/test_profiles/eos/openconfig-network-instance/config/default/translation.txt similarity index 100% rename from test/integration/test_profiles/eos/openconfig-network-instance/default/translation.txt rename to test/integration/test_profiles/eos/openconfig-network-instance/config/default/translation.txt diff --git a/test/integration/test_profiles/eos/openconfig-platform/default/openconfig-platform.expected b/test/integration/test_profiles/eos/openconfig-platform/state/default/openconfig-platform.expected similarity index 100% rename from test/integration/test_profiles/eos/openconfig-platform/default/openconfig-platform.expected rename to test/integration/test_profiles/eos/openconfig-platform/state/default/openconfig-platform.expected diff --git a/test/integration/test_profiles/eos/openconfig-platform/default/openconfig-platform.native b/test/integration/test_profiles/eos/openconfig-platform/state/default/openconfig-platform.native similarity index 100% rename from test/integration/test_profiles/eos/openconfig-platform/default/openconfig-platform.native rename to test/integration/test_profiles/eos/openconfig-platform/state/default/openconfig-platform.native diff --git a/test/integration/test_profiles/ios/openconfig-interfaces/default/candidate.json b/test/integration/test_profiles/ios/openconfig-interfaces/config/default/candidate.json similarity index 100% rename from test/integration/test_profiles/ios/openconfig-interfaces/default/candidate.json rename to test/integration/test_profiles/ios/openconfig-interfaces/config/default/candidate.json diff --git a/test/integration/test_profiles/ios/openconfig-interfaces/default/expected.json b/test/integration/test_profiles/ios/openconfig-interfaces/config/default/expected.json similarity index 100% rename from test/integration/test_profiles/ios/openconfig-interfaces/default/expected.json rename to test/integration/test_profiles/ios/openconfig-interfaces/config/default/expected.json diff --git a/test/integration/test_profiles/ios/openconfig-interfaces/default/merge.txt b/test/integration/test_profiles/ios/openconfig-interfaces/config/default/merge.txt similarity index 100% rename from test/integration/test_profiles/ios/openconfig-interfaces/default/merge.txt rename to test/integration/test_profiles/ios/openconfig-interfaces/config/default/merge.txt diff --git a/test/integration/test_profiles/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0 b/test/integration/test_profiles/ios/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 similarity index 100% rename from test/integration/test_profiles/ios/openconfig-interfaces/default/mocked/cli.1.show_running_config_all.0 rename to test/integration/test_profiles/ios/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 diff --git a/test/integration/test_profiles/ios/openconfig-interfaces/default/replace.txt b/test/integration/test_profiles/ios/openconfig-interfaces/config/default/replace.txt similarity index 100% rename from test/integration/test_profiles/ios/openconfig-interfaces/default/replace.txt rename to test/integration/test_profiles/ios/openconfig-interfaces/config/default/replace.txt diff --git a/test/integration/test_profiles/ios/openconfig-interfaces/default/translation.txt b/test/integration/test_profiles/ios/openconfig-interfaces/config/default/translation.txt similarity index 100% rename from test/integration/test_profiles/ios/openconfig-interfaces/default/translation.txt rename to test/integration/test_profiles/ios/openconfig-interfaces/config/default/translation.txt diff --git a/test/integration/test_profiles/junos/openconfig-interfaces/default/expected.json b/test/integration/test_profiles/junos/openconfig-interfaces/state/default/expected.json similarity index 100% rename from test/integration/test_profiles/junos/openconfig-interfaces/default/expected.json rename to test/integration/test_profiles/junos/openconfig-interfaces/state/default/expected.json diff --git a/test/integration/test_profiles/junos/openconfig-interfaces/default/mocked/cli.1._get_interface_information_extensive_get_interface_information_.0 b/test/integration/test_profiles/junos/openconfig-interfaces/state/default/mocked/cli.1._get_interface_information_extensive_get_interface_information_.0 similarity index 100% rename from test/integration/test_profiles/junos/openconfig-interfaces/default/mocked/cli.1._get_interface_information_extensive_get_interface_information_.0 rename to test/integration/test_profiles/junos/openconfig-interfaces/state/default/mocked/cli.1._get_interface_information_extensive_get_interface_information_.0 diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/candidate.json b/test/integration/test_profiles/junos/openconfig-network-instance/config/default/candidate.json similarity index 100% rename from test/integration/test_profiles/junos/openconfig-network-instance/default/candidate.json rename to test/integration/test_profiles/junos/openconfig-network-instance/config/default/candidate.json diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/expected.json b/test/integration/test_profiles/junos/openconfig-network-instance/config/default/expected.json similarity index 100% rename from test/integration/test_profiles/junos/openconfig-network-instance/default/expected.json rename to test/integration/test_profiles/junos/openconfig-network-instance/config/default/expected.json diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/merge.txt b/test/integration/test_profiles/junos/openconfig-network-instance/config/default/merge.txt similarity index 100% rename from test/integration/test_profiles/junos/openconfig-network-instance/default/merge.txt rename to test/integration/test_profiles/junos/openconfig-network-instance/config/default/merge.txt diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 b/test/integration/test_profiles/junos/openconfig-network-instance/config/default/mocked/cli.1._get_configuration_.0 similarity index 100% rename from test/integration/test_profiles/junos/openconfig-network-instance/default/mocked/cli.1._get_configuration_.0 rename to test/integration/test_profiles/junos/openconfig-network-instance/config/default/mocked/cli.1._get_configuration_.0 diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/replace.txt b/test/integration/test_profiles/junos/openconfig-network-instance/config/default/replace.txt similarity index 100% rename from test/integration/test_profiles/junos/openconfig-network-instance/default/replace.txt rename to test/integration/test_profiles/junos/openconfig-network-instance/config/default/replace.txt diff --git a/test/integration/test_profiles/junos/openconfig-network-instance/default/translation.txt b/test/integration/test_profiles/junos/openconfig-network-instance/config/default/translation.txt similarity index 100% rename from test/integration/test_profiles/junos/openconfig-network-instance/default/translation.txt rename to test/integration/test_profiles/junos/openconfig-network-instance/config/default/translation.txt diff --git a/test/integration/tutorial_data/test_populating_from_file/junos/expected.json b/test/integration/tutorial_data/test_populating_from_file/junos/expected.json index 54cf90b3..3552f172 100644 --- a/test/integration/tutorial_data/test_populating_from_file/junos/expected.json +++ b/test/integration/tutorial_data/test_populating_from_file/junos/expected.json @@ -20,6 +20,13 @@ } } }, + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + }, "config": { "type": "ethernetCsmacd", "mtu": 1400, @@ -30,6 +37,13 @@ }, "ge-0/0/1": { "name": "ge-0/0/1", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + }, "config": { "type": "ethernetCsmacd", "enabled": false, @@ -54,15 +68,15 @@ }, "addresses": { "address": { - "192.168.100.1/24": { - "ip": "192.168.100.1/24", + "192.168.100.1": { + "ip": "192.168.100.1", "config": { "ip": "192.168.100.1", "prefix-length": 24 } }, - "172.20.100.1/24": { - "ip": "172.20.100.1/24", + "172.20.100.1": { + "ip": "172.20.100.1", "config": { "ip": "172.20.100.1", "prefix-length": 24 @@ -90,8 +104,8 @@ }, "addresses": { "address": { - "192.168.101.1/24": { - "ip": "192.168.101.1/24", + "192.168.101.1": { + "ip": "192.168.101.1", "config": { "ip": "192.168.101.1", "prefix-length": 24 @@ -119,8 +133,8 @@ }, "addresses": { "address": { - "192.168.102.1/24": { - "ip": "192.168.102.1/24", + "192.168.102.1": { + "ip": "192.168.102.1", "config": { "ip": "192.168.102.1", "prefix-length": 24 @@ -137,6 +151,13 @@ } } }, + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + }, "config": { "type": "ieee8023adLag", "enabled": true, @@ -149,6 +170,11 @@ "subinterface": { "0": { "index": "0", + "ipv4": { + "config": { + "enabled": false + } + }, "config": { "enabled": true, "name": "0", @@ -157,6 +183,13 @@ } } }, + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + }, "config": { "type": "softwareLoopback", "enabled": true, From 259c30c0d04d4bff54d0e8daf0edeb6cc536c7d5 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 09:04:10 +0200 Subject: [PATCH 124/153] Make sure a boolean is returned --- napalm_yang/parsers/jsonp.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/napalm_yang/parsers/jsonp.py b/napalm_yang/parsers/jsonp.py index 4f2621fc..826771e9 100644 --- a/napalm_yang/parsers/jsonp.py +++ b/napalm_yang/parsers/jsonp.py @@ -121,8 +121,10 @@ def _parse_leaf_map(cls, mapping, data): @classmethod def _parse_leaf_is_present(cls, mapping, data): - return cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) + return cls._parse_leaf_default(mapping, data, + check_default=False, check_presence=True) is True @classmethod def _parse_leaf_is_absent(cls, mapping, data): return not cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) + return not cls._parse_leaf_is_present(mapping, data) From 873387b637fe7c5cc25a18da9c21a5a761cd4f59 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 09:04:39 +0200 Subject: [PATCH 125/153] Process value and path properly --- napalm_yang/parsers/jsonp.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/napalm_yang/parsers/jsonp.py b/napalm_yang/parsers/jsonp.py index 826771e9..dd91c33b 100644 --- a/napalm_yang/parsers/jsonp.py +++ b/napalm_yang/parsers/jsonp.py @@ -89,7 +89,13 @@ def _process_key_value(key, value, regexp, mapping): @classmethod def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): - d = cls.resolve_path(data, mapping["path"], mapping.get("default"), check_presence) + if "value" in mapping: + d = mapping["value"] + elif "path" in mapping: + d = cls.resolve_path(data, mapping["path"], mapping.get("default"), check_presence) + else: + d = None + if d and not check_presence: regexp = mapping.get('regexp', None) if regexp: From 13ed59a628f9efafcfca22a9d9fb4fba9a48d02e Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 09:05:08 +0200 Subject: [PATCH 126/153] Capture extra_vars from regular expression --- napalm_yang/parsers/jsonp.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/napalm_yang/parsers/jsonp.py b/napalm_yang/parsers/jsonp.py index dd91c33b..54a26af6 100644 --- a/napalm_yang/parsers/jsonp.py +++ b/napalm_yang/parsers/jsonp.py @@ -50,18 +50,20 @@ def _iterator(d, key_element): def _process_key_value(key, value, regexp, mapping): key_value = mapping.get('key_value') composite_key = mapping.get('composite_key') + extra_vars = {} if key_value: key = key_value elif regexp: match = regexp.match(key) if match: key = match.group('value') + extra_vars = match.groupdict() else: - return + return None, {} if composite_key: key = " ".join([key for _ in range(0, composite_key)]) - return key + return key, extra_vars d = cls.resolve_path(data, mapping["path"], mapping.get("default")) @@ -70,6 +72,8 @@ def _process_key_value(key, value, regexp, mapping): regexp = re.compile(regexp) for k, v in _iterator(d, mapping.get("key")): + if k.startswith("#"): + continue expand_list = mapping.get("expand_list") if expand_list: dd = cls.resolve_path(v, expand_list) @@ -78,14 +82,13 @@ def _process_key_value(key, value, regexp, mapping): for kk, vv in _iterator(dd, mapping.get("expanded_key")): vv = {expand_list: vv} vv.update(copied_data) - key = _process_key_value(kk, vv, regexp, mapping) + key, extra_vars = _process_key_value(kk, vv, regexp, mapping) if key: - yield key, vv, {} + yield key, vv, extra_vars else: - key = _process_key_value(k, v, regexp, mapping) + key, extra_vars = _process_key_value(k, v, regexp, mapping) if key: - yield key, v, {} - + yield key, v, extra_vars @classmethod def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): @@ -132,5 +135,4 @@ def _parse_leaf_is_present(cls, mapping, data): @classmethod def _parse_leaf_is_absent(cls, mapping, data): - return not cls._parse_leaf_default(mapping, data, check_default=False, check_presence=True) return not cls._parse_leaf_is_present(mapping, data) From b6541061ec89bd3ac76bfb1b1d746bb04b9f2687 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 09:06:18 +0200 Subject: [PATCH 127/153] texttree needs to verify #standalone when looking for presence --- napalm_yang/parsers/text_tree.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/napalm_yang/parsers/text_tree.py b/napalm_yang/parsers/text_tree.py index c4712bc6..07f2d1fa 100644 --- a/napalm_yang/parsers/text_tree.py +++ b/napalm_yang/parsers/text_tree.py @@ -1,4 +1,5 @@ # from builtins import super +from builtins import super from collections import OrderedDict from napalm_yang.parsers.jsonp import JSONParser @@ -17,6 +18,10 @@ def _attach_data_to_path(obj, path, data): obj[p] = OrderedDict() obj = obj[p] obj[p] = data + # We add a standalong flag to be able to distinguish this situation: + # switchport + # switchport mode access + obj[p]["#standalone"] = True def parse_indented_config(config, current_indent=0, previous_indent=0, nested=False): @@ -82,12 +87,11 @@ def init_native(cls, native): resp.append(parse_indented_config(n.splitlines())) return resp - # @classmethod - # def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): - # attribute = mapping.get("attribute", None) - # if attribute: - # attribute = "@{}".format(attribute) - # mapping["path"] = "{}.{}".format(mapping["path"], attribute) - # elif not check_presence: - # mapping["path"] = "{}.{}".format(mapping["path"], "#text") - # return super()._parse_leaf_default(mapping, data, check_default, check_presence) + @classmethod + def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): + extra_path = "#standalone" if check_presence else "#text" + if "path" in mapping: + mapping["path"] = "{}.{}".format(mapping["path"], extra_path) + else: + mapping["path"] = extra_path + return super()._parse_leaf_default(mapping, data, check_default, check_presence) From b81a711234a05e8706587dea37ca78f05c41db9d Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 09:06:48 +0200 Subject: [PATCH 128/153] we need super --- napalm_yang/parsers/text_tree.py | 1 - 1 file changed, 1 deletion(-) diff --git a/napalm_yang/parsers/text_tree.py b/napalm_yang/parsers/text_tree.py index 07f2d1fa..33bb7411 100644 --- a/napalm_yang/parsers/text_tree.py +++ b/napalm_yang/parsers/text_tree.py @@ -1,4 +1,3 @@ -# from builtins import super from builtins import super from collections import OrderedDict From 24a9d2489693609cd58bab10c361c57e3447c92d Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 09:07:10 +0200 Subject: [PATCH 129/153] Adapt tests to include #standalone --- test/unit/test_text_tree.py | 5 +- test/unit/text_tree/test_case_1/expected.json | 6125 ++++++++++++----- 2 files changed, 4579 insertions(+), 1551 deletions(-) diff --git a/test/unit/test_text_tree.py b/test/unit/test_text_tree.py index f6bb9ce5..b7445624 100644 --- a/test/unit/test_text_tree.py +++ b/test/unit/test_text_tree.py @@ -16,7 +16,7 @@ class Tests(object): @pytest.mark.parametrize("case", test_case_text_parser) - def test_supported_models(self, case): + def test_text_tree_parser(self, case): path = os.path.join(BASE_PATH, "text_tree", case, "config.txt") expected = os.path.join(BASE_PATH, "text_tree", case, "expected.json") @@ -26,6 +26,9 @@ def test_supported_models(self, case): parsed = napalm_yang.parsers.text_tree.TextTree.init_native(original) result = json.dumps(parsed, indent=4) + # with open(expected, 'w') as f: + # f.write(result) + with open(expected, 'r') as f: expected = f.read() diff --git a/test/unit/text_tree/test_case_1/expected.json b/test/unit/text_tree/test_case_1/expected.json index 4a11b513..51b081de 100644 --- a/test/unit/text_tree/test_case_1/expected.json +++ b/test/unit/text_tree/test_case_1/expected.json @@ -11,7 +11,9 @@ "#text": "icmpv6 all", "icmpv6": { "#text": "all", - "all": {} + "all": { + "#standalone": true + } } } } @@ -25,11 +27,15 @@ "#text": "l4 skip", "l2": { "#text": "skip", - "skip": {} + "skip": { + "#standalone": true + } }, "l4": { "#text": "skip", - "skip": {} + "skip": { + "#standalone": true + } } } }, @@ -41,8 +47,12 @@ "#text": "max pending", "max": { "#text": "pending", - "completed": {}, - "pending": {} + "completed": { + "#standalone": true + }, + "pending": { + "#standalone": true + } } } }, @@ -50,17 +60,25 @@ "#text": "unconnected expose", "inactive": { "#text": "expose", - "expose": {} + "expose": { + "#standalone": true + } }, "unconnected": { "#text": "expose", - "expose": {} + "expose": { + "#standalone": true + } } }, - "sequence-numbers": {}, + "sequence-numbers": { + "#standalone": true + }, "running-config": { "#text": "timestamp", - "timestamp": {} + "timestamp": { + "#standalone": true + } } }, "logging": { @@ -71,24 +89,36 @@ "#text": "discards interval", "discards": { "#text": "interval", - "global": {}, - "interval": {} + "global": { + "#standalone": true + }, + "interval": { + "#standalone": true + } } } }, - "synchronous": {}, + "synchronous": { + "#standalone": true + }, "format": { "#text": "hostname fqdn", "hostname": { "#text": "fqdn", - "fqdn": {} + "fqdn": { + "#standalone": true + } } }, - "source-interface": {} + "source-interface": { + "#standalone": true + } }, "dcbx": { "#text": "application", - "application": {} + "application": { + "#standalone": true + } }, "ip": { "#text": "tacacs source-interface", @@ -98,19 +128,28 @@ "#text": "always-on", "information": { "#text": "option", - "option": {} + "option": { + "#standalone": true + } }, - "always-on": {} + "always-on": { + "#standalone": true + } }, "smart-relay": { "#text": "global", - "global": {} + "global": { + "#standalone": true + } }, "snooping": { + "#standalone": true, "#text": "information option", "information": { "#text": "option", - "option": {} + "option": { + "#standalone": true + } } } }, @@ -118,10 +157,14 @@ "#text": "snooping querier version", "snooping": { "#text": "querier version", - "report-flooding": {}, + "report-flooding": { + "#standalone": true + }, "restart": { "#text": "query-interval", - "query-interval": {} + "query-interval": { + "#standalone": true + } }, "vlan": { "#text": "1 max-groups", @@ -129,79 +172,143 @@ "#text": "max-groups", "querier": { "#text": "version", - "address": {}, - "query-interval": {}, - "max-response-time": {}, - "last-member-query-interval": {}, - "last-member-query-count": {}, - "startup-query-interval": {}, - "startup-query-count": {}, - "version": {} + "address": { + "#standalone": true + }, + "query-interval": { + "#standalone": true + }, + "max-response-time": { + "#standalone": true + }, + "last-member-query-interval": { + "#standalone": true + }, + "last-member-query-count": { + "#standalone": true + }, + "startup-query-interval": { + "#standalone": true + }, + "startup-query-count": { + "#standalone": true + }, + "version": { + "#standalone": true + } }, - "max-groups": {} + "max-groups": { + "#standalone": true + } } }, "querier": { + "#standalone": true, "#text": "version", - "address": {}, - "last-member-query-count": {}, - "startup-query-interval": {}, - "startup-query-count": {}, - "version": {} + "address": { + "#standalone": true + }, + "last-member-query-count": { + "#standalone": true + }, + "startup-query-interval": { + "#standalone": true + }, + "startup-query-count": { + "#standalone": true + }, + "version": { + "#standalone": true + } } } }, "pim": { "#text": "register-source", - "bfd": {}, + "bfd": { + "#standalone": true + }, "ssm": { "#text": "range", - "range": {} + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true }, - "rp-candidate": {}, - "bsr-holdtime": {}, - "bsr-sztimeout": {}, - "bsr-candidate": {}, "bsr": { "#text": "rp-candidate advertisement-filter", "rp-candidate": { "#text": "advertisement-filter", - "advertisement-filter": {} + "advertisement-filter": { + "#standalone": true + } } }, - "register-source": {} + "register-source": { + "#standalone": true + } }, "virtual-router": { "#text": "mac-address", - "mac-address": {} + "mac-address": { + "#standalone": true + } }, "domain": { "#text": "lookup source-interface", "lookup": { "#text": "source-interface", - "source-interface": {} + "source-interface": { + "#standalone": true + } } }, - "name-server": {}, - "domain-name": {}, - "host": {}, + "name-server": { + "#standalone": true + }, + "domain-name": { + "#standalone": true + }, + "host": { + "#standalone": true + }, "fhrp": { "#text": "accept-mode", - "accept-mode": {} + "accept-mode": { + "#standalone": true + } }, "icmp": { "#text": "source-interface vrf devel", "source-interface": { + "#standalone": true, "#text": "vrf devel", "vrf": { "#text": "devel", - "prod": {}, - "devel": {} + "prod": { + "#standalone": true + }, + "devel": { + "#standalone": true + } } }, "rate-limit-unreachable": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } }, "hardware": { @@ -212,24 +319,34 @@ "#text": "delete delay", "delete": { "#text": "delay", - "delay": {} + "delay": { + "#standalone": true + } } }, "maximum": { "#text": "routes-v6", - "routes": {}, - "routes-v6": {} + "routes": { + "#standalone": true + }, + "routes-v6": { + "#standalone": true + } }, "next-hop": { "#text": "sharing", - "sharing": {} + "sharing": { + "#standalone": true + } } }, "forwarding": { "#text": "mpls gre-key", "mpls": { "#text": "gre-key", - "gre-key": {} + "gre-key": { + "#standalone": true + } } } }, @@ -237,57 +354,79 @@ "#text": "vrf devel", "vrf": { "#text": "devel", - "prod": {}, - "devel": {} + "prod": { + "#standalone": true + }, + "devel": { + "#standalone": true + } } }, - "multicast-routing": {}, + "multicast-routing": { + "#standalone": true + }, "multicast": { "#text": "count", - "count": {} + "count": { + "#standalone": true + } }, "ftp": { "#text": "client source-interface", "client": { "#text": "source-interface", - "source-interface": {} + "source-interface": { + "#standalone": true + } } }, "http": { "#text": "client source-interface", "client": { "#text": "source-interface", - "source-interface": {} + "source-interface": { + "#standalone": true + } } }, "ssh": { "#text": "client source-interface", "client": { "#text": "source-interface", - "source-interface": {} + "source-interface": { + "#standalone": true + } } }, "telnet": { "#text": "client source-interface", "client": { "#text": "source-interface", - "source-interface": {} + "source-interface": { + "#standalone": true + } } }, "tftp": { "#text": "client source-interface", "client": { "#text": "source-interface", - "source-interface": {} + "source-interface": { + "#standalone": true + } } }, "radius": { "#text": "source-interface", - "source-interface": {} + "source-interface": { + "#standalone": true + } }, "tacacs": { "#text": "source-interface", - "source-interface": {} + "source-interface": { + "#standalone": true + } } }, "errdisable": { @@ -296,110 +435,184 @@ "#text": "cause xcvr-unsupported", "cause": { "#text": "xcvr-unsupported", - "arp-inspection": {}, - "bpduguard": {}, - "hitless-reload-down": {}, - "link-flap": {}, - "loopprotectguard": {}, - "no-internal-vlan": {}, - "portchannelguard": {}, - "portsec": {}, - "tapagg": {}, - "uplink-failure-detection": {}, - "xcvr-unsupported": {} + "arp-inspection": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true + }, + "hitless-reload-down": { + "#standalone": true + }, + "link-flap": { + "#standalone": true + }, + "loopprotectguard": { + "#standalone": true + }, + "no-internal-vlan": { + "#standalone": true + }, + "portchannelguard": { + "#standalone": true + }, + "portsec": { + "#standalone": true + }, + "tapagg": { + "#standalone": true + }, + "uplink-failure-detection": { + "#standalone": true + }, + "xcvr-unsupported": { + "#standalone": true + } } } }, "queue-monitor": { "#text": "length mirror", "length": { + "#standalone": true, "#text": "mirror", - "notifying": {}, - "mirror": {} + "notifying": { + "#standalone": true + }, + "mirror": { + "#standalone": true + } } }, "lldp": { "#text": "management-address", - "management-address": {} + "management-address": { + "#standalone": true + } }, "msrp": { "#text": "streams load-file", "streams": { "#text": "load-file", - "load-file": {} + "load-file": { + "#standalone": true + } } }, - "hostname": {}, + "hostname": { + "#standalone": true + }, "ipv6": { "#text": "unicast-routing vrf devel", - "host": {}, + "host": { + "#standalone": true + }, "hardware": { "#text": "fib nexthop-index", "fib": { "#text": "nexthop-index", - "nexthop-index": {} + "nexthop-index": { + "#standalone": true + } } }, "unicast-routing": { + "#standalone": true, "#text": "vrf devel", "vrf": { "#text": "devel", - "prod": {}, - "devel": {} + "prod": { + "#standalone": true + }, + "devel": { + "#standalone": true + } } } }, "ntp": { "#text": "serve all", - "trusted-key": {}, - "authenticate": {}, + "trusted-key": { + "#standalone": true + }, + "authenticate": { + "#standalone": true + }, "serve": { "#text": "all", - "all": {} + "all": { + "#standalone": true + } } }, "radius-server": { "#text": "attribute 32 include-in-access-req format", - "key": {}, - "deadtime": {}, + "key": { + "#standalone": true + }, + "deadtime": { + "#standalone": true + }, "attribute": { "#text": "32 include-in-access-req format", "32": { "#text": "include-in-access-req format", "include-in-access-req": { "#text": "format", - "format": {} + "format": { + "#standalone": true + } } } } }, "sflow": { "#text": "extension bgp", - "source": {}, - "source-interface": {}, + "source": { + "#standalone": true + }, + "source-interface": { + "#standalone": true + }, "sample": { "#text": "rewrite dscp", "rewrite": { "#text": "dscp", - "dscp": {} + "dscp": { + "#standalone": true + } } }, - "run": {}, + "run": { + "#standalone": true + }, "extension": { "#text": "bgp", - "bgp": {} + "bgp": { + "#standalone": true + } } }, "snmp-server": { "#text": "source-interface", "engineID": { "#text": "local", - "local": {} + "local": { + "#standalone": true + } + }, + "chassis-id": { + "#standalone": true + }, + "contact": { + "#standalone": true + }, + "location": { + "#standalone": true }, - "chassis-id": {}, - "contact": {}, - "location": {}, - "source-interface": {} + "source-interface": { + "#standalone": true + } }, "spanning-tree": { "#text": "portchannel guard misconfig", @@ -407,35 +620,47 @@ "#text": "pvst border", "pvst": { "#text": "border", - "border": {} + "border": { + "#standalone": true + } } }, "portfast": { "#text": "bpdufilter default", "bpduguard": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } }, "bpdufilter": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } } }, "loopguard": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } }, "portchannel": { "#text": "guard misconfig", "guard": { "#text": "misconfig", - "misconfig": {} + "misconfig": { + "#standalone": true + } } } }, "tacacs-server": { "#text": "key", - "key": {} + "key": { + "#standalone": true + } }, "aaa": { "#text": "authorization policy local default-role", @@ -443,39 +668,53 @@ "#text": "policy local allow-nopassword-remote-login", "login": { "#text": "console", - "console": {} + "console": { + "#standalone": true + } }, "policy": { "#text": "local allow-nopassword-remote-login", "on-success": { "#text": "log", - "log": {} + "log": { + "#standalone": true + } }, "on-failure": { "#text": "log", - "log": {} + "log": { + "#standalone": true + } }, "local": { "#text": "allow-nopassword-remote-login", - "allow-nopassword-remote-login": {} + "allow-nopassword-remote-login": { + "#standalone": true + } } } }, "authorization": { "#text": "policy local default-role", - "console": {}, + "console": { + "#standalone": true + }, "commands": { "#text": "all default", "all": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } } }, "policy": { "#text": "local default-role", "local": { "#text": "default-role", - "default-role": {} + "default-role": { + "#standalone": true + } } } }, @@ -483,35 +722,53 @@ "#text": "commands all default", "exec": { "#text": "default", - "console": {}, - "default": {} + "console": { + "#standalone": true + }, + "default": { + "#standalone": true + } }, "commands": { "#text": "all default", "all": { "#text": "default", - "console": {}, - "default": {} + "console": { + "#standalone": true + }, + "default": { + "#standalone": true + } } }, "system": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } }, "dot1x": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } } } }, "enable": { "#text": "secret", - "secret": {} + "secret": { + "#standalone": true + } + }, + "virtual-cable": { + "#standalone": true }, - "virtual-cable": {}, "mpls": { "#text": "ip", - "ip": {} + "ip": { + "#standalone": true + } }, "qos": { "#text": "random-detect ecn global-buffer", @@ -519,7 +776,9 @@ "#text": "ecn global-buffer", "ecn": { "#text": "global-buffer", - "global-buffer": {} + "global-buffer": { + "#standalone": true + } } } }, @@ -529,18 +788,26 @@ "#text": "notation dotted", "notation": { "#text": "dotted", - "dotted": {} + "dotted": { + "#standalone": true + } } } }, "banner": { "#text": "motd", - "login": {}, - "motd": {} + "login": { + "#standalone": true + }, + "motd": { + "#standalone": true + } }, "dot1x": { "#text": "system-auth-control", - "system-auth-control": {} + "system-auth-control": { + "#standalone": true + } } }, "agent": { @@ -549,7 +816,9 @@ "#text": "action reload", "action": { "#text": "reload", - "reload": {} + "reload": { + "#standalone": true + } } } }, @@ -557,7 +826,9 @@ "#text": "interval 300 min_rx 300 multiplier 3 default", "slow-timer": { "#text": "2000", - "2000": {} + "2000": { + "#standalone": true + } }, "interval": { "#text": "300 min_rx 300 multiplier 3 default", @@ -571,7 +842,9 @@ "#text": "3 default", "3": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } } } } @@ -581,7 +854,9 @@ }, "prompt": { "#text": "%H%R%v%P", - "%H%R%v%P": {} + "%H%R%v%P": { + "#standalone": true + } }, "schedule": { "#text": "tech-support interval 60 max-log-files 100 command show tech-support", @@ -591,7 +866,9 @@ "#text": "1 ", "1": { "#text": "", - "": {} + "": { + "#standalone": true + } } } }, @@ -609,7 +886,9 @@ "#text": "show tech-support", "show": { "#text": "tech-support", - "tech-support": {} + "tech-support": { + "#standalone": true + } } } } @@ -620,24 +899,34 @@ }, "cvx": { "#text": "service vxlan", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "port": { "#text": "9979", - "9979": {} + "9979": { + "#standalone": true + } }, "heartbeat-interval": { "#text": "20", - "20": {} + "20": { + "#standalone": true + } }, "heartbeat-timeout": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } }, "no": { "#text": "ssl profile", "ssl": { "#text": "profile", - "profile": {} + "profile": { + "#standalone": true + } } }, "service": { @@ -646,12 +935,17 @@ "#text": "interval 1", "no": { "#text": "shutdown", - "shutdown": {} + "shutdown": { + "#standalone": true + } }, "interval": { "#text": "1", - "1": {} - } + "1": { + "#standalone": true + } + }, + "#standalone": true }, "hsc": { "#text": "vtep flood list type any", @@ -663,43 +957,61 @@ "#text": "type any", "type": { "#text": "any", - "any": {} + "any": { + "#standalone": true + } } } } - } + }, + "#standalone": true }, "openstack": { "#text": "name-resolution interval 21600", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "grace-period": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } }, "name-resolution": { "#text": "interval 21600", "interval": { "#text": "21600", - "21600": {} + "21600": { + "#standalone": true + } } - } + }, + "#standalone": true }, "vxlan": { "#text": "resync-period 300", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "vtep": { "#text": "mac-learning control-plane", "mac-learning": { "#text": "control-plane", - "control-plane": {} + "control-plane": { + "#standalone": true + } } }, "resync-period": { "#text": "300", - "300": {} - } + "300": { + "#standalone": true + } + }, + "#standalone": true } - } + }, + "#standalone": true }, "ip": { "#text": "as-path regex-mode asn", @@ -719,7 +1031,9 @@ "#text": "format %p:%v", "format": { "#text": "%p:%v", - "%p:%v": {} + "%p:%v": { + "#standalone": true + } } } } @@ -731,49 +1045,68 @@ "igmp": { "#text": "snooping querier last-member-query-interval 1", "snooping": { + "#standalone": true, "#text": "querier last-member-query-interval 1", "robustness-variable": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } + }, + "immediate-leave": { + "#standalone": true }, - "immediate-leave": {}, "querier": { "#text": "last-member-query-interval 1", "query-interval": { "#text": "125", - "125": {} + "125": { + "#standalone": true + } }, "max-response-time": { "#text": "10", - "10": {} + "10": { + "#standalone": true + } }, "last-member-query-interval": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } } } }, "pim": { "#text": "spt-threshold 0", - "log-neighbor-changes": {}, + "log-neighbor-changes": { + "#standalone": true + }, "sparse-mode": { "#text": "sg-expiry-timer 210", "sg-expiry-timer": { "#text": "210", - "210": {} + "210": { + "#standalone": true + } } }, "spt-threshold": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } }, "msdp": { "#text": "timer 30", "timer": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } } }, "virtual-router": { @@ -782,7 +1115,9 @@ "#text": "advertisement-interval 30", "advertisement-interval": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } } } }, @@ -796,7 +1131,9 @@ "#text": "tag 0", "tag": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } }, @@ -806,7 +1143,9 @@ "#text": "tag 0", "tag": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } @@ -819,7 +1158,9 @@ "#text": "tag 0", "tag": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } @@ -836,7 +1177,9 @@ "#text": "tag 0", "tag": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } @@ -849,7 +1192,9 @@ "#text": "tag 0", "tag": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } @@ -865,7 +1210,9 @@ "#text": "tag 0", "tag": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } @@ -878,7 +1225,9 @@ "#text": "tag 0", "tag": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } @@ -886,10 +1235,14 @@ } } }, - "routing": {}, + "routing": { + "#standalone": true + }, "icmp": { "#text": "redirect", - "redirect": {} + "redirect": { + "#standalone": true + } }, "hardware": { "#text": "fib next-hop update event bfd", @@ -899,7 +1252,9 @@ "#text": "unprogrammed parent-drop", "unprogrammed": { "#text": "parent-drop", - "parent-drop": {} + "parent-drop": { + "#standalone": true + } } }, "next-hop": { @@ -908,7 +1263,9 @@ "#text": "event bfd", "event": { "#text": "bfd", - "bfd": {} + "bfd": { + "#standalone": true + } } } } @@ -918,20 +1275,26 @@ "#text": "multipath deterministic", "multipath": { "#text": "deterministic", - "deterministic": {} + "deterministic": { + "#standalone": true + } } }, "mfib": { "#text": "packet-buffers unresolved max 3", "max-fastdrops": { "#text": "1024", - "1024": {} + "1024": { + "#standalone": true + } }, "activity": { "#text": "polling-interval 60", "polling-interval": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } } }, "cache-entries": { @@ -940,7 +1303,9 @@ "#text": "max 4000", "max": { "#text": "4000", - "4000": {} + "4000": { + "#standalone": true + } } } }, @@ -950,7 +1315,9 @@ "#text": "max 3", "max": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } @@ -959,7 +1326,9 @@ "#text": "regex-mode asn", "regex-mode": { "#text": "asn", - "asn": {} + "asn": { + "#standalone": true + } } } }, @@ -967,7 +1336,9 @@ "#text": "snmp-server enable traps vrrp trap-new-master", "switch": { "#text": "forwarding-mode", - "forwarding-mode": {} + "forwarding-mode": { + "#standalone": true + } }, "ip": { "#text": "igmp snooping vlan 1 immediate-leave", @@ -978,9 +1349,14 @@ "vlan": { "#text": "1 immediate-leave", "1": { + "#standalone": true, "#text": "immediate-leave", - "querier": {}, - "immediate-leave": {} + "querier": { + "#standalone": true + }, + "immediate-leave": { + "#standalone": true + } } } } @@ -990,74 +1366,136 @@ "#text": "event congestion-drops", "event": { "#text": "congestion-drops", - "congestion-drops": {} + "congestion-drops": { + "#standalone": true + } } }, "load-interval": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } }, "snmp-server": { "#text": "enable traps vrrp trap-new-master", "enable": { "#text": "traps vrrp trap-new-master", "traps": { + "#standalone": true, "#text": "vrrp trap-new-master", "bgp": { + "#standalone": true, "#text": "established", - "arista-backward-transition": {}, - "arista-established": {}, - "backward-transition": {}, - "established": {} + "arista-backward-transition": { + "#standalone": true + }, + "arista-established": { + "#standalone": true + }, + "backward-transition": { + "#standalone": true + }, + "established": { + "#standalone": true + } }, "entity": { + "#standalone": true, "#text": "ent-state-oper-enabled", - "arista-ent-sensor-alarm": {}, - "ent-config-change": {}, - "ent-state-oper-disabled": {}, - "ent-state-oper-enabled": {} + "arista-ent-sensor-alarm": { + "#standalone": true + }, + "ent-config-change": { + "#standalone": true + }, + "ent-state-oper-disabled": { + "#standalone": true + }, + "ent-state-oper-enabled": { + "#standalone": true + } }, "lldp": { + "#standalone": true, "#text": "rem-tables-change", - "rem-tables-change": {} + "rem-tables-change": { + "#standalone": true + } }, "msdp": { + "#standalone": true, "#text": "established", - "backward-transition": {}, - "established": {} + "backward-transition": { + "#standalone": true + }, + "established": { + "#standalone": true + } }, "ospf": { + "#standalone": true, "#text": "nbr-state-change", - "if-auth-failure": {}, - "if-config-error": {}, - "if-state-change": {}, - "nbr-state-change": {} + "if-auth-failure": { + "#standalone": true + }, + "if-config-error": { + "#standalone": true + }, + "if-state-change": { + "#standalone": true + }, + "nbr-state-change": { + "#standalone": true + } }, "pim": { + "#standalone": true, "#text": "neighbor-loss", - "neighbor-loss": {} + "neighbor-loss": { + "#standalone": true + } }, "snmp": { + "#standalone": true, "#text": "link-up", - "authentication": {}, - "link-down": {}, - "link-up": {} + "authentication": { + "#standalone": true + }, + "link-down": { + "#standalone": true + }, + "link-up": { + "#standalone": true + } }, "snmpConfigManEvent": { + "#standalone": true, "#text": "arista-config-man-event", - "arista-config-man-event": {} + "arista-config-man-event": { + "#standalone": true + } }, "switchover": { + "#standalone": true, "#text": "arista-redundancy-switch-over-notif", - "arista-redundancy-switch-over-notif": {} + "arista-redundancy-switch-over-notif": { + "#standalone": true + } }, "test": { + "#standalone": true, "#text": "arista-test-notification", - "arista-test-notification": {} + "arista-test-notification": { + "#standalone": true + } }, "vrrp": { + "#standalone": true, "#text": "trap-new-master", - "trap-new-master": {} + "trap-new-master": { + "#standalone": true + } } } } @@ -1071,7 +1509,9 @@ "#text": "policy ascending", "policy": { "#text": "ascending", - "ascending": {} + "ascending": { + "#standalone": true + } } } }, @@ -1079,35 +1519,55 @@ "#text": "no mac-address-table sharing", "name": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } }, "state": { "#text": "active", - "active": {} + "active": { + "#standalone": true + } }, "no": { "#text": "mac-address-table sharing", - "private-vlan": {}, + "private-vlan": { + "#standalone": true + }, "mac-address-table": { "#text": "sharing", - "sharing": {} + "sharing": { + "#standalone": true + } } - } + }, + "#standalone": true } }, "email": { "#text": "no tls", "no": { "#text": "tls", - "from-user": {}, - "server": {}, + "from-user": { + "#standalone": true + }, + "server": { + "#standalone": true + }, "auth": { "#text": "password", - "username": {}, - "password": {} + "username": { + "#standalone": true + }, + "password": { + "#standalone": true + } }, - "tls": {} - } + "tls": { + "#standalone": true + } + }, + "#standalone": true }, "errdisable": { "#text": "flap-setting cause link-flap max-flaps 5 time 10", @@ -1115,15 +1575,21 @@ "#text": "cause link-flap", "cause": { "#text": "link-flap", - "arp-inspection": {}, - "link-flap": {} + "arp-inspection": { + "#standalone": true + }, + "link-flap": { + "#standalone": true + } } }, "recovery": { "#text": "interval 300", "interval": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "flap-setting": { @@ -1138,7 +1604,9 @@ "#text": "time 10", "time": { "#text": "10", - "10": {} + "10": { + "#standalone": true + } } } } @@ -1152,7 +1620,9 @@ "#text": "timeout 10", "trigger": { "#text": "on-boot", - "on-boot": {} + "on-boot": { + "#standalone": true + } }, "action": { "#text": "bash sudo /mnt/flash/initialize_ma1.sh", @@ -1160,22 +1630,31 @@ "#text": "sudo /mnt/flash/initialize_ma1.sh", "sudo": { "#text": "/mnt/flash/initialize_ma1.sh", - "/mnt/flash/initialize_ma1.sh": {} + "/mnt/flash/initialize_ma1.sh": { + "#standalone": true + } } } }, "delay": { "#text": "20", - "20": {} + "20": { + "#standalone": true + } }, "no": { "#text": "asynchronous", - "asynchronous": {} + "asynchronous": { + "#standalone": true + } }, "timeout": { "#text": "10", - "10": {} - } + "10": { + "#standalone": true + } + }, + "#standalone": true } }, "transceiver": { @@ -1184,7 +1663,9 @@ "#text": "default-mode 4x10G", "default-mode": { "#text": "4x10G", - "4x10G": {} + "4x10G": { + "#standalone": true + } } } }, @@ -1192,420 +1673,632 @@ "#text": "system-priority 32768", "system-priority": { "#text": "32768", - "32768": {} + "32768": { + "#standalone": true + } } }, "queue-monitor": { "#text": "length global-buffer", "length": { "#text": "global-buffer", - "global-buffer": {} + "global-buffer": { + "#standalone": true + } } }, "lldp": { "#text": "run", "timer": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } }, "holdtime": { "#text": "120", - "120": {} + "120": { + "#standalone": true + } }, "reinit": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "tlv-select": { "#text": "system-name", - "link-aggregation": {}, - "management-address": {}, - "max-frame-size": {}, - "port-description": {}, - "port-vlan": {}, - "system-capabilities": {}, - "system-description": {}, - "system-name": {} + "link-aggregation": { + "#standalone": true + }, + "management-address": { + "#standalone": true + }, + "max-frame-size": { + "#standalone": true + }, + "port-description": { + "#standalone": true + }, + "port-vlan": { + "#standalone": true + }, + "system-capabilities": { + "#standalone": true + }, + "system-description": { + "#standalone": true + }, + "system-name": { + "#standalone": true + } }, - "run": {} + "run": { + "#standalone": true + } }, "logging": { "#text": "event spanning-tree global", - "on": {}, + "on": { + "#standalone": true + }, "buffered": { "#text": "32 debugging", "32": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } } }, "trap": { "#text": "informational", - "informational": {} + "informational": { + "#standalone": true + } }, "console": { "#text": "errors", - "errors": {} + "errors": { + "#standalone": true + } }, "format": { "#text": "timestamp traditional", "timestamp": { "#text": "traditional", - "traditional": {} + "traditional": { + "#standalone": true + } } }, "facility": { "#text": "local4", - "local4": {} + "local4": { + "#standalone": true + } }, "level": { "#text": "ZTP debugging", "AAA": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "ACCOUNTING": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "ACL": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "AGENT": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "ALE": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "ARP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "BFD": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "BGP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "CAPACITY": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "CAPI": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "CLEAR": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "DATAPLANE": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "DOT1X": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "ENVMON": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "ETH": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "EVENTMON": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "EXTENSION": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "FHRP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "FLOW": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "FORWARDING": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "FRU": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "FWK": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "GMP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "HARDWARE": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "IGMP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "IGMPSNOOPING": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "INTF": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "IP6ROUTING": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "IRA": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "ISIS": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "KERNELFIB": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "LACP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "LAG": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "LAUNCHER": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "LINEPROTO": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "LLDP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "LOGMGR": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "LOOPBACK": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "LOOPPROTECT": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MAPREDUCEMONITOR": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MDIO": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MIRRORING": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MLAG": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MMODE": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MROUTE": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MRP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MSDP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MSRP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "MVRP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "NAT": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "OPENFLOW": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "OSPF": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "OSPF3": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "PFC": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "PIM": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "PIMBSR": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "PORTSECURITY": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "PTP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "PWRMGMT": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "QOS": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "QUEUEMONITOR": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "REACHABILITYMONITOR": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "REDUNDANCY": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "RIB": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "ROUTING": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "SECURITY": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "SERVERMONITOR": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "SPANTREE": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "STAGEMGR": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "SYS": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "SYSDB": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "TAPAGG": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "TCP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "TRANSCEIVER": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "TUNNEL": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "VM": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "VMTRACERSESS": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "VMWAREVI": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "VMWAREVS": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "VRF": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "VRRP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "VXLAN": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "XMPP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } }, "ZTP": { "#text": "debugging", - "debugging": {} + "debugging": { + "#standalone": true + } } }, "event": { "#text": "spanning-tree global", "link-status": { "#text": "global", - "global": {} + "global": { + "#standalone": true + } }, "spanning-tree": { "#text": "global", - "global": {} + "global": { + "#standalone": true + } } } }, @@ -1613,18 +2306,24 @@ "#text": "poll-interval 5", "poll-interval": { "#text": "5", - "5": {} + "5": { + "#standalone": true + } } }, "radius-server": { "#text": "retransmit 3", "timeout": { "#text": "5", - "5": {} + "5": { + "#standalone": true + } }, "retransmit": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } }, "router": { @@ -1641,10 +2340,13 @@ "#text": "timer 30", "timer": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } } } - } + }, + "#standalone": true }, "prod": { "#text": "ip msdp timer 30", @@ -1654,13 +2356,19 @@ "#text": "timer 30", "timer": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } } } - } + }, + "#standalone": true } }, - "!": {} + "!": { + "#standalone": true + }, + "#standalone": true }, "bgp": { "#text": "65001", @@ -1668,12 +2376,16 @@ "#text": "vrf prod", "no": { "#text": "redistribute aggregate", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "bgp": { "#text": "auto-local-addr", "confederation": { "#text": "identifier", - "identifier": {} + "identifier": { + "#standalone": true + } }, "default": { "#text": "ipv6-unicast", @@ -1681,141 +2393,265 @@ "#text": "transport ipv6", "transport": { "#text": "ipv6", - "ipv6": {} + "ipv6": { + "#standalone": true + } } }, - "ipv6-unicast": {} + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true }, - "cluster-id": {}, "route": { "#text": "install-map", - "install-map": {} + "install-map": { + "#standalone": true + } }, "transport": { "#text": "listen-port", - "listen-port": {} + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true }, - "always-compare-med": {}, "bestpath": { "#text": "tie-break cluster-list-length", "med": { "#text": "confed", - "missing-as-worst": {}, - "confed": {} + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } }, "tie-break": { "#text": "cluster-list-length", - "age": {}, - "router-id": {}, - "originator-id": {}, - "cluster-list-length": {} + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } } }, "host-routes": { "#text": "fib direct-install", "fib": { "#text": "direct-install", - "direct-install": {} + "direct-install": { + "#standalone": true + } } }, "route-reflector": { "#text": "preserve-attributes", - "preserve-attributes": {} + "preserve-attributes": { + "#standalone": true + } }, "additional-paths": { "#text": "install", - "install": {} + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true }, - "aspath-cmp-include-nexthop": {}, - "advertise-inactive": {}, - "auto-local-addr": {} + "auto-local-addr": { + "#standalone": true + } }, "update": { "#text": "wait-install", - "wait-for-convergence": {}, - "wait-install": {} + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true }, - "graceful-restart": {}, - "default-metric": {}, "neighbor": { "#text": "192.168.0.200 idle-restart-timer", "192.168.0.200": { "#text": "idle-restart-timer", - "peer-group": {}, - "import-localpref": {}, - "export-localpref": {}, - "next-hop-self": {}, - "next-hop-peer": {}, - "allowas-in": {}, - "shutdown": {}, - "out-delay": {}, - "local-as": {}, - "weight": {}, + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, "transport": { "#text": "connection-mode passive", "connection-mode": { "#text": "passive", - "passive": {} + "passive": { + "#standalone": true + } } }, - "update-source": {}, - "dont-capability-negotiate": {}, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, "fall-over": { "#text": "bfd", - "bfd": {} - }, - "local-v6-addr": {}, - "auto-local-addr": {}, - "next-hop-v6-addr": {}, - "ebgp-multihop": {}, - "route-reflector-client": {}, - "timers": {}, + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, "route-map": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true }, - "graceful-restart": {}, "prefix-list": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true }, - "password": {}, - "default-originate": {}, - "metric-out": {}, - "idle-restart-timer": {} + "idle-restart-timer": { + "#standalone": true + } } }, "redistribute": { "#text": "aggregate", - "connected": {}, - "isis": {}, + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, "ospf": { "#text": "match nssa-external", "match": { "#text": "nssa-external", - "internal": {}, - "external": {}, - "nssa-external": {} + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } } }, "ospf3": { "#text": "match external", "match": { "#text": "external", - "internal": {}, - "external": {} + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } } }, - "static": {}, - "rip": {}, - "aggregate": {} + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } } }, "router-id": { "#text": "1.1.1.1", - "1.1.1.1": {} + "1.1.1.1": { + "#standalone": true + } }, "bgp": { "#text": "redistribute-internal", @@ -1823,50 +2659,74 @@ "#text": "slow-peer time 90", "time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } }, "slow-peer": { "#text": "time 90", "time": { "#text": "90", - "90": {} + "90": { + "#standalone": true + } } } }, - "log-neighbor-changes": {}, + "log-neighbor-changes": { + "#standalone": true + }, "default": { "#text": "ipv4-unicast", - "ipv4-unicast": {} + "ipv4-unicast": { + "#standalone": true + } }, "client-to-client": { "#text": "reflection", - "reflection": {} + "reflection": { + "#standalone": true + } }, "peer-mac-resolution-timeout": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true }, - "enforce-first-as": {}, "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } }, "listen": { "#text": "limit 1000", "limit": { "#text": "1000", - "1000": {} + "1000": { + "#standalone": true + } } }, "bestpath": { "#text": "ecmp-fast", "as-path": { "#text": "multipath-relax", - "multipath-relax": {} + "multipath-relax": { + "#standalone": true + } }, - "ecmp-fast": {} + "ecmp-fast": { + "#standalone": true + } }, - "redistribute-internal": {} + "redistribute-internal": { + "#standalone": true + } }, "timers": { "#text": "bgp 60 180", @@ -1874,7 +2734,9 @@ "#text": "60 180", "60": { "#text": "180", - "180": {} + "180": { + "#standalone": true + } } } }, @@ -1886,7 +2748,9 @@ "#text": "200 200", "200": { "#text": "200", - "200": {} + "200": { + "#standalone": true + } } } } @@ -1895,21 +2759,29 @@ "#text": "stalepath-time 300", "restart-time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } }, "stalepath-time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, - "graceful-restart-helper": {}, + "graceful-restart-helper": { + "#standalone": true + }, "maximum-paths": { "#text": "1 ecmp 128", "1": { "#text": "ecmp 128", "ecmp": { "#text": "128", - "128": {} + "128": { + "#standalone": true + } } } }, @@ -1919,7 +2791,9 @@ "#text": "maximum-routes 12000 ", "remote-as": { "#text": "65100", - "65100": {} + "65100": { + "#standalone": true + } }, "description": { "#text": "asdasd qweq asdasd", @@ -1927,27 +2801,43 @@ "#text": "qweq asdasd", "qweq": { "#text": "asdasd", - "asdasd": {} + "asdasd": { + "#standalone": true + } } } }, - "send-community": {}, - "remove-private-as": {}, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, "soft-reconfiguration": { "#text": "inbound", - "inbound": {} + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true }, - "graceful-restart-helper": {}, "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true }, - "enforce-first-as": {}, "maximum-routes": { "#text": "12000 ", "12000": { "#text": "", - "": {} + "": { + "#standalone": true + } } } } @@ -1960,7 +2850,9 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } }, "no": { @@ -1969,7 +2861,9 @@ "#text": "route install-map", "route": { "#text": "install-map", - "install-map": {} + "install-map": { + "#standalone": true + } } }, "neighbor": { @@ -1978,11 +2872,19 @@ "#text": "weight", "route-map": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } }, - "default-originate": {}, - "weight": {} + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } } } }, @@ -1992,7 +2894,9 @@ "#text": "192.168.0.200 activate", "192.168.0.200": { "#text": "activate", - "activate": {} + "activate": { + "#standalone": true + } } } }, @@ -2002,10 +2906,13 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } } - } + }, + "#standalone": true }, "ipv6": { "#text": "no neighbor 192.168.0.200 weight", @@ -2015,11 +2922,15 @@ "#text": "route install-map", "additional-paths": { "#text": "install", - "install": {} + "install": { + "#standalone": true + } }, "route": { "#text": "install-map", - "install-map": {} + "install-map": { + "#standalone": true + } } }, "neighbor": { @@ -2028,16 +2939,28 @@ "#text": "weight", "route-map": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } }, "prefix-list": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true }, - "default-originate": {}, - "weight": {} + "weight": { + "#standalone": true + } } } }, @@ -2045,7 +2968,9 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } }, "default": { @@ -2054,7 +2979,9 @@ "#text": "192.168.0.200 activate", "192.168.0.200": { "#text": "activate", - "activate": {} + "activate": { + "#standalone": true + } } } }, @@ -2064,29 +2991,40 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } } - } + }, + "#standalone": true } }, - "!": {}, + "!": { + "#standalone": true + }, "vrf": { "#text": "prod", "devel": { "#text": "address-family ipv6", "local-as": { "#text": "65001", - "65001": {} + "65001": { + "#standalone": true + } }, "no": { "#text": "redistribute aggregate", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "bgp": { "#text": "auto-local-addr", "confederation": { "#text": "identifier", - "identifier": {} + "identifier": { + "#standalone": true + } }, "default": { "#text": "ipv6-unicast", @@ -2094,84 +3032,148 @@ "#text": "transport ipv6", "transport": { "#text": "ipv6", - "ipv6": {} + "ipv6": { + "#standalone": true + } } }, - "ipv6-unicast": {} + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true }, - "cluster-id": {}, "route": { "#text": "install-map", - "install-map": {} + "install-map": { + "#standalone": true + } }, "transport": { "#text": "listen-port", - "listen-port": {} + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true }, - "always-compare-med": {}, "bestpath": { "#text": "tie-break cluster-list-length", "med": { "#text": "confed", - "missing-as-worst": {}, - "confed": {} + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } }, "tie-break": { "#text": "cluster-list-length", - "age": {}, - "router-id": {}, - "originator-id": {}, - "cluster-list-length": {} + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } } }, "route-reflector": { "#text": "preserve-attributes", - "preserve-attributes": {} + "preserve-attributes": { + "#standalone": true + } }, "additional-paths": { "#text": "install", - "install": {} + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true }, - "aspath-cmp-include-nexthop": {}, - "advertise-inactive": {}, - "auto-local-addr": {} + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } }, "update": { "#text": "wait-install", - "wait-for-convergence": {}, - "wait-install": {} + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true }, - "graceful-restart": {}, - "default-metric": {}, "redistribute": { "#text": "aggregate", - "connected": {}, - "isis": {}, + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, "ospf": { "#text": "match nssa-external", "match": { "#text": "nssa-external", - "internal": {}, - "external": {}, - "nssa-external": {} + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } } }, "ospf3": { "#text": "match external", "match": { "#text": "external", - "internal": {}, - "external": {} + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } } }, - "static": {}, - "rip": {}, - "aggregate": {} + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } } }, "router-id": { "#text": "3.3.3.3", - "3.3.3.3": {} + "3.3.3.3": { + "#standalone": true + } }, "bgp": { "#text": "redistribute-internal", @@ -2179,50 +3181,74 @@ "#text": "slow-peer time 90", "time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } }, "slow-peer": { "#text": "time 90", "time": { "#text": "90", - "90": {} + "90": { + "#standalone": true + } } } }, - "log-neighbor-changes": {}, + "log-neighbor-changes": { + "#standalone": true + }, "default": { "#text": "ipv4-unicast", - "ipv4-unicast": {} + "ipv4-unicast": { + "#standalone": true + } }, "client-to-client": { "#text": "reflection", - "reflection": {} + "reflection": { + "#standalone": true + } }, "peer-mac-resolution-timeout": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true }, - "enforce-first-as": {}, "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } }, "listen": { "#text": "limit 1000", "limit": { "#text": "1000", - "1000": {} + "1000": { + "#standalone": true + } } }, "bestpath": { "#text": "ecmp-fast", "as-path": { "#text": "multipath-relax", - "multipath-relax": {} + "multipath-relax": { + "#standalone": true + } }, - "ecmp-fast": {} + "ecmp-fast": { + "#standalone": true + } }, - "redistribute-internal": {} + "redistribute-internal": { + "#standalone": true + } }, "timers": { "#text": "bgp 60 180", @@ -2230,7 +3256,9 @@ "#text": "60 180", "60": { "#text": "180", - "180": {} + "180": { + "#standalone": true + } } } }, @@ -2242,7 +3270,9 @@ "#text": "200 200", "200": { "#text": "200", - "200": {} + "200": { + "#standalone": true + } } } } @@ -2251,21 +3281,29 @@ "#text": "stalepath-time 300", "restart-time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } }, "stalepath-time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, - "graceful-restart-helper": {}, + "graceful-restart-helper": { + "#standalone": true + }, "maximum-paths": { "#text": "1 ecmp 128", "1": { "#text": "ecmp 128", "ecmp": { "#text": "128", - "128": {} + "128": { + "#standalone": true + } } } }, @@ -2277,7 +3315,9 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } }, "no": { @@ -2286,10 +3326,13 @@ "#text": "route install-map", "route": { "#text": "install-map", - "install-map": {} + "install-map": { + "#standalone": true + } } } - } + }, + "#standalone": true }, "ipv6": { "#text": "no bgp route install-map", @@ -2299,11 +3342,15 @@ "#text": "route install-map", "additional-paths": { "#text": "install", - "install": {} + "install": { + "#standalone": true + } }, "route": { "#text": "install-map", - "install-map": {} + "install-map": { + "#standalone": true + } } } }, @@ -2311,27 +3358,39 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } - } + }, + "#standalone": true } }, - "!": {} + "!": { + "#standalone": true + }, + "#standalone": true }, "prod": { "#text": "address-family ipv6", "local-as": { "#text": "65001", - "65001": {} + "65001": { + "#standalone": true + } }, "no": { "#text": "redistribute aggregate", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "bgp": { "#text": "auto-local-addr", "confederation": { "#text": "identifier", - "identifier": {} + "identifier": { + "#standalone": true + } }, "default": { "#text": "ipv6-unicast", @@ -2339,136 +3398,262 @@ "#text": "transport ipv6", "transport": { "#text": "ipv6", - "ipv6": {} + "ipv6": { + "#standalone": true + } } }, - "ipv6-unicast": {} + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true }, - "cluster-id": {}, "route": { "#text": "install-map", - "install-map": {} + "install-map": { + "#standalone": true + } }, "transport": { "#text": "listen-port", - "listen-port": {} + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true }, - "always-compare-med": {}, "bestpath": { "#text": "tie-break cluster-list-length", "med": { "#text": "confed", - "missing-as-worst": {}, - "confed": {} + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } }, "tie-break": { "#text": "cluster-list-length", - "age": {}, - "router-id": {}, - "originator-id": {}, - "cluster-list-length": {} + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } } }, "route-reflector": { "#text": "preserve-attributes", - "preserve-attributes": {} + "preserve-attributes": { + "#standalone": true + } }, "additional-paths": { "#text": "install", - "install": {} + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true }, - "aspath-cmp-include-nexthop": {}, - "advertise-inactive": {}, - "auto-local-addr": {} + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } }, "update": { "#text": "wait-install", - "wait-for-convergence": {}, - "wait-install": {} + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true }, - "graceful-restart": {}, - "default-metric": {}, "neighbor": { "#text": "172.20.0.200 idle-restart-timer", "172.20.0.200": { "#text": "idle-restart-timer", - "peer-group": {}, - "import-localpref": {}, - "export-localpref": {}, - "description": {}, - "next-hop-self": {}, - "next-hop-peer": {}, - "allowas-in": {}, - "send-community": {}, - "shutdown": {}, - "remove-private-as": {}, - "out-delay": {}, - "weight": {}, + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, "transport": { "#text": "connection-mode passive", "connection-mode": { "#text": "passive", - "passive": {} + "passive": { + "#standalone": true + } } }, - "update-source": {}, - "dont-capability-negotiate": {}, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, "fall-over": { "#text": "bfd", - "bfd": {} + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true }, - "local-v6-addr": {}, - "auto-local-addr": {}, - "next-hop-v6-addr": {}, - "ebgp-multihop": {}, - "route-reflector-client": {}, - "timers": {}, "route-map": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true }, - "graceful-restart": {}, "prefix-list": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true }, - "password": {}, - "default-originate": {}, - "metric-out": {}, - "idle-restart-timer": {} + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } } }, "redistribute": { "#text": "aggregate", - "connected": {}, - "isis": {}, + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, "ospf": { "#text": "match nssa-external", "match": { "#text": "nssa-external", - "internal": {}, - "external": {}, - "nssa-external": {} + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } } }, "ospf3": { "#text": "match external", "match": { "#text": "external", - "internal": {}, - "external": {} + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } } }, - "static": {}, - "rip": {}, - "aggregate": {} + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } } }, "router-id": { "#text": "2.2.2.2", - "2.2.2.2": {} + "2.2.2.2": { + "#standalone": true + } }, "bgp": { "#text": "redistribute-internal", @@ -2476,50 +3661,74 @@ "#text": "slow-peer time 90", "time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } }, "slow-peer": { "#text": "time 90", "time": { "#text": "90", - "90": {} + "90": { + "#standalone": true + } } } }, - "log-neighbor-changes": {}, + "log-neighbor-changes": { + "#standalone": true + }, "default": { "#text": "ipv4-unicast", - "ipv4-unicast": {} + "ipv4-unicast": { + "#standalone": true + } }, "client-to-client": { "#text": "reflection", - "reflection": {} + "reflection": { + "#standalone": true + } }, "peer-mac-resolution-timeout": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true }, - "enforce-first-as": {}, "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } }, "listen": { "#text": "limit 1000", "limit": { "#text": "1000", - "1000": {} + "1000": { + "#standalone": true + } } }, "bestpath": { "#text": "ecmp-fast", "as-path": { "#text": "multipath-relax", - "multipath-relax": {} + "multipath-relax": { + "#standalone": true + } }, - "ecmp-fast": {} + "ecmp-fast": { + "#standalone": true + } }, - "redistribute-internal": {} + "redistribute-internal": { + "#standalone": true + } }, "timers": { "#text": "bgp 60 180", @@ -2527,7 +3736,9 @@ "#text": "60 180", "60": { "#text": "180", - "180": {} + "180": { + "#standalone": true + } } } }, @@ -2539,7 +3750,9 @@ "#text": "200 200", "200": { "#text": "200", - "200": {} + "200": { + "#standalone": true + } } } } @@ -2548,21 +3761,29 @@ "#text": "stalepath-time 300", "restart-time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } }, "stalepath-time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, - "graceful-restart-helper": {}, + "graceful-restart-helper": { + "#standalone": true + }, "maximum-paths": { "#text": "1 ecmp 128", "1": { "#text": "ecmp 128", "ecmp": { "#text": "128", - "128": {} + "128": { + "#standalone": true + } } } }, @@ -2572,7 +3793,9 @@ "#text": "maximum-routes 12000 ", "remote-as": { "#text": "65100", - "65100": {} + "65100": { + "#standalone": true + } }, "local-as": { "#text": "100 no-prepend replace-as", @@ -2580,25 +3803,37 @@ "#text": "no-prepend replace-as", "no-prepend": { "#text": "replace-as", - "replace-as": {} + "replace-as": { + "#standalone": true + } } } }, "soft-reconfiguration": { "#text": "inbound", - "inbound": {} + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true }, - "graceful-restart-helper": {}, "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true }, - "enforce-first-as": {}, "maximum-routes": { "#text": "12000 ", "12000": { "#text": "", - "": {} + "": { + "#standalone": true + } } } } @@ -2611,7 +3846,9 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } }, "no": { @@ -2620,7 +3857,9 @@ "#text": "route install-map", "route": { "#text": "install-map", - "install-map": {} + "install-map": { + "#standalone": true + } } }, "neighbor": { @@ -2629,11 +3868,19 @@ "#text": "weight", "route-map": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true }, - "default-originate": {}, - "weight": {} + "weight": { + "#standalone": true + } } } }, @@ -2643,7 +3890,9 @@ "#text": "172.20.0.200 activate", "172.20.0.200": { "#text": "activate", - "activate": {} + "activate": { + "#standalone": true + } } } }, @@ -2653,10 +3902,13 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } } - } + }, + "#standalone": true }, "ipv6": { "#text": "no neighbor 172.20.0.200 weight", @@ -2666,11 +3918,15 @@ "#text": "route install-map", "additional-paths": { "#text": "install", - "install": {} + "install": { + "#standalone": true + } }, "route": { "#text": "install-map", - "install-map": {} + "install-map": { + "#standalone": true + } } }, "neighbor": { @@ -2679,16 +3935,28 @@ "#text": "weight", "route-map": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } }, "prefix-list": { "#text": "out", - "in": {}, - "out": {} + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } }, - "default-originate": {}, - "weight": {} + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } } } }, @@ -2696,7 +3964,9 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } }, "default": { @@ -2705,7 +3975,9 @@ "#text": "172.20.0.200 activate", "172.20.0.200": { "#text": "activate", - "activate": {} + "activate": { + "#standalone": true + } } } }, @@ -2715,15 +3987,22 @@ "#text": "additional-paths receive", "additional-paths": { "#text": "receive", - "receive": {} + "receive": { + "#standalone": true + } } } - } + }, + "#standalone": true } }, - "!": {} + "!": { + "#standalone": true + }, + "#standalone": true } - } + }, + "#standalone": true } }, "multicast": { @@ -2736,7 +4015,9 @@ "#text": "ip multicast-routing", "ip": { "#text": "multicast-routing", - "multicast-routing": {} + "multicast-routing": { + "#standalone": true + } } }, "ip": { @@ -2745,14 +4026,18 @@ "#text": "multipath deterministic", "multipath": { "#text": "deterministic", - "deterministic": {} + "deterministic": { + "#standalone": true + } } }, "mfib": { "#text": "packet-buffers unresolved max 3", "max-fastdrops": { "#text": "1024", - "1024": {} + "1024": { + "#standalone": true + } }, "cache-entries": { "#text": "unresolved max 4000", @@ -2760,7 +4045,9 @@ "#text": "max 4000", "max": { "#text": "4000", - "4000": {} + "4000": { + "#standalone": true + } } } }, @@ -2770,12 +4057,15 @@ "#text": "max 3", "max": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } } - } + }, + "#standalone": true }, "prod": { "#text": "ip mfib packet-buffers unresolved max 3", @@ -2783,7 +4073,9 @@ "#text": "ip multicast-routing", "ip": { "#text": "multicast-routing", - "multicast-routing": {} + "multicast-routing": { + "#standalone": true + } } }, "ip": { @@ -2792,14 +4084,18 @@ "#text": "multipath deterministic", "multipath": { "#text": "deterministic", - "deterministic": {} + "deterministic": { + "#standalone": true + } } }, "mfib": { "#text": "packet-buffers unresolved max 3", "max-fastdrops": { "#text": "1024", - "1024": {} + "1024": { + "#standalone": true + } }, "cache-entries": { "#text": "unresolved max 4000", @@ -2807,7 +4103,9 @@ "#text": "max 4000", "max": { "#text": "4000", - "4000": {} + "4000": { + "#standalone": true + } } } }, @@ -2817,15 +4115,21 @@ "#text": "max 3", "max": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } } - } + }, + "#standalone": true } }, - "!": {} + "!": { + "#standalone": true + }, + "#standalone": true }, "pim": { "#text": "bsr", @@ -2839,17 +4143,23 @@ "#text": "pim spt-threshold 0", "pim": { "#text": "spt-threshold 0", - "log-neighbor-changes": {}, + "log-neighbor-changes": { + "#standalone": true + }, "sparse-mode": { "#text": "sg-expiry-timer 210", "sg-expiry-timer": { "#text": "210", - "210": {} + "210": { + "#standalone": true + } } }, "spt-threshold": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } }, @@ -2861,13 +4171,20 @@ "#text": "register-source", "ssm": { "#text": "range", - "range": {} + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true }, - "rp-candidate": {}, - "register-source": {} + "register-source": { + "#standalone": true + } } } - } + }, + "#standalone": true }, "prod": { "#text": "no ip pim register-source", @@ -2875,17 +4192,23 @@ "#text": "pim spt-threshold 0", "pim": { "#text": "spt-threshold 0", - "log-neighbor-changes": {}, + "log-neighbor-changes": { + "#standalone": true + }, "sparse-mode": { "#text": "sg-expiry-timer 210", "sg-expiry-timer": { "#text": "210", - "210": {} + "210": { + "#standalone": true + } } }, "spt-threshold": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } }, @@ -2897,16 +4220,26 @@ "#text": "register-source", "ssm": { "#text": "range", - "range": {} + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true }, - "rp-candidate": {}, - "register-source": {} + "register-source": { + "#standalone": true + } } } - } + }, + "#standalone": true } }, - "!": {} + "!": { + "#standalone": true + }, + "#standalone": true }, "bidirectional": { "#text": "vrf prod", @@ -2914,10 +4247,14 @@ "#text": "pim group-expiry-timer 210", "pim": { "#text": "group-expiry-timer 210", - "log-neighbor-changes": {}, + "log-neighbor-changes": { + "#standalone": true + }, "group-expiry-timer": { "#text": "210", - "210": {} + "210": { + "#standalone": true + } } } }, @@ -2927,7 +4264,9 @@ "#text": "pim rp-candidate", "pim": { "#text": "rp-candidate", - "rp-candidate": {} + "rp-candidate": { + "#standalone": true + } } } }, @@ -2939,10 +4278,14 @@ "#text": "pim group-expiry-timer 210", "pim": { "#text": "group-expiry-timer 210", - "log-neighbor-changes": {}, + "log-neighbor-changes": { + "#standalone": true + }, "group-expiry-timer": { "#text": "210", - "210": {} + "210": { + "#standalone": true + } } } }, @@ -2952,10 +4295,13 @@ "#text": "pim rp-candidate", "pim": { "#text": "rp-candidate", - "rp-candidate": {} + "rp-candidate": { + "#standalone": true + } } } - } + }, + "#standalone": true }, "prod": { "#text": "no ip pim rp-candidate", @@ -2963,10 +4309,14 @@ "#text": "pim group-expiry-timer 210", "pim": { "#text": "group-expiry-timer 210", - "log-neighbor-changes": {}, + "log-neighbor-changes": { + "#standalone": true + }, "group-expiry-timer": { "#text": "210", - "210": {} + "210": { + "#standalone": true + } } } }, @@ -2976,13 +4326,19 @@ "#text": "pim rp-candidate", "pim": { "#text": "rp-candidate", - "rp-candidate": {} + "rp-candidate": { + "#standalone": true + } } } - } + }, + "#standalone": true } }, - "!": {} + "!": { + "#standalone": true + }, + "#standalone": true }, "bsr": { "#text": "vrf prod", @@ -2996,19 +4352,28 @@ "#text": "pim bsr rp-candidate advertisement-filter", "pim": { "#text": "bsr rp-candidate advertisement-filter", - "bsr-holdtime": {}, - "bsr-sztimeout": {}, - "bsr-candidate": {}, + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, "bsr": { "#text": "rp-candidate advertisement-filter", "rp-candidate": { "#text": "advertisement-filter", - "advertisement-filter": {} + "advertisement-filter": { + "#standalone": true + } } } } } - } + }, + "#standalone": true }, "prod": { "#text": "no ip pim bsr rp-candidate advertisement-filter", @@ -3018,22 +4383,34 @@ "#text": "pim bsr rp-candidate advertisement-filter", "pim": { "#text": "bsr rp-candidate advertisement-filter", - "bsr-holdtime": {}, - "bsr-sztimeout": {}, - "bsr-candidate": {}, + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, "bsr": { "#text": "rp-candidate advertisement-filter", "rp-candidate": { "#text": "advertisement-filter", - "advertisement-filter": {} + "advertisement-filter": { + "#standalone": true + } } } } } - } + }, + "#standalone": true } }, - "!": {} + "!": { + "#standalone": true + }, + "#standalone": true } } }, @@ -3041,67 +4418,95 @@ "#text": "extension router", "sample": { "#text": "output interface", - "1048576": {}, + "1048576": { + "#standalone": true + }, "output": { "#text": "interface", - "interface": {} + "interface": { + "#standalone": true + } } }, "polling-interval": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "extension": { "#text": "router", - "switch": {}, - "router": {} + "switch": { + "#standalone": true + }, + "router": { + "#standalone": true + } } }, "snmp-server": { "#text": "vrf default", "vrf": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } } }, "spanning-tree": { "#text": "mst configuration", "mode": { "#text": "mstp", - "mstp": {} + "mstp": { + "#standalone": true + } }, "hello-time": { "#text": "2000", - "2000": {} + "2000": { + "#standalone": true + } }, "max-age": { "#text": "20", - "20": {} + "20": { + "#standalone": true + } }, "forward-time": { "#text": "15", - "15": {} + "15": { + "#standalone": true + } }, "transmit": { "#text": "hold-count 6", "hold-count": { "#text": "6", - "6": {} + "6": { + "#standalone": true + } } }, "max-hops": { "#text": "20", - "20": {} + "20": { + "#standalone": true + } }, "bridge": { "#text": "assurance", - "assurance": {} + "assurance": { + "#standalone": true + } }, "bpduguard": { "#text": "rate-limit default", "rate-limit": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } } }, "mst": { @@ -3110,19 +4515,26 @@ "#text": "priority 32768", "priority": { "#text": "32768", - "32768": {} + "32768": { + "#standalone": true + } } }, "configuration": { "#text": "revision 0", "no": { "#text": "name", - "name": {} + "name": { + "#standalone": true + } }, "revision": { "#text": "0", - "0": {} - } + "0": { + "#standalone": true + } + }, + "#standalone": true } } }, @@ -3130,7 +4542,9 @@ "#text": "timeout 5", "timeout": { "#text": "5", - "5": {} + "5": { + "#standalone": true + } } }, "aaa": { @@ -3141,14 +4555,18 @@ "#text": "default local", "default": { "#text": "local", - "local": {} + "local": { + "#standalone": true + } } }, "enable": { "#text": "default local", "default": { "#text": "local", - "local": {} + "local": { + "#standalone": true + } } } }, @@ -3158,10 +4576,14 @@ "#text": "default local", "default": { "#text": "local", - "local": {} + "local": { + "#standalone": true + } } }, - "config-commands": {} + "config-commands": { + "#standalone": true + } }, "root": { "#text": "secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", @@ -3169,7 +4591,9 @@ "#text": "5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", "5": { "#text": "$1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", - "$1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.": {} + "$1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.": { + "#standalone": true + } } } } @@ -3190,7 +4614,9 @@ "#text": "5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", "5": { "#text": "$1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", - "$1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1": {} + "$1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1": { + "#standalone": true + } } } } @@ -3212,7 +4638,9 @@ "#text": "5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", "5": { "#text": "$1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", - "$1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0": {} + "$1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0": { + "#standalone": true + } } } } @@ -3231,10 +4659,13 @@ "#text": "command .*", "command": { "#text": ".*", - ".*": {} + ".*": { + "#standalone": true + } } } - } + }, + "#standalone": true }, "network-operator": { "#text": "20 permit mode exec command .*", @@ -3248,7 +4679,9 @@ "#text": "command configure|bash|python-shell|\\|", "command": { "#text": "configure|bash|python-shell|\\|", - "configure|bash|python-shell|\\|": {} + "configure|bash|python-shell|\\|": { + "#standalone": true + } } } } @@ -3264,12 +4697,15 @@ "#text": "command .*", "command": { "#text": ".*", - ".*": {} + ".*": { + "#standalone": true + } } } } } - } + }, + "#standalone": true } }, "tap": { @@ -3278,7 +4714,9 @@ "#text": "no service-policy type tapagg mac access-list match ip", "no": { "#text": "service-policy type tapagg mac access-list match ip", - "mode": {}, + "mode": { + "#standalone": true + }, "service-policy": { "#text": "type tapagg mac access-list match ip", "type": { @@ -3291,14 +4729,17 @@ "#text": "match ip", "match": { "#text": "ip", - "ip": {} + "ip": { + "#standalone": true + } } } } } } } - } + }, + "#standalone": true } }, "environment": { @@ -3307,26 +4748,34 @@ "#text": "action shutdown", "action": { "#text": "shutdown", - "shutdown": {} + "shutdown": { + "#standalone": true + } } }, "insufficient-fans": { "#text": "action shutdown", "action": { "#text": "shutdown", - "shutdown": {} + "shutdown": { + "#standalone": true + } } }, "fan-speed": { "#text": "auto", - "auto": {} + "auto": { + "#standalone": true + } } }, "clock": { "#text": "timezone UTC", "timezone": { "#text": "UTC", - "UTC": {} + "UTC": { + "#standalone": true + } } }, "vrf": { @@ -3337,26 +4786,36 @@ "#text": "no description", "rd": { "#text": "1:2", - "1:2": {} + "1:2": { + "#standalone": true + } }, "no": { "#text": "description", - "description": {} - } + "description": { + "#standalone": true + } + }, + "#standalone": true }, "prod": { "#text": "description Production VRF", "rd": { "#text": "1:1", - "1:1": {} + "1:1": { + "#standalone": true + } }, "description": { "#text": "Production VRF", "Production": { "#text": "VRF", - "VRF": {} + "VRF": { + "#standalone": true + } } - } + }, + "#standalone": true } } }, @@ -3366,12 +4825,18 @@ "#text": "sflow enable", "description": { "#text": "blah", - "blah": {} + "blah": { + "#standalone": true + } }, "no": { "#text": "shape rate", - "shutdown": {}, - "switchport": {}, + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, "l2-protocol": { "#text": "encapsulation dot1q vlan 0", "encapsulation": { @@ -3380,42 +4845,73 @@ "#text": "vlan 0", "vlan": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } }, "ip": { "#text": "pim bsr-border", - "proxy-arp": {}, - "local-proxy-arp": {}, - "address": {}, + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true }, - "helper-address": {}, "igmp": { + "#standalone": true, "#text": "host-proxy", - "host-proxy": {} + "host-proxy": { + "#standalone": true + } }, "multicast": { "#text": "static", - "static": {} + "static": { + "#standalone": true + } }, "pim": { "#text": "bsr-border", - "sparse-mode": {}, - "bidirectional": {}, - "border-router": {}, - "neighbor-filter": {}, - "bsr-border": {} + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } } }, "bfd": { "#text": "per-link", - "echo": {}, - "per-link": {} + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } }, "ipv6": { "#text": "nd other-config-flag", @@ -3423,62 +4919,94 @@ "#text": "relay destination", "relay": { "#text": "destination", - "destination": {} + "destination": { + "#standalone": true + } } }, - "enable": {}, - "address": {}, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } }, "nd": { "#text": "other-config-flag", "ra": { "#text": "mtu suppress", - "suppress": {}, + "suppress": { + "#standalone": true + }, "mtu": { "#text": "suppress", - "suppress": {} + "suppress": { + "#standalone": true + } } }, - "managed-config-flag": {}, - "other-config-flag": {} + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } }, "port-channel": { "#text": "lacp fallback", - "min-links": {}, + "min-links": { + "#standalone": true + }, "lacp": { "#text": "fallback", - "fallback": {} + "fallback": { + "#standalone": true + } } }, "l2": { "#text": "mtu", - "mtu": {} + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true }, - "mlag": {}, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } }, "default": { "#text": "qos trust", - "load-interval": {}, + "load-interval": { + "#standalone": true + }, "encapsulation": { "#text": "dot1q vlan", "dot1q": { "#text": "vlan", - "vlan": {} + "vlan": { + "#standalone": true + } } }, "arp": { "#text": "timeout 14400", "timeout": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } }, "ipv6": { @@ -3489,7 +5017,9 @@ "#text": "expire 14400", "expire": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } } } @@ -3498,25 +5028,35 @@ "#text": "pim bfd-instance", "dhcp": { "#text": "smart-relay", - "smart-relay": {} + "smart-relay": { + "#standalone": true + } }, "pim": { "#text": "bfd-instance", - "bfd-instance": {} + "bfd-instance": { + "#standalone": true + } } }, "ntp": { "#text": "serve", - "serve": {} + "serve": { + "#standalone": true + } }, "qos": { "#text": "trust", - "trust": {} + "trust": { + "#standalone": true + } } }, "mtu": { "#text": "9000", - "9000": {} + "9000": { + "#standalone": true + } }, "logging": { "#text": "event link-status use-global", @@ -3524,7 +5064,9 @@ "#text": "link-status use-global", "link-status": { "#text": "use-global", - "use-global": {} + "use-global": { + "#standalone": true + } } } }, @@ -3534,7 +5076,9 @@ "#text": "ethertype 0x8100", "ethertype": { "#text": "0x8100", - "0x8100": {} + "0x8100": { + "#standalone": true + } } } }, @@ -3542,7 +5086,9 @@ "#text": "trap link-status", "trap": { "#text": "link-status", - "link-status": {} + "link-status": { + "#standalone": true + } } }, "bfd": { @@ -3557,7 +5103,9 @@ "#text": "multiplier 3", "multiplier": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } @@ -3576,7 +5124,9 @@ "#text": "circuit-id Port-Channel1", "circuit-id": { "#text": "Port-Channel1", - "Port-Channel1": {} + "Port-Channel1": { + "#standalone": true + } } } } @@ -3586,57 +5136,81 @@ "#text": "router-alert optional connected", "version": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } }, "last-member-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "last-member-query-interval": { "#text": "10", - "10": {} + "10": { + "#standalone": true + } }, "query-max-response-time": { "#text": "100", - "100": {} + "100": { + "#standalone": true + } }, "query-interval": { "#text": "125", - "125": {} + "125": { + "#standalone": true + } }, "startup-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "startup-query-interval": { "#text": "310", - "310": {} + "310": { + "#standalone": true + } }, "router-alert": { "#text": "optional connected", "optional": { "#text": "connected", - "connected": {} + "connected": { + "#standalone": true + } } } }, "mfib": { "#text": "fastdrop", - "fastdrop": {} + "fastdrop": { + "#standalone": true + } }, "pim": { "#text": "dr-priority 1", "query-interval": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } }, "join-prune-interval": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } }, "dr-priority": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } } }, @@ -3650,39 +5224,53 @@ "#text": "msec 200000", "msec": { "#text": "200000", - "200000": {} + "200000": { + "#standalone": true + } } }, "lifetime": { "#text": "1800", - "1800": {} + "1800": { + "#standalone": true + } }, "dns-servers": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "dns-suffixes": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "hop-limit": { "#text": "64", - "64": {} + "64": { + "#standalone": true + } } }, "reachable-time": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } }, "router-preference": { "#text": "medium", - "medium": {} + "medium": { + "#standalone": true + } } } }, @@ -3694,7 +5282,9 @@ "#text": "timeout 90", "timeout": { "#text": "90", - "90": {} + "90": { + "#standalone": true + } } } } @@ -3703,11 +5293,15 @@ "#text": "dscp 2", "cos": { "#text": "5", - "5": {} + "5": { + "#standalone": true + } }, "dscp": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } } }, "mc-tx-queue": { @@ -3716,253 +5310,372 @@ "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "1": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "2": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "3": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true } }, - "!": {}, + "!": { + "#standalone": true + }, "uc-tx-queue": { "#text": "7", "0": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "1": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "2": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "3": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "4": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "5": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "6": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "7": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true } }, "sflow": { "#text": "enable", - "enable": {} - } + "enable": { + "#standalone": true + } + }, + "#standalone": true }, "Port-Channel1.1": { "#text": "sflow enable", "no": { "#text": "shape rate", - "description": {}, - "shutdown": {}, + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, "encapsulation": { "#text": "dot1q vlan 0", "dot1q": { "#text": "vlan 0", "vlan": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } }, @@ -3974,41 +5687,70 @@ "#text": "vlan 0", "vlan": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } }, "ip": { "#text": "pim bsr-border", - "proxy-arp": {}, - "local-proxy-arp": {}, - "address": {}, + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true }, - "helper-address": {}, "igmp": { + "#standalone": true, "#text": "host-proxy", - "host-proxy": {} + "host-proxy": { + "#standalone": true + } }, "multicast": { "#text": "static", - "static": {} + "static": { + "#standalone": true + } }, "pim": { "#text": "bsr-border", - "sparse-mode": {}, - "bidirectional": {}, - "border-router": {}, - "neighbor-filter": {}, - "bsr-border": {} + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } } }, "bfd": { "#text": "echo", - "echo": {} + "echo": { + "#standalone": true + } }, "ipv6": { "#text": "nd other-config-flag", @@ -4016,42 +5758,64 @@ "#text": "relay destination", "relay": { "#text": "destination", - "destination": {} + "destination": { + "#standalone": true + } } }, - "enable": {}, - "address": {}, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } }, "nd": { "#text": "other-config-flag", "ra": { "#text": "mtu suppress", - "suppress": {}, + "suppress": { + "#standalone": true + }, "mtu": { "#text": "suppress", - "suppress": {} + "suppress": { + "#standalone": true + } } }, - "managed-config-flag": {}, - "other-config-flag": {} + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } }, "default": { "#text": "qos trust", - "load-interval": {}, + "load-interval": { + "#standalone": true + }, "arp": { "#text": "timeout 14400", "timeout": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } }, "ipv6": { @@ -4062,7 +5826,9 @@ "#text": "expire 14400", "expire": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } } } @@ -4071,20 +5837,28 @@ "#text": "pim bfd-instance", "dhcp": { "#text": "smart-relay", - "smart-relay": {} + "smart-relay": { + "#standalone": true + } }, "pim": { "#text": "bfd-instance", - "bfd-instance": {} + "bfd-instance": { + "#standalone": true + } } }, "ntp": { "#text": "serve", - "serve": {} + "serve": { + "#standalone": true + } }, "qos": { "#text": "trust", - "trust": {} + "trust": { + "#standalone": true + } } }, "logging": { @@ -4093,7 +5867,9 @@ "#text": "link-status use-global", "link-status": { "#text": "use-global", - "use-global": {} + "use-global": { + "#standalone": true + } } } }, @@ -4101,7 +5877,9 @@ "#text": "trap link-status", "trap": { "#text": "link-status", - "link-status": {} + "link-status": { + "#standalone": true + } } }, "bfd": { @@ -4116,7 +5894,9 @@ "#text": "multiplier 3", "multiplier": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } @@ -4135,7 +5915,9 @@ "#text": "circuit-id Port-Channel1.1", "circuit-id": { "#text": "Port-Channel1.1", - "Port-Channel1.1": {} + "Port-Channel1.1": { + "#standalone": true + } } } } @@ -4145,57 +5927,81 @@ "#text": "router-alert optional connected", "version": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } }, "last-member-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "last-member-query-interval": { "#text": "10", - "10": {} + "10": { + "#standalone": true + } }, "query-max-response-time": { "#text": "100", - "100": {} + "100": { + "#standalone": true + } }, "query-interval": { "#text": "125", - "125": {} + "125": { + "#standalone": true + } }, "startup-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "startup-query-interval": { "#text": "310", - "310": {} + "310": { + "#standalone": true + } }, "router-alert": { "#text": "optional connected", "optional": { "#text": "connected", - "connected": {} + "connected": { + "#standalone": true + } } } }, "mfib": { "#text": "fastdrop", - "fastdrop": {} + "fastdrop": { + "#standalone": true + } }, "pim": { "#text": "dr-priority 1", "query-interval": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } }, "join-prune-interval": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } }, "dr-priority": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } } }, @@ -4209,39 +6015,53 @@ "#text": "msec 200000", "msec": { "#text": "200000", - "200000": {} + "200000": { + "#standalone": true + } } }, "lifetime": { "#text": "1800", - "1800": {} + "1800": { + "#standalone": true + } }, "dns-servers": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "dns-suffixes": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "hop-limit": { "#text": "64", - "64": {} + "64": { + "#standalone": true + } } }, "reachable-time": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } }, "router-preference": { "#text": "medium", - "medium": {} + "medium": { + "#standalone": true + } } } }, @@ -4249,11 +6069,15 @@ "#text": "dscp 2", "cos": { "#text": "5", - "5": {} + "5": { + "#standalone": true + } }, "dscp": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } } }, "mc-tx-queue": { @@ -4262,239 +6086,352 @@ "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "1": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "2": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "3": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true } }, - "!": {}, + "!": { + "#standalone": true + }, "uc-tx-queue": { "#text": "7", "0": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "1": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "2": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "3": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "4": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "5": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "6": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "7": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true } }, "sflow": { "#text": "enable", - "enable": {} - } + "enable": { + "#standalone": true + } + }, + "#standalone": true }, "Ethernet1": { "#text": "no switchport tool dot1q remove outer", @@ -4506,83 +6443,131 @@ "#text": "a description", "a": { "#text": "description", - "description": {} + "description": { + "#standalone": true + } } } } }, "no": { "#text": "switchport tool dot1q remove outer", - "shutdown": {}, - "mac-address": {}, - "link-debounce": {}, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, "flowcontrol": { "#text": "receive", - "send": {}, - "receive": {} + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } }, "mac": { "#text": "timestamp", - "timestamp": {} + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true }, - "speed": {}, "l2": { "#text": "mtu", - "mtu": {} + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true }, - "traffic-loopback": {}, "error-correction": { "#text": "reed-solomon bypass", "reed-solomon": { "#text": "bypass", - "bypass": {} + "bypass": { + "#standalone": true + } } }, "switchport": { "#text": "tool dot1q remove outer", "asym": { "#text": "vlan", - "vlan": {} + "vlan": { + "#standalone": true + } }, "trunk": { "#text": "private-vlan secondary", "private-vlan": { "#text": "secondary", - "secondary": {} + "secondary": { + "#standalone": true + } } }, "private-vlan": { "#text": "mapping", - "mapping": {} + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true }, - "port-security": {}, "tap": { "#text": "default interface", - "identity": {}, + "identity": { + "#standalone": true + }, "mpls": { "#text": "pop all", "pop": { "#text": "all", - "all": {} + "all": { + "#standalone": true + } } }, - "truncation": {}, + "truncation": { + "#standalone": true + }, "default": { "#text": "interface", - "group": {}, - "interface": {} + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } } }, "tool": { "#text": "dot1q remove outer", - "identity": {}, - "truncation": {}, - "group": {}, + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, "dot1q": { "#text": "remove outer", "remove": { "#text": "outer", - "outer": {} + "outer": { + "#standalone": true + } } } } @@ -4595,55 +6580,88 @@ "#text": "vlan 0", "vlan": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } }, - "msrp": {}, - "mvrp": {}, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } }, "spanning-tree": { "#text": "bpduguard rate-limit", - "portfast": {}, - "link-type": {}, + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, "bpduguard": { + "#standalone": true, "#text": "rate-limit", - "rate-limit": {} + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true }, - "bpdufilter": {}, - "cost": {}, - "guard": {} + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } } }, "default": { "#text": "qos trust", - "load-interval": {}, + "load-interval": { + "#standalone": true + }, "logging": { "#text": "event congestion-drops", "event": { "#text": "congestion-drops", - "congestion-drops": {} + "congestion-drops": { + "#standalone": true + } } }, - "unidirectional": {}, + "unidirectional": { + "#standalone": true + }, "error-correction": { "#text": "encoding", - "encoding": {} + "encoding": { + "#standalone": true + } }, "encapsulation": { "#text": "dot1q vlan", "dot1q": { "#text": "vlan", - "vlan": {} + "vlan": { + "#standalone": true + } } }, "qos": { "#text": "trust", - "trust": {} + "trust": { + "#standalone": true + } } }, "logging": { @@ -4652,11 +6670,15 @@ "#text": "spanning-tree use-global", "link-status": { "#text": "use-global", - "use-global": {} + "use-global": { + "#standalone": true + } }, "spanning-tree": { "#text": "use-global", - "use-global": {} + "use-global": { + "#standalone": true + } } } }, @@ -4664,16 +6686,21 @@ "#text": "mode ieee", "mode": { "#text": "ieee", - "ieee": {} + "ieee": { + "#standalone": true + } } }, "switchport": { + "#standalone": true, "#text": "tool allowed vlan 1-4094", "port-security": { "#text": "maximum 1", "maximum": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } }, "tap": { @@ -4682,14 +6709,18 @@ "#text": "vlan 1", "vlan": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } }, "allowed": { "#text": "vlan 1-4094", "vlan": { "#text": "1-4094", - "1-4094": {} + "1-4094": { + "#standalone": true + } } } }, @@ -4699,7 +6730,9 @@ "#text": "vlan 1-4094", "vlan": { "#text": "1-4094", - "1-4094": {} + "1-4094": { + "#standalone": true + } } } } @@ -4708,7 +6741,9 @@ "#text": "trap link-status", "trap": { "#text": "link-status", - "link-status": {} + "link-status": { + "#standalone": true + } } }, "channel-group": { @@ -4717,7 +6752,9 @@ "#text": "mode active", "mode": { "#text": "active", - "active": {} + "active": { + "#standalone": true + } } } }, @@ -4725,27 +6762,39 @@ "#text": "port-priority 32768", "rate": { "#text": "normal", - "normal": {} + "normal": { + "#standalone": true + } }, "port-priority": { "#text": "32768", - "32768": {} + "32768": { + "#standalone": true + } } }, "lldp": { "#text": "receive", - "transmit": {}, - "receive": {} + "transmit": { + "#standalone": true + }, + "receive": { + "#standalone": true + } }, "qos": { "#text": "dscp 2", "cos": { "#text": "5", - "5": {} + "5": { + "#standalone": true + } }, "dscp": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } } }, "mc-tx-queue": { @@ -4754,250 +6803,367 @@ "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "1": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "2": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "3": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true } }, - "!": {}, + "!": { + "#standalone": true + }, "uc-tx-queue": { "#text": "7", "0": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "1": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "2": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "3": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "4": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "5": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "6": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "7": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true } }, "sflow": { "#text": "enable", - "enable": {} + "enable": { + "#standalone": true + } }, "spanning-tree": { "#text": "port-priority 128", "portfast": { "#text": "auto", - "auto": {} + "auto": { + "#standalone": true + } }, "port-priority": { "#text": "128", - "128": {} + "128": { + "#standalone": true + } } - } + }, + "#standalone": true }, "Ethernet2": { "#text": "sflow enable", @@ -5007,38 +7173,54 @@ "#text": "much oc", "much": { "#text": "oc", - "oc": {} + "oc": { + "#standalone": true + } } } }, - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "default": { "#text": "qos trust", - "load-interval": {}, + "load-interval": { + "#standalone": true + }, "logging": { "#text": "event congestion-drops", "event": { "#text": "congestion-drops", - "congestion-drops": {} + "congestion-drops": { + "#standalone": true + } } }, - "unidirectional": {}, + "unidirectional": { + "#standalone": true + }, "error-correction": { "#text": "encoding", - "encoding": {} + "encoding": { + "#standalone": true + } }, "encapsulation": { "#text": "dot1q vlan", "dot1q": { "#text": "vlan", - "vlan": {} + "vlan": { + "#standalone": true + } } }, "arp": { "#text": "timeout 14400", "timeout": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } }, "ipv6": { @@ -5049,7 +7231,9 @@ "#text": "expire 14400", "expire": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } } } @@ -5058,25 +7242,35 @@ "#text": "pim bfd-instance", "dhcp": { "#text": "smart-relay", - "smart-relay": {} + "smart-relay": { + "#standalone": true + } }, "pim": { "#text": "bfd-instance", - "bfd-instance": {} + "bfd-instance": { + "#standalone": true + } } }, "ntp": { "#text": "serve", - "serve": {} + "serve": { + "#standalone": true + } }, "qos": { "#text": "trust", - "trust": {} + "trust": { + "#standalone": true + } } }, "mtu": { "#text": "1500", - "1500": {} + "1500": { + "#standalone": true + } }, "logging": { "#text": "event link-status use-global", @@ -5084,7 +7278,9 @@ "#text": "link-status use-global", "link-status": { "#text": "use-global", - "use-global": {} + "use-global": { + "#standalone": true + } } } }, @@ -5092,33 +7288,55 @@ "#text": "shape rate", "dcbx": { "#text": "mode", - "mode": {} + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true }, - "mac-address": {}, - "link-debounce": {}, "flowcontrol": { "#text": "receive", - "send": {}, - "receive": {} + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } }, "mac": { "#text": "timestamp", - "timestamp": {} + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true }, - "speed": {}, "l2": { "#text": "mtu", - "mtu": {} + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true }, - "traffic-loopback": {}, "error-correction": { "#text": "reed-solomon bypass", "reed-solomon": { "#text": "bypass", - "bypass": {} + "bypass": { + "#standalone": true + } } }, - "switchport": {}, + "switchport": { + "#standalone": true + }, "l2-protocol": { "#text": "encapsulation dot1q vlan 0", "encapsulation": { @@ -5127,40 +7345,67 @@ "#text": "vlan 0", "vlan": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } }, "ip": { "#text": "pim bsr-border", - "proxy-arp": {}, - "local-proxy-arp": {}, + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true }, - "helper-address": {}, "igmp": { + "#standalone": true, "#text": "host-proxy", - "host-proxy": {} + "host-proxy": { + "#standalone": true + } }, "multicast": { "#text": "static", - "static": {} + "static": { + "#standalone": true + } }, "pim": { "#text": "bsr-border", - "sparse-mode": {}, - "bidirectional": {}, - "border-router": {}, - "neighbor-filter": {}, - "bsr-border": {} + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } } }, "bfd": { "#text": "echo", - "echo": {} + "echo": { + "#standalone": true + } }, "ipv6": { "#text": "nd other-config-flag", @@ -5168,35 +7413,59 @@ "#text": "relay destination", "relay": { "#text": "destination", - "destination": {} + "destination": { + "#standalone": true + } } }, - "enable": {}, - "address": {}, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } }, "nd": { "#text": "other-config-flag", "ra": { "#text": "mtu suppress", - "suppress": {}, + "suppress": { + "#standalone": true + }, "mtu": { "#text": "suppress", - "suppress": {} + "suppress": { + "#standalone": true + } } }, - "managed-config-flag": {}, - "other-config-flag": {} + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } }, - "channel-group": {}, - "msrp": {}, - "mvrp": {}, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } }, "switchport": { @@ -5205,7 +7474,9 @@ "#text": "ethertype 0x8100", "ethertype": { "#text": "0x8100", - "0x8100": {} + "0x8100": { + "#standalone": true + } } } }, @@ -5213,14 +7484,18 @@ "#text": "trap link-status", "trap": { "#text": "link-status", - "link-status": {} + "link-status": { + "#standalone": true + } } }, "ip": { "#text": "pim dr-priority 1", "address": { "#text": "192.168.0.1/24", - "192.168.0.1/24": {} + "192.168.0.1/24": { + "#standalone": true + } }, "dhcp": { "#text": "relay information option circuit-id Ethernet2", @@ -5232,7 +7507,9 @@ "#text": "circuit-id Ethernet2", "circuit-id": { "#text": "Ethernet2", - "Ethernet2": {} + "Ethernet2": { + "#standalone": true + } } } } @@ -5242,57 +7519,81 @@ "#text": "router-alert optional connected", "version": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } }, "last-member-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "last-member-query-interval": { "#text": "10", - "10": {} + "10": { + "#standalone": true + } }, "query-max-response-time": { "#text": "100", - "100": {} + "100": { + "#standalone": true + } }, "query-interval": { "#text": "125", - "125": {} + "125": { + "#standalone": true + } }, "startup-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "startup-query-interval": { "#text": "310", - "310": {} + "310": { + "#standalone": true + } }, "router-alert": { "#text": "optional connected", "optional": { "#text": "connected", - "connected": {} + "connected": { + "#standalone": true + } } } }, "mfib": { "#text": "fastdrop", - "fastdrop": {} + "fastdrop": { + "#standalone": true + } }, "pim": { "#text": "dr-priority 1", "query-interval": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } }, "join-prune-interval": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } }, "dr-priority": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } } }, @@ -5308,7 +7609,9 @@ "#text": "multiplier 3", "multiplier": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } @@ -5325,39 +7628,53 @@ "#text": "msec 200000", "msec": { "#text": "200000", - "200000": {} + "200000": { + "#standalone": true + } } }, "lifetime": { "#text": "1800", - "1800": {} + "1800": { + "#standalone": true + } }, "dns-servers": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "dns-suffixes": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "hop-limit": { "#text": "64", - "64": {} + "64": { + "#standalone": true + } } }, "reachable-time": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } }, "router-preference": { "#text": "medium", - "medium": {} + "medium": { + "#standalone": true + } } } }, @@ -5365,27 +7682,39 @@ "#text": "port-priority 32768", "rate": { "#text": "normal", - "normal": {} + "normal": { + "#standalone": true + } }, "port-priority": { "#text": "32768", - "32768": {} + "32768": { + "#standalone": true + } } }, "lldp": { "#text": "receive", - "transmit": {}, - "receive": {} + "transmit": { + "#standalone": true + }, + "receive": { + "#standalone": true + } }, "qos": { "#text": "dscp 2", "cos": { "#text": "5", - "5": {} + "5": { + "#standalone": true + } }, "dscp": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } } }, "mc-tx-queue": { @@ -5394,239 +7723,352 @@ "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "1": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "2": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "3": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true } }, - "!": {}, + "!": { + "#standalone": true + }, "uc-tx-queue": { "#text": "7", "0": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "1": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "2": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "3": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "4": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "5": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "6": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true }, "7": { "#text": "no bandwidth guaranteed", "priority": { "#text": "strict", - "strict": {} + "strict": { + "#standalone": true + } }, "no": { "#text": "bandwidth guaranteed", "bandwidth": { "#text": "guaranteed", - "percent": {}, - "guaranteed": {} + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } }, "shape": { "#text": "rate", - "rate": {} + "rate": { + "#standalone": true + } } - } + }, + "#standalone": true } }, "sflow": { "#text": "enable", - "enable": {} - } + "enable": { + "#standalone": true + } + }, + "#standalone": true }, "Ethernet2.1": { "#text": "sflow enable", @@ -5634,12 +8076,16 @@ "#text": "another subiface", "another": { "#text": "subiface", - "subiface": {} + "subiface": { + "#standalone": true + } } }, "no": { "#text": "ip pim bsr-border", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "l2-protocol": { "#text": "encapsulation dot1q vlan 0", "encapsulation": { @@ -5648,40 +8094,67 @@ "#text": "vlan 0", "vlan": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } }, "ip": { "#text": "pim bsr-border", - "proxy-arp": {}, - "local-proxy-arp": {}, + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true }, - "helper-address": {}, "igmp": { + "#standalone": true, "#text": "host-proxy", - "host-proxy": {} + "host-proxy": { + "#standalone": true + } }, "multicast": { "#text": "static", - "static": {} + "static": { + "#standalone": true + } }, "pim": { "#text": "bsr-border", - "sparse-mode": {}, - "bidirectional": {}, - "border-router": {}, - "neighbor-filter": {}, - "bsr-border": {} + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } } }, "bfd": { "#text": "echo", - "echo": {} + "echo": { + "#standalone": true + } }, "ipv6": { "#text": "nd other-config-flag", @@ -5689,38 +8162,58 @@ "#text": "relay destination", "relay": { "#text": "destination", - "destination": {} + "destination": { + "#standalone": true + } } }, - "enable": {}, - "address": {}, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } }, "nd": { "#text": "other-config-flag", "ra": { "#text": "mtu suppress", - "suppress": {}, + "suppress": { + "#standalone": true + }, "mtu": { "#text": "suppress", - "suppress": {} + "suppress": { + "#standalone": true + } } }, - "managed-config-flag": {}, - "other-config-flag": {} + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } }, "default": { "#text": "ip pim bfd-instance", - "load-interval": {}, + "load-interval": { + "#standalone": true + }, "arp": { "#text": "timeout 14400", "timeout": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } }, "ipv6": { @@ -5731,7 +8224,9 @@ "#text": "expire 14400", "expire": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } } } @@ -5740,16 +8235,22 @@ "#text": "pim bfd-instance", "dhcp": { "#text": "smart-relay", - "smart-relay": {} + "smart-relay": { + "#standalone": true + } }, "pim": { "#text": "bfd-instance", - "bfd-instance": {} + "bfd-instance": { + "#standalone": true + } } }, "ntp": { "#text": "serve", - "serve": {} + "serve": { + "#standalone": true + } } }, "logging": { @@ -5758,7 +8259,9 @@ "#text": "link-status use-global", "link-status": { "#text": "use-global", - "use-global": {} + "use-global": { + "#standalone": true + } } } }, @@ -5768,7 +8271,9 @@ "#text": "vlan 1", "vlan": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } } }, @@ -5776,24 +8281,32 @@ "#text": "trap link-status", "trap": { "#text": "link-status", - "link-status": {} + "link-status": { + "#standalone": true + } } }, "vrf": { "#text": "forwarding prod", "forwarding": { "#text": "prod", - "prod": {} + "prod": { + "#standalone": true + } } }, "ip": { "#text": "pim dr-priority 1", "address": { "#text": "172.20.0.1/24 secondary", - "192.168.1.1/24": {}, + "192.168.1.1/24": { + "#standalone": true + }, "172.20.0.1/24": { "#text": "secondary", - "secondary": {} + "secondary": { + "#standalone": true + } } }, "dhcp": { @@ -5806,7 +8319,9 @@ "#text": "circuit-id Ethernet2.1", "circuit-id": { "#text": "Ethernet2.1", - "Ethernet2.1": {} + "Ethernet2.1": { + "#standalone": true + } } } } @@ -5816,57 +8331,81 @@ "#text": "router-alert optional connected", "version": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } }, "last-member-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "last-member-query-interval": { "#text": "10", - "10": {} + "10": { + "#standalone": true + } }, "query-max-response-time": { "#text": "100", - "100": {} + "100": { + "#standalone": true + } }, "query-interval": { "#text": "125", - "125": {} + "125": { + "#standalone": true + } }, "startup-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "startup-query-interval": { "#text": "310", - "310": {} + "310": { + "#standalone": true + } }, "router-alert": { "#text": "optional connected", "optional": { "#text": "connected", - "connected": {} + "connected": { + "#standalone": true + } } } }, "mfib": { "#text": "fastdrop", - "fastdrop": {} + "fastdrop": { + "#standalone": true + } }, "pim": { "#text": "dr-priority 1", "query-interval": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } }, "join-prune-interval": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } }, "dr-priority": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } } }, @@ -5882,7 +8421,9 @@ "#text": "multiplier 3", "multiplier": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } @@ -5899,56 +8440,77 @@ "#text": "msec 200000", "msec": { "#text": "200000", - "200000": {} + "200000": { + "#standalone": true + } } }, "lifetime": { "#text": "1800", - "1800": {} + "1800": { + "#standalone": true + } }, "dns-servers": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "dns-suffixes": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "hop-limit": { "#text": "64", - "64": {} + "64": { + "#standalone": true + } } }, "reachable-time": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } }, "router-preference": { "#text": "medium", - "medium": {} + "medium": { + "#standalone": true + } } } }, "sflow": { "#text": "enable", - "enable": {} - } + "enable": { + "#standalone": true + } + }, + "#standalone": true }, "Ethernet2.2": { "#text": "sflow enable", "description": { "#text": "asdasdasd", - "asdasdasd": {} + "asdasdasd": { + "#standalone": true + } }, "no": { "#text": "ip pim bsr-border", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "l2-protocol": { "#text": "encapsulation dot1q vlan 0", "encapsulation": { @@ -5957,40 +8519,67 @@ "#text": "vlan 0", "vlan": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } } } }, "ip": { "#text": "pim bsr-border", - "proxy-arp": {}, - "local-proxy-arp": {}, + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true }, - "helper-address": {}, "igmp": { + "#standalone": true, "#text": "host-proxy", - "host-proxy": {} + "host-proxy": { + "#standalone": true + } }, "multicast": { "#text": "static", - "static": {} + "static": { + "#standalone": true + } }, "pim": { "#text": "bsr-border", - "sparse-mode": {}, - "bidirectional": {}, - "border-router": {}, - "neighbor-filter": {}, - "bsr-border": {} + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } } }, "bfd": { "#text": "echo", - "echo": {} + "echo": { + "#standalone": true + } }, "ipv6": { "#text": "nd other-config-flag", @@ -5998,38 +8587,58 @@ "#text": "relay destination", "relay": { "#text": "destination", - "destination": {} + "destination": { + "#standalone": true + } } }, - "enable": {}, - "address": {}, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } }, "nd": { "#text": "other-config-flag", "ra": { "#text": "mtu suppress", - "suppress": {}, + "suppress": { + "#standalone": true + }, "mtu": { "#text": "suppress", - "suppress": {} + "suppress": { + "#standalone": true + } } }, - "managed-config-flag": {}, - "other-config-flag": {} + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } }, "default": { "#text": "ip pim bfd-instance", - "load-interval": {}, + "load-interval": { + "#standalone": true + }, "arp": { "#text": "timeout 14400", "timeout": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } }, "ipv6": { @@ -6040,7 +8649,9 @@ "#text": "expire 14400", "expire": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } } } @@ -6049,16 +8660,22 @@ "#text": "pim bfd-instance", "dhcp": { "#text": "smart-relay", - "smart-relay": {} + "smart-relay": { + "#standalone": true + } }, "pim": { "#text": "bfd-instance", - "bfd-instance": {} + "bfd-instance": { + "#standalone": true + } } }, "ntp": { "#text": "serve", - "serve": {} + "serve": { + "#standalone": true + } } }, "logging": { @@ -6067,7 +8684,9 @@ "#text": "link-status use-global", "link-status": { "#text": "use-global", - "use-global": {} + "use-global": { + "#standalone": true + } } } }, @@ -6077,7 +8696,9 @@ "#text": "vlan 2", "vlan": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } } } }, @@ -6085,21 +8706,27 @@ "#text": "trap link-status", "trap": { "#text": "link-status", - "link-status": {} + "link-status": { + "#standalone": true + } } }, "vrf": { "#text": "forwarding devel", "forwarding": { "#text": "devel", - "devel": {} + "devel": { + "#standalone": true + } } }, "ip": { "#text": "pim dr-priority 1", "address": { "#text": "192.168.2.1/24", - "192.168.2.1/24": {} + "192.168.2.1/24": { + "#standalone": true + } }, "dhcp": { "#text": "relay information option circuit-id Ethernet2.2", @@ -6111,7 +8738,9 @@ "#text": "circuit-id Ethernet2.2", "circuit-id": { "#text": "Ethernet2.2", - "Ethernet2.2": {} + "Ethernet2.2": { + "#standalone": true + } } } } @@ -6121,57 +8750,81 @@ "#text": "router-alert optional connected", "version": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } }, "last-member-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "last-member-query-interval": { "#text": "10", - "10": {} + "10": { + "#standalone": true + } }, "query-max-response-time": { "#text": "100", - "100": {} + "100": { + "#standalone": true + } }, "query-interval": { "#text": "125", - "125": {} + "125": { + "#standalone": true + } }, "startup-query-count": { "#text": "2", - "2": {} + "2": { + "#standalone": true + } }, "startup-query-interval": { "#text": "310", - "310": {} + "310": { + "#standalone": true + } }, "router-alert": { "#text": "optional connected", "optional": { "#text": "connected", - "connected": {} + "connected": { + "#standalone": true + } } } }, "mfib": { "#text": "fastdrop", - "fastdrop": {} + "fastdrop": { + "#standalone": true + } }, "pim": { "#text": "dr-priority 1", "query-interval": { "#text": "30", - "30": {} + "30": { + "#standalone": true + } }, "join-prune-interval": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } }, "dr-priority": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } } }, @@ -6187,7 +8840,9 @@ "#text": "multiplier 3", "multiplier": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } @@ -6204,46 +8859,63 @@ "#text": "msec 200000", "msec": { "#text": "200000", - "200000": {} + "200000": { + "#standalone": true + } } }, "lifetime": { "#text": "1800", - "1800": {} + "1800": { + "#standalone": true + } }, "dns-servers": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "dns-suffixes": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "hop-limit": { "#text": "64", - "64": {} + "64": { + "#standalone": true + } } }, "reachable-time": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } }, "router-preference": { "#text": "medium", - "medium": {} + "medium": { + "#standalone": true + } } } }, "sflow": { "#text": "enable", - "enable": {} - } + "enable": { + "#standalone": true + } + }, + "#standalone": true }, "Loopback1": { "#text": "default ntp serve", @@ -6251,57 +8923,89 @@ "#text": "a loopback", "a": { "#text": "loopback", - "loopback": {} + "loopback": { + "#standalone": true + } } }, "no": { "#text": "ipv6 nd other-config-flag", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "ip": { "#text": "verify unicast", - "proxy-arp": {}, - "local-proxy-arp": {}, - "address": {}, + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } } }, "bfd": { "#text": "echo", - "echo": {} + "echo": { + "#standalone": true + } }, "ipv6": { "#text": "nd other-config-flag", - "enable": {}, - "address": {}, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } }, "nd": { "#text": "other-config-flag", "ra": { "#text": "mtu suppress", - "suppress": {}, + "suppress": { + "#standalone": true + }, "mtu": { "#text": "suppress", - "suppress": {} + "suppress": { + "#standalone": true + } } }, - "managed-config-flag": {}, - "other-config-flag": {} + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } }, "default": { "#text": "ntp serve", - "load-interval": {}, + "load-interval": { + "#standalone": true + }, "arp": { "#text": "timeout 14400", "timeout": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } }, "ipv6": { @@ -6312,19 +9016,25 @@ "#text": "expire 14400", "expire": { "#text": "14400", - "14400": {} + "14400": { + "#standalone": true + } } } } }, "ntp": { "#text": "serve", - "serve": {} + "serve": { + "#standalone": true + } } }, "mtu": { "#text": "1500", - "1500": {} + "1500": { + "#standalone": true + } }, "logging": { "#text": "event link-status use-global", @@ -6332,7 +9042,9 @@ "#text": "link-status use-global", "link-status": { "#text": "use-global", - "use-global": {} + "use-global": { + "#standalone": true + } } } }, @@ -6340,7 +9052,9 @@ "#text": "trap link-status", "trap": { "#text": "link-status", - "link-status": {} + "link-status": { + "#standalone": true + } } }, "bfd": { @@ -6355,7 +9069,9 @@ "#text": "multiplier 3", "multiplier": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } @@ -6372,93 +9088,144 @@ "#text": "msec 200000", "msec": { "#text": "200000", - "200000": {} + "200000": { + "#standalone": true + } } }, "lifetime": { "#text": "1800", - "1800": {} + "1800": { + "#standalone": true + } }, "dns-servers": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "dns-suffixes": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "hop-limit": { "#text": "64", - "64": {} + "64": { + "#standalone": true + } } }, "reachable-time": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } }, "router-preference": { "#text": "medium", - "medium": {} + "medium": { + "#standalone": true + } } } - } + }, + "#standalone": true }, "Management1": { "#text": "default ntp serve", "no": { "#text": "ipv6 nd other-config-flag", - "description": {}, - "shutdown": {}, - "mac-address": {}, - "link-debounce": {}, + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, "flowcontrol": { "#text": "receive", - "send": {}, - "receive": {} + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } }, "mac": { "#text": "timestamp", - "timestamp": {} + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true }, - "speed": {}, "l2": { "#text": "mtu", - "mtu": {} + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true }, - "traffic-loopback": {}, "error-correction": { "#text": "reed-solomon bypass", "reed-solomon": { "#text": "bypass", - "bypass": {} + "bypass": { + "#standalone": true + } } }, "ip": { "#text": "verify unicast", - "proxy-arp": {}, - "local-proxy-arp": {}, + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } } }, "bfd": { "#text": "echo", - "echo": {} + "echo": { + "#standalone": true + } }, "ipv6": { "#text": "nd other-config-flag", - "enable": {}, - "address": {}, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, "verify": { "#text": "unicast", - "unicast": {} + "unicast": { + "#standalone": true + } }, "nd": { "#text": "other-config-flag", @@ -6466,34 +9233,50 @@ "#text": "mtu suppress", "mtu": { "#text": "suppress", - "suppress": {} + "suppress": { + "#standalone": true + } } }, - "managed-config-flag": {}, - "other-config-flag": {} + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } }, "default": { "#text": "ntp serve", - "load-interval": {}, + "load-interval": { + "#standalone": true + }, "logging": { "#text": "event congestion-drops", "event": { "#text": "congestion-drops", - "congestion-drops": {} + "congestion-drops": { + "#standalone": true + } } }, - "unidirectional": {}, + "unidirectional": { + "#standalone": true + }, "error-correction": { "#text": "encoding", - "encoding": {} + "encoding": { + "#standalone": true + } }, "arp": { "#text": "timeout 300", "timeout": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "ipv6": { @@ -6504,19 +9287,25 @@ "#text": "expire 300", "expire": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } } } }, "ntp": { "#text": "serve", - "serve": {} + "serve": { + "#standalone": true + } } }, "mtu": { "#text": "1500", - "1500": {} + "1500": { + "#standalone": true + } }, "logging": { "#text": "event link-status use-global", @@ -6524,7 +9313,9 @@ "#text": "link-status use-global", "link-status": { "#text": "use-global", - "use-global": {} + "use-global": { + "#standalone": true + } } } }, @@ -6532,14 +9323,18 @@ "#text": "trap link-status", "trap": { "#text": "link-status", - "link-status": {} + "link-status": { + "#standalone": true + } } }, "ip": { "#text": "address 10.0.2.15/24", "address": { "#text": "10.0.2.15/24", - "10.0.2.15/24": {} + "10.0.2.15/24": { + "#standalone": true + } } }, "bfd": { @@ -6554,7 +9349,9 @@ "#text": "multiplier 3", "multiplier": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } } } } @@ -6569,53 +9366,74 @@ "#text": "hop-limit 64", "suppress": { "#text": "all", - "all": {} + "all": { + "#standalone": true + } }, "interval": { "#text": "msec 200000", "msec": { "#text": "200000", - "200000": {} + "200000": { + "#standalone": true + } } }, "lifetime": { "#text": "1800", - "1800": {} + "1800": { + "#standalone": true + } }, "dns-servers": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "dns-suffixes": { "#text": "lifetime 300", "lifetime": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } } }, "hop-limit": { "#text": "64", - "64": {} + "64": { + "#standalone": true + } } }, "reachable-time": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } }, "router-preference": { "#text": "medium", - "medium": {} + "medium": { + "#standalone": true + } } } }, "lldp": { "#text": "receive", - "transmit": {}, - "receive": {} - } + "transmit": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "#standalone": true } }, "mac": { @@ -6624,18 +9442,24 @@ "#text": "notification host-flap detection window 15", "aging-time": { "#text": "300", - "300": {} + "300": { + "#standalone": true + } }, "notification": { "#text": "host-flap detection window 15", "host-flap": { "#text": "detection window 15", - "logging": {}, + "logging": { + "#standalone": true + }, "detection": { "#text": "window 15", "window": { "#text": "15", - "15": {} + "15": { + "#standalone": true + } } } } @@ -6646,59 +9470,84 @@ "#text": "reachability", "hadoop": { "#text": "shutdown", - "shutdown": {} + "shutdown": { + "#standalone": true + }, + "#standalone": true }, "loop-protection": { "#text": "disabled-time 604800", "rate-limit": { "#text": "1000", - "1000": {} + "1000": { + "#standalone": true + } }, "transmit-interval": { "#text": "5", - "5": {} + "5": { + "#standalone": true + } }, "disabled-time": { "#text": "604800", - "604800": {} - } + "604800": { + "#standalone": true + } + }, + "#standalone": true }, "reachability": { "#text": "default preserve-streams", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "probe": { "#text": "checkpoint-interval 60", "receiver": { "#text": "max-streams 50000", "max-streams": { "#text": "50000", - "50000": {} + "50000": { + "#standalone": true + } } }, "checkpoint-interval": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } } }, "destination": { "#text": "port 49152", "port": { "#text": "49152", - "49152": {} + "49152": { + "#standalone": true + } } }, "default": { "#text": "preserve-streams", - "ignore-checksum": {}, - "preserve-streams": {} - } + "ignore-checksum": { + "#standalone": true + }, + "preserve-streams": { + "#standalone": true + } + }, + "#standalone": true } }, "ipv6": { "#text": "icmp redirect", "icmp": { "#text": "redirect", - "redirect": {} + "redirect": { + "#standalone": true + } } }, "control-plane": { @@ -6709,16 +9558,22 @@ "#text": "default-control-plane-acl vrf devel in", "default-control-plane-acl": { "#text": "vrf devel in", - "in": {}, + "in": { + "#standalone": true + }, "vrf": { "#text": "devel in", "prod": { "#text": "in", - "in": {} + "in": { + "#standalone": true + } }, "devel": { "#text": "in", - "in": {} + "in": { + "#standalone": true + } } } } @@ -6730,21 +9585,28 @@ "#text": "default-control-plane-acl vrf devel in", "default-control-plane-acl": { "#text": "vrf devel in", - "in": {}, + "in": { + "#standalone": true + }, "vrf": { "#text": "devel in", "prod": { "#text": "in", - "in": {} + "in": { + "#standalone": true + } }, "devel": { "#text": "in", - "in": {} + "in": { + "#standalone": true + } } } } } - } + }, + "#standalone": true }, "mlag": { "#text": "configuration", @@ -6752,25 +9614,44 @@ "#text": "no shutdown", "no": { "#text": "shutdown", - "domain-id": {}, - "local-interface": {}, - "peer-address": {}, - "peer-link": {}, + "domain-id": { + "#standalone": true + }, + "local-interface": { + "#standalone": true + }, + "peer-address": { + "#standalone": true + }, + "peer-link": { + "#standalone": true + }, "reload-delay": { "#text": "mode", - "non-mlag": {}, - "mode": {} + "non-mlag": { + "#standalone": true + }, + "mode": { + "#standalone": true + } }, - "shutdown": {} + "shutdown": { + "#standalone": true + } }, "heartbeat-interval": { "#text": "4000", - "4000": {} + "4000": { + "#standalone": true + } }, "reload-delay": { "#text": "0", - "0": {} - } + "0": { + "#standalone": true + } + }, + "#standalone": true } }, "qos": { @@ -6799,7 +9680,9 @@ "#text": "traffic-class 8", "traffic-class": { "#text": "8", - "8": {} + "8": { + "#standalone": true + } } } } @@ -6945,7 +9828,9 @@ "#text": "traffic-class 9", "traffic-class": { "#text": "9", - "9": {} + "9": { + "#standalone": true + } } } } @@ -7043,15 +9928,21 @@ "#text": "mc-tx-queue 4", "cos": { "#text": "3", - "3": {} + "3": { + "#standalone": true + } }, "uc-tx-queue": { "#text": "4", - "4": {} + "4": { + "#standalone": true + } }, "mc-tx-queue": { "#text": "4", - "4": {} + "4": { + "#standalone": true + } } } } @@ -7085,16 +9976,21 @@ "#text": "pps 6000", "pps": { "#text": "6000", - "6000": {} + "6000": { + "#standalone": true + } } }, "bandwidth": { "#text": "pps 5000", "pps": { "#text": "5000", - "5000": {} + "5000": { + "#standalone": true + } } - } + }, + "#standalone": true }, "copp-system-arp": { "#text": "bandwidth pps 1000", @@ -7102,16 +9998,21 @@ "#text": "pps 25000", "pps": { "#text": "25000", - "25000": {} + "25000": { + "#standalone": true + } } }, "bandwidth": { "#text": "pps 1000", "pps": { "#text": "1000", - "1000": {} + "1000": { + "#standalone": true + } } - } + }, + "#standalone": true }, "copp-system-igmp": { "#text": "bandwidth pps 4000", @@ -7119,26 +10020,37 @@ "#text": "pps 5000", "pps": { "#text": "5000", - "5000": {} + "5000": { + "#standalone": true + } } }, "bandwidth": { "#text": "pps 4000", "pps": { "#text": "4000", - "4000": {} + "4000": { + "#standalone": true + } } - } + }, + "#standalone": true }, "copp-system-default": { "#text": "no bandwidth", "no": { "#text": "bandwidth", - "shape": {}, - "bandwidth": {} - } + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + }, + "#standalone": true } - } + }, + "#standalone": true } } } @@ -7147,7 +10059,9 @@ "#text": "coredump compressed", "coredump": { "#text": "compressed", - "compressed": {} + "compressed": { + "#standalone": true + } } }, "management": { @@ -7162,25 +10076,33 @@ "#text": "mac hmac-sha1", "port": { "#text": "443", - "443": {} + "443": { + "#standalone": true + } }, "cipher": { "#text": "aes256-cbc aes128-cbc", "aes256-cbc": { "#text": "aes128-cbc", - "aes128-cbc": {} + "aes128-cbc": { + "#standalone": true + } } }, "key-exchange": { "#text": "rsa diffie-hellman-ephemeral-rsa", "rsa": { "#text": "diffie-hellman-ephemeral-rsa", - "diffie-hellman-ephemeral-rsa": {} + "diffie-hellman-ephemeral-rsa": { + "#standalone": true + } } }, "mac": { "#text": "hmac-sha1", - "hmac-sha1": {} + "hmac-sha1": { + "#standalone": true + } } } }, @@ -7192,37 +10114,53 @@ "#text": "localhost port 8080", "port": { "#text": "80", - "80": {} + "80": { + "#standalone": true + } }, "localhost": { "#text": "port 8080", "port": { "#text": "8080", - "8080": {} + "8080": { + "#standalone": true + } } } }, - "unix-socket": {}, + "unix-socket": { + "#standalone": true + }, "https": { "#text": "ssl profile", - "certificate": {}, + "certificate": { + "#standalone": true + }, "ssl": { "#text": "profile", - "profile": {} + "profile": { + "#standalone": true + } } } }, "cors": { "#text": "allowed-origin", - "allowed-origin": {} + "allowed-origin": { + "#standalone": true + } }, - "shutdown": {} + "shutdown": { + "#standalone": true + } }, "qos": { "#text": "dscp 0", "dscp": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } } }, "vrf": { @@ -7231,68 +10169,106 @@ "#text": "no shutdown", "no": { "#text": "shutdown", - "shutdown": {} - } + "shutdown": { + "#standalone": true + } + }, + "#standalone": true } - } + }, + "#standalone": true } }, "cim-provider": { "#text": "default ssl key", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "http": { "#text": "7778", - "7778": {} + "7778": { + "#standalone": true + } }, "https": { "#text": "7779", - "7779": {} + "7779": { + "#standalone": true + } }, "idle-timeout": { "#text": "90", - "90": {} + "90": { + "#standalone": true + } }, "default": { "#text": "ssl key", - "live-time": {}, - "trace": {}, + "live-time": { + "#standalone": true + }, + "trace": { + "#standalone": true + }, "ssl": { "#text": "key", - "certificate": {}, - "key": {} + "certificate": { + "#standalone": true + }, + "key": { + "#standalone": true + } } - } + }, + "#standalone": true }, "console": { "#text": "idle-timeout 0", "idle-timeout": { "#text": "0", - "0": {} - } + "0": { + "#standalone": true + } + }, + "#standalone": true }, "cvx": { "#text": "service debug", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "no": { "#text": "ssl profile", "server": { "#text": "port", - "host": {}, - "port": {} + "host": { + "#standalone": true + }, + "port": { + "#standalone": true + } + }, + "source-interface": { + "#standalone": true }, - "source-interface": {}, "ssl": { "#text": "profile", - "profile": {} + "profile": { + "#standalone": true + } } }, "heartbeat-interval": { "#text": "20", - "20": {} + "20": { + "#standalone": true + } }, "heartbeat-timeout": { "#text": "60", - "60": {} + "60": { + "#standalone": true + } }, "service": { "#text": "debug", @@ -7300,14 +10276,20 @@ "#text": "interval 1", "no": { "#text": "shutdown", - "shutdown": {} + "shutdown": { + "#standalone": true + } }, "interval": { "#text": "1", - "1": {} - } + "1": { + "#standalone": true + } + }, + "#standalone": true } - } + }, + "#standalone": true }, "defaults": { "#text": "secret hash md5", @@ -7315,9 +10297,12 @@ "#text": "hash md5", "hash": { "#text": "md5", - "md5": {} + "md5": { + "#standalone": true + } } - } + }, + "#standalone": true }, "security": { "#text": "no password minimum length", @@ -7327,34 +10312,45 @@ "#text": "source hardware", "source": { "#text": "hardware", - "hardware": {} + "hardware": { + "#standalone": true + } } }, "password": { "#text": "minimum length", "minimum": { "#text": "length", - "length": {} + "length": { + "#standalone": true + } } } - } + }, + "#standalone": true }, "ssh": { "#text": "log-level info", "idle-timeout": { "#text": "0", - "0": {} + "0": { + "#standalone": true + } }, "authentication": { "#text": "mode keyboard-interactive", "mode": { "#text": "keyboard-interactive", - "keyboard-interactive": {} + "keyboard-interactive": { + "#standalone": true + } } }, "server-port": { "#text": "22", - "22": {} + "22": { + "#standalone": true + } }, "hostkey": { "#text": "server rsa dsa", @@ -7362,7 +10358,9 @@ "#text": "rsa dsa", "rsa": { "#text": "dsa", - "dsa": {} + "dsa": { + "#standalone": true + } } } }, @@ -7370,54 +10368,81 @@ "#text": "shutdown", "fips": { "#text": "restrictions", - "restrictions": {} + "restrictions": { + "#standalone": true + } }, "hostkey": { "#text": "client strict-checking", "client": { "#text": "strict-checking", - "strict-checking": {} + "strict-checking": { + "#standalone": true + } } }, - "shutdown": {} + "shutdown": { + "#standalone": true + } }, "login": { "#text": "timeout 120", "timeout": { "#text": "120", - "120": {} + "120": { + "#standalone": true + } } }, "log-level": { "#text": "info", - "info": {} - } + "info": { + "#standalone": true + } + }, + "#standalone": true }, "telnet": { "#text": "idle-timeout 0", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "idle-timeout": { "#text": "0", - "0": {} - } + "0": { + "#standalone": true + } + }, + "#standalone": true }, "xmpp": { "#text": "session privilege 1", - "shutdown": {}, + "shutdown": { + "#standalone": true + }, "vrf": { "#text": "default", - "default": {} + "default": { + "#standalone": true + } }, "session": { "#text": "privilege 1", "privilege": { "#text": "1", - "1": {} + "1": { + "#standalone": true + } } - } + }, + "#standalone": true } }, - "end": {}, - "": {} + "end": { + "#standalone": true + }, + "": { + "#standalone": true + } } ] \ No newline at end of file From e804e686c7043e206fc8ba00311bcd5dfb72dabe Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 09:07:52 +0200 Subject: [PATCH 130/153] Separate ip from prefix when reading ip addresses --- .../junos/parsers/config/openconfig-if-ip/ipv4.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml index cc66f0e1..606f610c 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -10,6 +10,7 @@ ipv4: _process: - mode: is_present path: "family.inet" + regexp: "(?P(?P.*))\\/(?P\\d+)" mtu: _process: not_implemented addresses: @@ -19,18 +20,19 @@ ipv4: _process: - path: "address" key: name + regexp: "(?P(?P.*))\\/(?P\\d+)" ip: _process: unnecessary config: _process: unnecessary ip: _process: - - path: "name" - regexp: "(?P.*)/\\d+" + - mode: value + value: "{{ extra_vars.ip }}" prefix-length: _process: - - path: "name" - regexp: ".*/(?P\\d+)" + - mode: value + value: "{{ extra_vars.prefix }}" vrrp: _process: not_implemented vrrp-group: From 6958d8ac9235219006c49e9702efe192105761b1 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 09:08:09 +0200 Subject: [PATCH 131/153] Migrate from TextParser to TextTree --- .../config/napalm-if-ip/secondary.yaml | 6 ++-- .../parsers/config/openconfig-if-ip/ipv4.yaml | 7 ++-- .../openconfig-interfaces/interfaces.yaml | 35 ++++++++++--------- .../config/openconfig-vlan/routed-vlan.yaml | 2 +- .../parsers/config/openconfig-vlan/vlan.yaml | 4 +-- 5 files changed, 29 insertions(+), 25 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml b/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml index 058db2c4..fb9e4c70 100644 --- a/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml +++ b/napalm_yang/mappings/eos/parsers/config/napalm-if-ip/secondary.yaml @@ -1,9 +1,9 @@ --- metadata: prefix: "napalm-ip" - processor: TextParser + processor: TextTree secondary: _process: - - mode: value - value: "{{ extra_vars.secondary != None }}" + - mode: is_present + path: "secondary" diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml index 65f45cbc..6f69a2f7 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: TextParser + processor: TextTree ipv4: _process: unnecessary @@ -9,14 +9,15 @@ ipv4: enabled: _process: - mode: is_absent - regexp: "(?P^\\W*switchport$)" + path: "switchport" mtu: _process: not_implemented addresses: _process: unnecessary address: _process: - - regexp: "(?Pip address (?P(?P.*))\\/(?P\\d+))(?P secondary)*" + - path: "ip.address" + regexp: "(?P(?P.*))\\/(?P\\d+)" ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml index d53a4e55..9250a5fa 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: TextParser + processor: TextTree execute: - method: cli kwargs: @@ -9,7 +9,8 @@ interfaces: _process: unnecessary interface: _process: - - regexp: "(?Pinterface (?P((\\w|-)*\\d+(\\/\\d+)*))\n(?:.|\n)*?^!$)" + - path: interface + regexp: "^(?P(\\w|-)*\\d+(\\/\\d+)*)$" from: root_interfaces.0 name: _process: unnecessary @@ -28,28 +29,30 @@ interfaces: type: _process: - mode: map - regexp: "interface (?P(\\w|-)*)\\d+" + value: "{{ interface_key }}" + regexp: "(?P(\\w|-)*)\\d+" map: - Ethernet: ethernetCsmacd - Management: ethernetCsmacd - Loopback: softwareLoopback - Port-Channel: ieee8023adLag - Vlan: l3ipvlan + ethernet: ethernetCsmacd + management: ethernetCsmacd + loopback: softwareLoopback + port-channel: ieee8023adLag + vlan: l3ipvlan enabled: _process: - - mode: is_present - regexp: "(?Pno shutdown)" + - mode: is_absent + path: "shutdown" description: _process: - - regexp: "description (?P.*)" + - path: description mtu: _process: - - regexp: "mtu (?P[0-9]+)" + - path: mtu subinterfaces: _process: unnecessary subinterface: _process: - - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+(\\/\\d+)*)\\n(?:.|\\n)*?^!$)" + - path: interface + regexp: "{{interface_key}}\\.(?P\\d+)" from: root_interfaces.0 index: _process: unnecessary @@ -63,8 +66,8 @@ interfaces: value: "{{ interface_key }}.{{ subinterface_key}}" enabled: _process: - - mode: is_present - regexp: "(?Pno shutdown)" + - mode: is_absent + path: "shutdown" description: _process: - - regexp: "description (?P.*)" + - path: description diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/routed-vlan.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/routed-vlan.yaml index 75bbfd67..dbe4e7a9 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/routed-vlan.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/routed-vlan.yaml @@ -1,7 +1,7 @@ --- metadata: prefix: "oc-vlan" - processor: TextParser + processor: TextTree routed-vlan: _process: unnecessary diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml index 637e54dc..57f2856c 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlan.yaml @@ -1,7 +1,7 @@ --- metadata: prefix: "oc-vlan" - processor: TextParser + processor: TextTree vlan: _process: unnecessary @@ -9,4 +9,4 @@ vlan: _process: unnecessary vlan-id: _process: - - regexp: "^\\W*encapsulation dot1q vlan (?P[0-9]+)" + - path: "encapsulation.dot1q.vlan" From 5f41ddc5c5d20ba4465d01a5b853c8253ecdea6b Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 10:35:29 +0200 Subject: [PATCH 132/153] Add a #list key so you can access ordered data where it matters --- napalm_yang/parsers/text_tree.py | 28 +- test/unit/text_tree/test_case_1/config.txt | 6 + test/unit/text_tree/test_case_1/expected.json | 206164 ++++++++++++++- 3 files changed, 200610 insertions(+), 5588 deletions(-) diff --git a/napalm_yang/parsers/text_tree.py b/napalm_yang/parsers/text_tree.py index 33bb7411..f9746b3c 100644 --- a/napalm_yang/parsers/text_tree.py +++ b/napalm_yang/parsers/text_tree.py @@ -4,23 +4,33 @@ from napalm_yang.parsers.jsonp import JSONParser -def _attach_data_to_path(obj, path, data): +def _attach_data_to_path(obj, path, data, list_=False): + if "#list" not in obj: + obj["#list"] = [] + path = path.split(" ") + o = obj + first = True while True: - obj["#text"] = " ".join(path) + o["#text"] = " ".join(path) p = path.pop(0) if not path: break else: - if p not in obj: - obj[p] = OrderedDict() - obj = obj[p] - obj[p] = data + if p not in o: + o[p] = OrderedDict() + o = o[p] + + if first and list_: + obj["#list"].append({p: o}) + first = False + o[p] = data + # We add a standalong flag to be able to distinguish this situation: # switchport # switchport mode access - obj[p]["#standalone"] = True + o[p]["#standalone"] = True def parse_indented_config(config, current_indent=0, previous_indent=0, nested=False): @@ -59,14 +69,14 @@ def parse_indented_config(config, current_indent=0, previous_indent=0, nested=Fa if leading_spaces > current_indent: current = parse_indented_config(config, leading_spaces, current_indent, True) - _attach_data_to_path(parsed, last, current) + _attach_data_to_path(parsed, last, current, nested) elif leading_spaces < current_indent: config.insert(0, line) break else: if not nested: current = parse_indented_config(config, leading_spaces, current_indent, True) - _attach_data_to_path(parsed, last, current) + _attach_data_to_path(parsed, last, current, nested) else: config.insert(0, line) break diff --git a/test/unit/text_tree/test_case_1/config.txt b/test/unit/text_tree/test_case_1/config.txt index 3e6eb76b..cccafaaa 100644 --- a/test/unit/text_tree/test_case_1/config.txt +++ b/test/unit/text_tree/test_case_1/config.txt @@ -1663,6 +1663,12 @@ router pim bsr no ip pim bsr-candidate no ip pim bsr rp-candidate advertisement-filter ! +ip access-list extended SOMETHING + deny tcp any any eq 80 + permit tcp any any eq 443 + deny tcp any any eq 25 + permit tcp any any +! no ip tacacs source-interface ! no vxlan vni notation dotted diff --git a/test/unit/text_tree/test_case_1/expected.json b/test/unit/text_tree/test_case_1/expected.json index 51b081de..3968d247 100644 --- a/test/unit/text_tree/test_case_1/expected.json +++ b/test/unit/text_tree/test_case_1/expected.json @@ -1,5 +1,6 @@ [ { + "#list": [], "#text": "", "hardware": { "#text": "access-list ipv6 implicit-permit icmpv6 all", @@ -898,6 +899,695 @@ } }, "cvx": { + "#list": [ + { + "port": { + "#text": "9979", + "9979": { + "#standalone": true + } + } + }, + { + "heartbeat-interval": { + "#text": "20", + "20": { + "#standalone": true + } + } + }, + { + "heartbeat-timeout": { + "#text": "60", + "60": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "ssl profile", + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + { + "service": { + "#text": "vxlan", + "debug": { + "#list": [ + { + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + }, + { + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + ], + "#text": "interval 1", + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + }, + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + }, + "#standalone": true + }, + "hsc": { + "#list": [ + { + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + } + } + ], + "#text": "vtep flood list type any", + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + }, + "#standalone": true + }, + "openstack": { + "#list": [ + { + "grace-period": { + "#text": "60", + "60": { + "#standalone": true + } + } + }, + { + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": { + "#standalone": true + } + } + } + } + ], + "#text": "name-resolution interval 21600", + "shutdown": { + "#standalone": true + }, + "grace-period": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "vxlan": { + "#list": [ + { + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": { + "#standalone": true + } + } + } + }, + { + "resync-period": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + ], + "#text": "resync-period 300", + "shutdown": { + "#standalone": true + }, + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": { + "#standalone": true + } + } + }, + "resync-period": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "#standalone": true + } + } + }, + { + "service": { + "#text": "vxlan", + "debug": { + "#list": [ + { + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + }, + { + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + ], + "#text": "interval 1", + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + }, + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + }, + "#standalone": true + }, + "hsc": { + "#list": [ + { + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + } + } + ], + "#text": "vtep flood list type any", + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + }, + "#standalone": true + }, + "openstack": { + "#list": [ + { + "grace-period": { + "#text": "60", + "60": { + "#standalone": true + } + } + }, + { + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": { + "#standalone": true + } + } + } + } + ], + "#text": "name-resolution interval 21600", + "shutdown": { + "#standalone": true + }, + "grace-period": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "vxlan": { + "#list": [ + { + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": { + "#standalone": true + } + } + } + }, + { + "resync-period": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + ], + "#text": "resync-period 300", + "shutdown": { + "#standalone": true + }, + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": { + "#standalone": true + } + } + }, + "resync-period": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "#standalone": true + } + } + }, + { + "service": { + "#text": "vxlan", + "debug": { + "#list": [ + { + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + }, + { + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + ], + "#text": "interval 1", + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + }, + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + }, + "#standalone": true + }, + "hsc": { + "#list": [ + { + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + } + } + ], + "#text": "vtep flood list type any", + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + }, + "#standalone": true + }, + "openstack": { + "#list": [ + { + "grace-period": { + "#text": "60", + "60": { + "#standalone": true + } + } + }, + { + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": { + "#standalone": true + } + } + } + } + ], + "#text": "name-resolution interval 21600", + "shutdown": { + "#standalone": true + }, + "grace-period": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "vxlan": { + "#list": [ + { + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": { + "#standalone": true + } + } + } + }, + { + "resync-period": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + ], + "#text": "resync-period 300", + "shutdown": { + "#standalone": true + }, + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": { + "#standalone": true + } + } + }, + "resync-period": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "#standalone": true + } + } + }, + { + "service": { + "#text": "vxlan", + "debug": { + "#list": [ + { + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + }, + { + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + ], + "#text": "interval 1", + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + }, + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + }, + "#standalone": true + }, + "hsc": { + "#list": [ + { + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + } + } + ], + "#text": "vtep flood list type any", + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + }, + "#standalone": true + }, + "openstack": { + "#list": [ + { + "grace-period": { + "#text": "60", + "60": { + "#standalone": true + } + } + }, + { + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": { + "#standalone": true + } + } + } + } + ], + "#text": "name-resolution interval 21600", + "shutdown": { + "#standalone": true + }, + "grace-period": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "vxlan": { + "#list": [ + { + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": { + "#standalone": true + } + } + } + }, + { + "resync-period": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + ], + "#text": "resync-period 300", + "shutdown": { + "#standalone": true + }, + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": { + "#standalone": true + } + } + }, + "resync-period": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "#standalone": true + } + } + } + ], "#text": "service vxlan", "shutdown": { "#standalone": true @@ -932,6 +1622,24 @@ "service": { "#text": "vxlan", "debug": { + "#list": [ + { + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + }, + { + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + ], "#text": "interval 1", "no": { "#text": "shutdown", @@ -948,6 +1656,25 @@ "#standalone": true }, "hsc": { + "#list": [ + { + "vtep": { + "#text": "flood list type any", + "flood": { + "#text": "list type any", + "list": { + "#text": "type any", + "type": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + } + } + ], "#text": "vtep flood list type any", "vtep": { "#text": "flood list type any", @@ -967,6 +1694,27 @@ "#standalone": true }, "openstack": { + "#list": [ + { + "grace-period": { + "#text": "60", + "60": { + "#standalone": true + } + } + }, + { + "name-resolution": { + "#text": "interval 21600", + "interval": { + "#text": "21600", + "21600": { + "#standalone": true + } + } + } + } + ], "#text": "name-resolution interval 21600", "shutdown": { "#standalone": true @@ -989,6 +1737,27 @@ "#standalone": true }, "vxlan": { + "#list": [ + { + "vtep": { + "#text": "mac-learning control-plane", + "mac-learning": { + "#text": "control-plane", + "control-plane": { + "#standalone": true + } + } + } + }, + { + "resync-period": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + ], "#text": "resync-period 300", "shutdown": { "#standalone": true @@ -1014,7 +1783,7 @@ "#standalone": true }, "ip": { - "#text": "as-path regex-mode asn", + "#text": "access-list extended SOMETHING", "dhcp": { "#text": "snooping information option circuit-id type 0 format %p:%v", "snooping": { @@ -1330,6 +2099,125 @@ "#standalone": true } } + }, + "access-list": { + "#text": "extended SOMETHING", + "extended": { + "#text": "SOMETHING", + "SOMETHING": { + "#list": [ + { + "deny": { + "#text": "tcp any any eq 25", + "tcp": { + "#text": "any any eq 25", + "any": { + "#text": "any eq 25", + "any": { + "#text": "eq 25", + "eq": { + "#text": "25", + "80": { + "#standalone": true + }, + "25": { + "#standalone": true + } + } + } + } + } + } + }, + { + "permit": { + "#text": "tcp any any", + "tcp": { + "#text": "any any", + "any": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + }, + { + "deny": { + "#text": "tcp any any eq 25", + "tcp": { + "#text": "any any eq 25", + "any": { + "#text": "any eq 25", + "any": { + "#text": "eq 25", + "eq": { + "#text": "25", + "80": { + "#standalone": true + }, + "25": { + "#standalone": true + } + } + } + } + } + } + }, + { + "permit": { + "#text": "tcp any any", + "tcp": { + "#text": "any any", + "any": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + } + } + ], + "#text": "permit tcp any any", + "deny": { + "#text": "tcp any any eq 25", + "tcp": { + "#text": "any any eq 25", + "any": { + "#text": "any eq 25", + "any": { + "#text": "eq 25", + "eq": { + "#text": "25", + "80": { + "#standalone": true + }, + "25": { + "#standalone": true + } + } + } + } + } + }, + "permit": { + "#text": "tcp any any", + "tcp": { + "#text": "any any", + "any": { + "#text": "any", + "any": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } } }, "default": { @@ -1516,6 +2404,52 @@ } }, "1": { + "#list": [ + { + "name": { + "#text": "default", + "default": { + "#standalone": true + } + } + }, + { + "state": { + "#text": "active", + "active": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "mac-address-table sharing", + "private-vlan": { + "#standalone": true + }, + "mac-address-table": { + "#text": "sharing", + "sharing": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "mac-address-table sharing", + "private-vlan": { + "#standalone": true + }, + "mac-address-table": { + "#text": "sharing", + "sharing": { + "#standalone": true + } + } + } + } + ], "#text": "no mac-address-table sharing", "name": { "#text": "default", @@ -1545,23 +2479,140 @@ } }, "email": { - "#text": "no tls", - "no": { - "#text": "tls", - "from-user": { - "#standalone": true - }, - "server": { - "#standalone": true - }, - "auth": { - "#text": "password", - "username": { - "#standalone": true - }, - "password": { - "#standalone": true - } + "#list": [ + { + "no": { + "#text": "tls", + "from-user": { + "#standalone": true + }, + "server": { + "#standalone": true + }, + "auth": { + "#text": "password", + "username": { + "#standalone": true + }, + "password": { + "#standalone": true + } + }, + "tls": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "tls", + "from-user": { + "#standalone": true + }, + "server": { + "#standalone": true + }, + "auth": { + "#text": "password", + "username": { + "#standalone": true + }, + "password": { + "#standalone": true + } + }, + "tls": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "tls", + "from-user": { + "#standalone": true + }, + "server": { + "#standalone": true + }, + "auth": { + "#text": "password", + "username": { + "#standalone": true + }, + "password": { + "#standalone": true + } + }, + "tls": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "tls", + "from-user": { + "#standalone": true + }, + "server": { + "#standalone": true + }, + "auth": { + "#text": "password", + "username": { + "#standalone": true + }, + "password": { + "#standalone": true + } + }, + "tls": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "tls", + "from-user": { + "#standalone": true + }, + "server": { + "#standalone": true + }, + "auth": { + "#text": "password", + "username": { + "#standalone": true + }, + "password": { + "#standalone": true + } + }, + "tls": { + "#standalone": true + } + } + } + ], + "#text": "no tls", + "no": { + "#text": "tls", + "from-user": { + "#standalone": true + }, + "server": { + "#standalone": true + }, + "auth": { + "#text": "password", + "username": { + "#standalone": true + }, + "password": { + "#standalone": true + } }, "tls": { "#standalone": true @@ -1617,6 +2668,54 @@ "event-handler": { "#text": "dhclient", "dhclient": { + "#list": [ + { + "trigger": { + "#text": "on-boot", + "on-boot": { + "#standalone": true + } + } + }, + { + "action": { + "#text": "bash sudo /mnt/flash/initialize_ma1.sh", + "bash": { + "#text": "sudo /mnt/flash/initialize_ma1.sh", + "sudo": { + "#text": "/mnt/flash/initialize_ma1.sh", + "/mnt/flash/initialize_ma1.sh": { + "#standalone": true + } + } + } + } + }, + { + "delay": { + "#text": "20", + "20": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "asynchronous", + "asynchronous": { + "#standalone": true + } + } + }, + { + "timeout": { + "#text": "10", + "10": { + "#standalone": true + } + } + } + ], "#text": "timeout 10", "trigger": { "#text": "on-boot", @@ -2329,10 +3428,166 @@ "router": { "#text": "pim bsr", "msdp": { + "#list": [ + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + } + } + ], + "#text": "ip msdp timer 30", + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + } + } + ], + "#text": "ip msdp timer 30", + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + }, + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + } + } + ], + "#text": "ip msdp timer 30", + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + } + } + ], + "#text": "ip msdp timer 30", + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + } + ], "#text": "vrf prod", "vrf": { "#text": "prod", "devel": { + "#list": [ + { + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + } + } + ], "#text": "ip msdp timer 30", "ip": { "#text": "msdp timer 30", @@ -2349,6 +3604,22 @@ "#standalone": true }, "prod": { + "#list": [ + { + "ip": { + "#text": "msdp timer 30", + "msdp": { + "#text": "timer 30", + "timer": { + "#text": "30", + "30": { + "#standalone": true + } + } + } + } + } + ], "#text": "ip msdp timer 30", "ip": { "#text": "msdp timer 30", @@ -2373,570 +3644,200 @@ "bgp": { "#text": "65001", "65001": { - "#text": "vrf prod", - "no": { - "#text": "redistribute aggregate", - "shutdown": { - "#standalone": true - }, - "bgp": { - "#text": "auto-local-addr", - "confederation": { - "#text": "identifier", - "identifier": { + "#list": [ + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { "#standalone": true - } - }, - "default": { - "#text": "ipv6-unicast", - "ipv4-unicast": { - "#text": "transport ipv6", - "transport": { - "#text": "ipv6", - "ipv6": { + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { "#standalone": true } - } - }, - "ipv6-unicast": { - "#standalone": true - } - }, - "cluster-id": { - "#standalone": true - }, - "route": { - "#text": "install-map", - "install-map": { - "#standalone": true - } - }, - "transport": { - "#text": "listen-port", - "listen-port": { - "#standalone": true - } - }, - "always-compare-med": { - "#standalone": true - }, - "bestpath": { - "#text": "tie-break cluster-list-length", - "med": { - "#text": "confed", - "missing-as-worst": { - "#standalone": true }, - "confed": { - "#standalone": true - } - }, - "tie-break": { - "#text": "cluster-list-length", - "age": { - "#standalone": true + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } }, - "router-id": { + "cluster-id": { "#standalone": true }, - "originator-id": { - "#standalone": true + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } }, - "cluster-list-length": { - "#standalone": true - } - } - }, - "host-routes": { - "#text": "fib direct-install", - "fib": { - "#text": "direct-install", - "direct-install": { + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { "#standalone": true - } - } - }, - "route-reflector": { - "#text": "preserve-attributes", - "preserve-attributes": { - "#standalone": true - } - }, - "additional-paths": { - "#text": "install", - "install": { - "#standalone": true - } - }, - "aspath-cmp-include-nexthop": { - "#standalone": true - }, - "advertise-inactive": { - "#standalone": true - }, - "auto-local-addr": { - "#standalone": true - } - }, - "update": { - "#text": "wait-install", - "wait-for-convergence": { - "#standalone": true - }, - "wait-install": { - "#standalone": true - } - }, - "graceful-restart": { - "#standalone": true - }, - "default-metric": { - "#standalone": true - }, - "neighbor": { - "#text": "192.168.0.200 idle-restart-timer", - "192.168.0.200": { - "#text": "idle-restart-timer", - "peer-group": { - "#standalone": true - }, - "import-localpref": { - "#standalone": true - }, - "export-localpref": { - "#standalone": true - }, - "next-hop-self": { - "#standalone": true - }, - "next-hop-peer": { - "#standalone": true - }, - "allowas-in": { - "#standalone": true - }, - "shutdown": { - "#standalone": true - }, - "out-delay": { - "#standalone": true - }, - "local-as": { - "#standalone": true - }, - "weight": { - "#standalone": true - }, - "transport": { - "#text": "connection-mode passive", - "connection-mode": { - "#text": "passive", - "passive": { + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { "#standalone": true } - } - }, - "update-source": { - "#standalone": true - }, - "dont-capability-negotiate": { - "#standalone": true - }, - "fall-over": { - "#text": "bfd", - "bfd": { + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { "#standalone": true - } - }, - "local-v6-addr": { - "#standalone": true - }, - "auto-local-addr": { - "#standalone": true - }, - "next-hop-v6-addr": { - "#standalone": true - }, - "ebgp-multihop": { - "#standalone": true - }, - "route-reflector-client": { - "#standalone": true - }, - "timers": { - "#standalone": true - }, - "route-map": { - "#text": "out", - "in": { + }, + "advertise-inactive": { "#standalone": true }, - "out": { + "auto-local-addr": { "#standalone": true } }, - "graceful-restart": { - "#standalone": true - }, - "prefix-list": { - "#text": "out", - "in": { + "update": { + "#text": "wait-install", + "wait-for-convergence": { "#standalone": true }, - "out": { + "wait-install": { "#standalone": true } }, - "password": { - "#standalone": true - }, - "default-originate": { + "graceful-restart": { "#standalone": true }, - "metric-out": { + "default-metric": { "#standalone": true }, - "idle-restart-timer": { - "#standalone": true - } - } - }, - "redistribute": { - "#text": "aggregate", - "connected": { - "#standalone": true - }, - "isis": { - "#standalone": true - }, - "ospf": { - "#text": "match nssa-external", - "match": { - "#text": "nssa-external", - "internal": { - "#standalone": true - }, - "external": { - "#standalone": true - }, - "nssa-external": { - "#standalone": true - } - } - }, - "ospf3": { - "#text": "match external", - "match": { - "#text": "external", - "internal": { - "#standalone": true - }, - "external": { - "#standalone": true - } - } - }, - "static": { - "#standalone": true - }, - "rip": { - "#standalone": true - }, - "aggregate": { - "#standalone": true - } - } - }, - "router-id": { - "#text": "1.1.1.1", - "1.1.1.1": { - "#standalone": true - } - }, - "bgp": { - "#text": "redistribute-internal", - "convergence": { - "#text": "slow-peer time 90", - "time": { - "#text": "300", - "300": { - "#standalone": true - } - }, - "slow-peer": { - "#text": "time 90", - "time": { - "#text": "90", - "90": { - "#standalone": true - } - } - } - }, - "log-neighbor-changes": { - "#standalone": true - }, - "default": { - "#text": "ipv4-unicast", - "ipv4-unicast": { - "#standalone": true - } - }, - "client-to-client": { - "#text": "reflection", - "reflection": { - "#standalone": true - } - }, - "peer-mac-resolution-timeout": { - "#text": "0", - "0": { - "#standalone": true - } - }, - "enforce-first-as": { - "#standalone": true - }, - "additional-paths": { - "#text": "receive", - "receive": { - "#standalone": true - } - }, - "listen": { - "#text": "limit 1000", - "limit": { - "#text": "1000", - "1000": { - "#standalone": true - } - } - }, - "bestpath": { - "#text": "ecmp-fast", - "as-path": { - "#text": "multipath-relax", - "multipath-relax": { - "#standalone": true - } - }, - "ecmp-fast": { - "#standalone": true - } - }, - "redistribute-internal": { - "#standalone": true - } - }, - "timers": { - "#text": "bgp 60 180", - "bgp": { - "#text": "60 180", - "60": { - "#text": "180", - "180": { - "#standalone": true - } - } - } - }, - "distance": { - "#text": "bgp 200 200 200", - "bgp": { - "#text": "200 200 200", - "200": { - "#text": "200 200", - "200": { - "#text": "200", - "200": { - "#standalone": true - } - } - } - } - }, - "graceful-restart": { - "#text": "stalepath-time 300", - "restart-time": { - "#text": "300", - "300": { - "#standalone": true - } - }, - "stalepath-time": { - "#text": "300", - "300": { - "#standalone": true - } - } - }, - "graceful-restart-helper": { - "#standalone": true - }, - "maximum-paths": { - "#text": "1 ecmp 128", - "1": { - "#text": "ecmp 128", - "ecmp": { - "#text": "128", - "128": { - "#standalone": true - } - } - } - }, - "neighbor": { - "#text": "192.168.0.200 maximum-routes 12000 ", - "192.168.0.200": { - "#text": "maximum-routes 12000 ", - "remote-as": { - "#text": "65100", - "65100": { - "#standalone": true - } - }, - "description": { - "#text": "asdasd qweq asdasd", - "asdasd": { - "#text": "qweq asdasd", - "qweq": { - "#text": "asdasd", - "asdasd": { - "#standalone": true - } - } - } - }, - "send-community": { - "#standalone": true - }, - "remove-private-as": { - "#standalone": true - }, - "soft-reconfiguration": { - "#text": "inbound", - "inbound": { - "#standalone": true - } - }, - "graceful-restart-helper": { - "#standalone": true - }, - "additional-paths": { - "#text": "receive", - "receive": { - "#standalone": true - } - }, - "enforce-first-as": { - "#standalone": true - }, - "maximum-routes": { - "#text": "12000 ", - "12000": { - "#text": "", - "": { - "#standalone": true - } - } - } - } - }, - "address-family": { - "#text": "ipv6", - "ipv4": { - "#text": "no neighbor 192.168.0.200 weight", - "bgp": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { - "#standalone": true - } - } - }, - "no": { - "#text": "neighbor 192.168.0.200 weight", - "bgp": { - "#text": "route install-map", - "route": { - "#text": "install-map", - "install-map": { - "#standalone": true - } - } - }, "neighbor": { - "#text": "192.168.0.200 weight", + "#text": "192.168.0.200 idle-restart-timer", "192.168.0.200": { - "#text": "weight", - "route-map": { - "#text": "out", - "in": { - "#standalone": true - }, - "out": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { "#standalone": true } }, - "default-originate": { + "local-v6-addr": { "#standalone": true }, - "weight": { + "auto-local-addr": { "#standalone": true - } - } - } - }, - "default": { - "#text": "neighbor 192.168.0.200 activate", - "neighbor": { - "#text": "192.168.0.200 activate", - "192.168.0.200": { - "#text": "activate", - "activate": { + }, + "next-hop-v6-addr": { "#standalone": true - } - } - } - }, - "neighbor": { - "#text": "192.168.0.200 additional-paths receive", - "192.168.0.200": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { + }, + "ebgp-multihop": { "#standalone": true - } - } - } - }, - "#standalone": true - }, - "ipv6": { - "#text": "no neighbor 192.168.0.200 weight", - "no": { - "#text": "neighbor 192.168.0.200 weight", - "bgp": { - "#text": "route install-map", - "additional-paths": { - "#text": "install", - "install": { + }, + "route-reflector-client": { "#standalone": true - } - }, - "route": { - "#text": "install-map", - "install-map": { + }, + "timers": { "#standalone": true - } - } - }, - "neighbor": { - "#text": "192.168.0.200 weight", - "192.168.0.200": { - "#text": "weight", + }, "route-map": { "#text": "out", "in": { @@ -2946,6 +3847,9 @@ "#standalone": true } }, + "graceful-restart": { + "#standalone": true + }, "prefix-list": { "#text": "out", "in": { @@ -2955,226 +3859,76 @@ "#standalone": true } }, - "default-originate": { + "password": { "#standalone": true }, - "weight": { + "default-originate": { "#standalone": true - } - } - } - }, - "bgp": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { - "#standalone": true - } - } - }, - "default": { - "#text": "neighbor 192.168.0.200 activate", - "neighbor": { - "#text": "192.168.0.200 activate", - "192.168.0.200": { - "#text": "activate", - "activate": { + }, + "metric-out": { "#standalone": true - } - } - } - }, - "neighbor": { - "#text": "192.168.0.200 additional-paths receive", - "192.168.0.200": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { + }, + "idle-restart-timer": { "#standalone": true } } - } - }, - "#standalone": true - } - }, - "!": { - "#standalone": true - }, - "vrf": { - "#text": "prod", - "devel": { - "#text": "address-family ipv6", - "local-as": { - "#text": "65001", - "65001": { - "#standalone": true - } - }, - "no": { - "#text": "redistribute aggregate", - "shutdown": { - "#standalone": true }, - "bgp": { - "#text": "auto-local-addr", - "confederation": { - "#text": "identifier", - "identifier": { - "#standalone": true - } - }, - "default": { - "#text": "ipv6-unicast", - "ipv4-unicast": { - "#text": "transport ipv6", - "transport": { - "#text": "ipv6", - "ipv6": { - "#standalone": true - } - } - }, - "ipv6-unicast": { - "#standalone": true - } - }, - "cluster-id": { + "redistribute": { + "#text": "aggregate", + "connected": { "#standalone": true }, - "route": { - "#text": "install-map", - "install-map": { - "#standalone": true - } - }, - "transport": { - "#text": "listen-port", - "listen-port": { - "#standalone": true - } - }, - "always-compare-med": { + "isis": { "#standalone": true }, - "bestpath": { - "#text": "tie-break cluster-list-length", - "med": { - "#text": "confed", - "missing-as-worst": { + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { "#standalone": true }, - "confed": { - "#standalone": true - } - }, - "tie-break": { - "#text": "cluster-list-length", - "age": { + "external": { "#standalone": true }, - "router-id": { + "nssa-external": { "#standalone": true - }, - "originator-id": { + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { "#standalone": true }, - "cluster-list-length": { + "external": { "#standalone": true } } }, - "route-reflector": { - "#text": "preserve-attributes", - "preserve-attributes": { - "#standalone": true - } - }, - "additional-paths": { - "#text": "install", - "install": { - "#standalone": true - } - }, - "aspath-cmp-include-nexthop": { + "static": { "#standalone": true }, - "advertise-inactive": { + "rip": { "#standalone": true }, - "auto-local-addr": { - "#standalone": true - } - }, - "update": { - "#text": "wait-install", - "wait-for-convergence": { - "#standalone": true - }, - "wait-install": { - "#standalone": true - } - }, - "graceful-restart": { - "#standalone": true - }, - "default-metric": { - "#standalone": true - }, - "redistribute": { - "#text": "aggregate", - "connected": { - "#standalone": true - }, - "isis": { - "#standalone": true - }, - "ospf": { - "#text": "match nssa-external", - "match": { - "#text": "nssa-external", - "internal": { - "#standalone": true - }, - "external": { - "#standalone": true - }, - "nssa-external": { - "#standalone": true - } - } - }, - "ospf3": { - "#text": "match external", - "match": { - "#text": "external", - "internal": { - "#standalone": true - }, - "external": { - "#standalone": true - } - } - }, - "static": { - "#standalone": true - }, - "rip": { - "#standalone": true - }, - "aggregate": { + "aggregate": { "#standalone": true } } - }, + } + }, + { "router-id": { - "#text": "3.3.3.3", - "3.3.3.3": { + "#text": "1.1.1.1", + "1.1.1.1": { "#standalone": true } - }, + } + }, + { "bgp": { "#text": "redistribute-internal", "convergence": { @@ -3249,136 +4003,86 @@ "redistribute-internal": { "#standalone": true } - }, - "timers": { - "#text": "bgp 60 180", - "bgp": { - "#text": "60 180", - "60": { - "#text": "180", - "180": { + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { "#standalone": true } - } - } - }, - "distance": { - "#text": "bgp 200 200 200", - "bgp": { - "#text": "200 200 200", - "200": { - "#text": "200 200", - "200": { - "#text": "200", - "200": { + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { "#standalone": true } } } - } - }, - "graceful-restart": { - "#text": "stalepath-time 300", - "restart-time": { - "#text": "300", - "300": { + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { "#standalone": true } }, - "stalepath-time": { - "#text": "300", - "300": { + "client-to-client": { + "#text": "reflection", + "reflection": { "#standalone": true } - } - }, - "graceful-restart-helper": { - "#standalone": true - }, - "maximum-paths": { - "#text": "1 ecmp 128", - "1": { - "#text": "ecmp 128", - "ecmp": { - "#text": "128", - "128": { - "#standalone": true - } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true } - } - }, - "address-family": { - "#text": "ipv6", - "ipv4": { - "#text": "no bgp route install-map", - "bgp": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { - "#standalone": true - } - } - }, - "no": { - "#text": "bgp route install-map", - "bgp": { - "#text": "route install-map", - "route": { - "#text": "install-map", - "install-map": { - "#standalone": true - } - } - } - }, + }, + "enforce-first-as": { "#standalone": true }, - "ipv6": { - "#text": "no bgp route install-map", - "no": { - "#text": "bgp route install-map", - "bgp": { - "#text": "route install-map", - "additional-paths": { - "#text": "install", - "install": { - "#standalone": true - } - }, - "route": { - "#text": "install-map", - "install-map": { - "#standalone": true - } - } + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true } - }, - "bgp": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { - "#standalone": true - } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true } }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { "#standalone": true } - }, - "!": { - "#standalone": true - }, - "#standalone": true + } }, - "prod": { - "#text": "address-family ipv6", - "local-as": { - "#text": "65001", - "65001": { - "#standalone": true - } - }, + { "no": { "#text": "redistribute aggregate", "shutdown": { @@ -3452,6 +4156,15 @@ } } }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, "route-reflector": { "#text": "preserve-attributes", "preserve-attributes": { @@ -3490,8 +4203,8 @@ "#standalone": true }, "neighbor": { - "#text": "172.20.0.200 idle-restart-timer", - "172.20.0.200": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { "#text": "idle-restart-timer", "peer-group": { "#standalone": true @@ -3502,9 +4215,6 @@ "export-localpref": { "#standalone": true }, - "description": { - "#standalone": true - }, "next-hop-self": { "#standalone": true }, @@ -3514,16 +4224,13 @@ "allowas-in": { "#standalone": true }, - "send-community": { - "#standalone": true - }, "shutdown": { "#standalone": true }, - "remove-private-as": { + "out-delay": { "#standalone": true }, - "out-delay": { + "local-as": { "#standalone": true }, "weight": { @@ -3648,1195 +4355,191982 @@ "#standalone": true } } - }, - "router-id": { - "#text": "2.2.2.2", - "2.2.2.2": { + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { "#standalone": true - } - }, - "bgp": { - "#text": "redistribute-internal", - "convergence": { - "#text": "slow-peer time 90", - "time": { - "#text": "300", - "300": { + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { "#standalone": true } }, - "slow-peer": { - "#text": "time 90", - "time": { - "#text": "90", - "90": { - "#standalone": true + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } } + }, + "ipv6-unicast": { + "#standalone": true } - } - }, - "log-neighbor-changes": { - "#standalone": true - }, - "default": { - "#text": "ipv4-unicast", - "ipv4-unicast": { - "#standalone": true - } - }, - "client-to-client": { - "#text": "reflection", - "reflection": { - "#standalone": true - } - }, - "peer-mac-resolution-timeout": { - "#text": "0", - "0": { - "#standalone": true - } - }, - "enforce-first-as": { - "#standalone": true - }, - "additional-paths": { - "#text": "receive", - "receive": { + }, + "cluster-id": { "#standalone": true - } - }, - "listen": { - "#text": "limit 1000", - "limit": { - "#text": "1000", - "1000": { + }, + "route": { + "#text": "install-map", + "install-map": { "#standalone": true } - } - }, - "bestpath": { - "#text": "ecmp-fast", - "as-path": { - "#text": "multipath-relax", - "multipath-relax": { + }, + "transport": { + "#text": "listen-port", + "listen-port": { "#standalone": true } }, - "ecmp-fast": { + "always-compare-med": { "#standalone": true - } - }, - "redistribute-internal": { - "#standalone": true - } - }, - "timers": { - "#text": "bgp 60 180", - "bgp": { - "#text": "60 180", - "60": { - "#text": "180", - "180": { - "#standalone": true - } - } - } - }, - "distance": { - "#text": "bgp 200 200 200", - "bgp": { - "#text": "200 200 200", - "200": { - "#text": "200 200", - "200": { - "#text": "200", - "200": { + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { "#standalone": true } - } - } - } - }, - "graceful-restart": { - "#text": "stalepath-time 300", - "restart-time": { - "#text": "300", - "300": { - "#standalone": true - } - }, - "stalepath-time": { - "#text": "300", - "300": { - "#standalone": true - } - } - }, - "graceful-restart-helper": { - "#standalone": true - }, - "maximum-paths": { - "#text": "1 ecmp 128", - "1": { - "#text": "ecmp 128", - "ecmp": { - "#text": "128", - "128": { - "#standalone": true - } - } - } - }, - "neighbor": { - "#text": "172.20.0.200 maximum-routes 12000 ", - "172.20.0.200": { - "#text": "maximum-routes 12000 ", - "remote-as": { - "#text": "65100", - "65100": { - "#standalone": true } }, - "local-as": { - "#text": "100 no-prepend replace-as", - "100": { - "#text": "no-prepend replace-as", - "no-prepend": { - "#text": "replace-as", - "replace-as": { - "#standalone": true - } + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true } } }, - "soft-reconfiguration": { - "#text": "inbound", - "inbound": { + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { "#standalone": true } }, - "graceful-restart-helper": { - "#standalone": true - }, "additional-paths": { - "#text": "receive", - "receive": { + "#text": "install", + "install": { "#standalone": true } }, - "enforce-first-as": { + "aspath-cmp-include-nexthop": { "#standalone": true }, - "maximum-routes": { - "#text": "12000 ", - "12000": { - "#text": "", - "": { - "#standalone": true - } - } + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true } - } - }, - "address-family": { - "#text": "ipv6", - "ipv4": { - "#text": "no neighbor 172.20.0.200 weight", - "bgp": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { - "#standalone": true - } - } - }, - "no": { - "#text": "neighbor 172.20.0.200 weight", - "bgp": { - "#text": "route install-map", - "route": { - "#text": "install-map", - "install-map": { - "#standalone": true - } - } - }, - "neighbor": { - "#text": "172.20.0.200 weight", - "172.20.0.200": { - "#text": "weight", - "route-map": { - "#text": "out", - "in": { - "#standalone": true - }, - "out": { - "#standalone": true - } - }, - "default-originate": { - "#standalone": true - }, - "weight": { - "#standalone": true - } - } - } - }, - "default": { - "#text": "neighbor 172.20.0.200 activate", - "neighbor": { - "#text": "172.20.0.200 activate", - "172.20.0.200": { - "#text": "activate", - "activate": { - "#standalone": true - } - } - } - }, - "neighbor": { - "#text": "172.20.0.200 additional-paths receive", - "172.20.0.200": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { - "#standalone": true - } - } - } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { "#standalone": true }, - "ipv6": { - "#text": "no neighbor 172.20.0.200 weight", - "no": { - "#text": "neighbor 172.20.0.200 weight", - "bgp": { - "#text": "route install-map", - "additional-paths": { - "#text": "install", - "install": { + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { "#standalone": true } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true }, - "route": { - "#text": "install-map", - "install-map": { - "#standalone": true - } + "out": { + "#standalone": true } }, - "neighbor": { - "#text": "172.20.0.200 weight", - "172.20.0.200": { - "#text": "weight", - "route-map": { - "#text": "out", - "in": { - "#standalone": true - }, - "out": { - "#standalone": true - } - }, - "prefix-list": { - "#text": "out", - "in": { - "#standalone": true - }, - "out": { - "#standalone": true - } - }, - "default-originate": { - "#standalone": true - }, - "weight": { - "#standalone": true - } + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true }, - "bgp": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { "#standalone": true } } }, - "default": { - "#text": "neighbor 172.20.0.200 activate", - "neighbor": { - "#text": "172.20.0.200 activate", - "172.20.0.200": { - "#text": "activate", - "activate": { - "#standalone": true - } + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true } } }, - "neighbor": { - "#text": "172.20.0.200 additional-paths receive", - "172.20.0.200": { - "#text": "additional-paths receive", - "additional-paths": { - "#text": "receive", - "receive": { - "#standalone": true - } - } - } + "static": { + "#standalone": true }, - "#standalone": true - } - }, - "!": { - "#standalone": true - }, - "#standalone": true - } - }, - "#standalone": true - } - }, - "multicast": { - "#text": "vrf prod", - "vrf": { - "#text": "prod", - "devel": { - "#text": "ip mfib packet-buffers unresolved max 3", - "no": { - "#text": "ip multicast-routing", - "ip": { - "#text": "multicast-routing", - "multicast-routing": { - "#standalone": true - } - } - }, - "ip": { - "#text": "mfib packet-buffers unresolved max 3", - "multicast": { - "#text": "multipath deterministic", - "multipath": { - "#text": "deterministic", - "deterministic": { + "rip": { "#standalone": true - } - } - }, - "mfib": { - "#text": "packet-buffers unresolved max 3", - "max-fastdrops": { - "#text": "1024", - "1024": { + }, + "aggregate": { "#standalone": true } - }, - "cache-entries": { - "#text": "unresolved max 4000", - "unresolved": { - "#text": "max 4000", - "max": { - "#text": "4000", - "4000": { - "#standalone": true - } - } - } - }, - "packet-buffers": { - "#text": "unresolved max 3", - "unresolved": { - "#text": "max 3", - "max": { - "#text": "3", - "3": { - "#standalone": true - } - } - } } } }, - "#standalone": true - }, - "prod": { - "#text": "ip mfib packet-buffers unresolved max 3", - "no": { - "#text": "ip multicast-routing", - "ip": { - "#text": "multicast-routing", - "multicast-routing": { + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { "#standalone": true - } - } - }, - "ip": { - "#text": "mfib packet-buffers unresolved max 3", - "multicast": { - "#text": "multipath deterministic", - "multipath": { - "#text": "deterministic", - "deterministic": { - "#standalone": true - } - } - }, - "mfib": { - "#text": "packet-buffers unresolved max 3", - "max-fastdrops": { - "#text": "1024", - "1024": { - "#standalone": true - } }, - "cache-entries": { - "#text": "unresolved max 4000", - "unresolved": { - "#text": "max 4000", - "max": { - "#text": "4000", - "4000": { - "#standalone": true - } + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true } - } - }, - "packet-buffers": { - "#text": "unresolved max 3", - "unresolved": { - "#text": "max 3", - "max": { - "#text": "3", - "3": { - "#standalone": true + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } } + }, + "ipv6-unicast": { + "#standalone": true } - } - } - } - }, - "#standalone": true - } - }, - "!": { - "#standalone": true - }, - "#standalone": true - }, - "pim": { - "#text": "bsr", - "sparse-mode": { - "#text": "vrf prod", - "vrf": { - "#text": "prod", - "devel": { - "#text": "no ip pim register-source", - "ip": { - "#text": "pim spt-threshold 0", - "pim": { - "#text": "spt-threshold 0", - "log-neighbor-changes": { + }, + "cluster-id": { "#standalone": true }, - "sparse-mode": { - "#text": "sg-expiry-timer 210", - "sg-expiry-timer": { - "#text": "210", - "210": { - "#standalone": true - } + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true } }, - "spt-threshold": { - "#text": "0", - "0": { + "transport": { + "#text": "listen-port", + "listen-port": { "#standalone": true } - } - } - }, - "no": { - "#text": "ip pim register-source", - "ip": { - "#text": "pim register-source", - "pim": { - "#text": "register-source", - "ssm": { - "#text": "range", - "range": { + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { "#standalone": true } }, - "rp-candidate": { - "#standalone": true - }, - "register-source": { - "#standalone": true + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } } - } - } - }, - "#standalone": true - }, - "prod": { - "#text": "no ip pim register-source", - "ip": { - "#text": "pim spt-threshold 0", - "pim": { - "#text": "spt-threshold 0", - "log-neighbor-changes": { - "#standalone": true }, - "sparse-mode": { - "#text": "sg-expiry-timer 210", - "sg-expiry-timer": { - "#text": "210", - "210": { + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { "#standalone": true } } }, - "spt-threshold": { - "#text": "0", - "0": { + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { "#standalone": true } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true } - } - }, - "no": { - "#text": "ip pim register-source", - "ip": { - "#text": "pim register-source", - "pim": { - "#text": "register-source", - "ssm": { - "#text": "range", - "range": { + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { "#standalone": true } }, - "rp-candidate": { + "local-v6-addr": { "#standalone": true }, - "register-source": { + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { "#standalone": true } } - } - }, - "#standalone": true - } - }, - "!": { - "#standalone": true - }, - "#standalone": true - }, - "bidirectional": { - "#text": "vrf prod", - "ip": { - "#text": "pim group-expiry-timer 210", - "pim": { - "#text": "group-expiry-timer 210", - "log-neighbor-changes": { - "#standalone": true - }, - "group-expiry-timer": { - "#text": "210", - "210": { - "#standalone": true - } - } - } - }, - "no": { - "#text": "ip pim rp-candidate", - "ip": { - "#text": "pim rp-candidate", - "pim": { - "#text": "rp-candidate", - "rp-candidate": { - "#standalone": true - } - } - } - }, - "vrf": { - "#text": "prod", - "devel": { - "#text": "no ip pim rp-candidate", - "ip": { - "#text": "pim group-expiry-timer 210", - "pim": { - "#text": "group-expiry-timer 210", - "log-neighbor-changes": { + }, + "redistribute": { + "#text": "aggregate", + "connected": { "#standalone": true }, - "group-expiry-timer": { - "#text": "210", - "210": { - "#standalone": true + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true } } - }, - "no": { - "#text": "ip pim rp-candidate", - "ip": { - "#text": "pim rp-candidate", - "pim": { - "#text": "rp-candidate", - "rp-candidate": { + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { "#standalone": true } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } } - } - }, - "#standalone": true - }, - "prod": { - "#text": "no ip pim rp-candidate", - "ip": { - "#text": "pim group-expiry-timer 210", - "pim": { - "#text": "group-expiry-timer 210", - "log-neighbor-changes": { + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { "#standalone": true - }, - "group-expiry-timer": { - "#text": "210", - "210": { + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { "#standalone": true } } - } - }, - "no": { - "#text": "ip pim rp-candidate", - "ip": { - "#text": "pim rp-candidate", - "pim": { - "#text": "rp-candidate", - "rp-candidate": { + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { "#standalone": true } + }, + "ecmp-fast": { + "#standalone": true } + }, + "redistribute-internal": { + "#standalone": true } - }, - "#standalone": true - } - }, - "!": { - "#standalone": true - }, - "#standalone": true - }, - "bsr": { - "#text": "vrf prod", - "vrf": { - "#text": "prod", - "devel": { - "#text": "no ip pim bsr rp-candidate advertisement-filter", - "no": { - "#text": "ip pim bsr rp-candidate advertisement-filter", - "ip": { - "#text": "pim bsr rp-candidate advertisement-filter", - "pim": { - "#text": "bsr rp-candidate advertisement-filter", - "bsr-holdtime": { + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { "#standalone": true - }, - "bsr-sztimeout": { + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { "#standalone": true - }, - "bsr-candidate": { + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { "#standalone": true - }, - "bsr": { - "#text": "rp-candidate advertisement-filter", - "rp-candidate": { - "#text": "advertisement-filter", - "advertisement-filter": { - "#standalone": true - } - } } + }, + "ecmp-fast": { + "#standalone": true } + }, + "redistribute-internal": { + "#standalone": true } - }, - "#standalone": true + } }, - "prod": { - "#text": "no ip pim bsr rp-candidate advertisement-filter", + { "no": { - "#text": "ip pim bsr rp-candidate advertisement-filter", - "ip": { - "#text": "pim bsr rp-candidate advertisement-filter", - "pim": { - "#text": "bsr rp-candidate advertisement-filter", - "bsr-holdtime": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } }, - "bsr-sztimeout": { + "ipv6-unicast": { "#standalone": true - }, - "bsr-candidate": { + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } }, - "bsr": { - "#text": "rp-candidate advertisement-filter", - "rp-candidate": { - "#text": "advertisement-filter", - "advertisement-filter": { - "#standalone": true - } + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true } } - } - } - }, - "#standalone": true - } - }, - "!": { - "#standalone": true + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + } + }, + { + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 192.168.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 192.168.0.200 weight", + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 192.168.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 192.168.0.200 weight", + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + }, + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "router-id": { + "#text": "3.3.3.3", + "3.3.3.3": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + } + }, + { + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "address-family ipv6", + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + }, + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + }, + "router-id": { + "#text": "3.3.3.3", + "3.3.3.3": { + "#standalone": true + } + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "router-id": { + "#text": "2.2.2.2", + "2.2.2.2": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + } + }, + { + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "address-family ipv6", + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + }, + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + }, + "router-id": { + "#text": "2.2.2.2", + "2.2.2.2": { + "#standalone": true + } + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + } + } + }, + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "router-id": { + "#text": "3.3.3.3", + "3.3.3.3": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + } + }, + { + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "address-family ipv6", + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + }, + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + }, + "router-id": { + "#text": "3.3.3.3", + "3.3.3.3": { + "#standalone": true + } + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "router-id": { + "#text": "2.2.2.2", + "2.2.2.2": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + } + }, + { + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "address-family ipv6", + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + }, + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + }, + "router-id": { + "#text": "2.2.2.2", + "2.2.2.2": { + "#standalone": true + } + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + } + } + } + ], + "#text": "vrf prod", + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "host-routes": { + "#text": "fib direct-install", + "fib": { + "#text": "direct-install", + "direct-install": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "192.168.0.200 idle-restart-timer", + "192.168.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "local-as": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + }, + "router-id": { + "#text": "1.1.1.1", + "1.1.1.1": { + "#standalone": true + } + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "192.168.0.200 maximum-routes 12000 ", + "192.168.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "description": { + "#text": "asdasd qweq asdasd", + "asdasd": { + "#text": "qweq asdasd", + "qweq": { + "#text": "asdasd", + "asdasd": { + "#standalone": true + } + } + } + }, + "send-community": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 192.168.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 192.168.0.200 weight", + "no": { + "#text": "neighbor 192.168.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "192.168.0.200 weight", + "192.168.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 192.168.0.200 activate", + "neighbor": { + "#text": "192.168.0.200 activate", + "192.168.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "192.168.0.200 additional-paths receive", + "192.168.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "router-id": { + "#text": "3.3.3.3", + "3.3.3.3": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + } + }, + { + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "address-family ipv6", + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + }, + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + }, + "router-id": { + "#text": "3.3.3.3", + "3.3.3.3": { + "#standalone": true + } + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no bgp route install-map", + "no": { + "#text": "bgp route install-map", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "router-id": { + "#text": "2.2.2.2", + "2.2.2.2": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + } + }, + { + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + } + }, + { + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + }, + { + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "address-family ipv6", + "local-as": { + "#text": "65001", + "65001": { + "#standalone": true + } + }, + "no": { + "#text": "redistribute aggregate", + "shutdown": { + "#standalone": true + }, + "bgp": { + "#text": "auto-local-addr", + "confederation": { + "#text": "identifier", + "identifier": { + "#standalone": true + } + }, + "default": { + "#text": "ipv6-unicast", + "ipv4-unicast": { + "#text": "transport ipv6", + "transport": { + "#text": "ipv6", + "ipv6": { + "#standalone": true + } + } + }, + "ipv6-unicast": { + "#standalone": true + } + }, + "cluster-id": { + "#standalone": true + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + }, + "transport": { + "#text": "listen-port", + "listen-port": { + "#standalone": true + } + }, + "always-compare-med": { + "#standalone": true + }, + "bestpath": { + "#text": "tie-break cluster-list-length", + "med": { + "#text": "confed", + "missing-as-worst": { + "#standalone": true + }, + "confed": { + "#standalone": true + } + }, + "tie-break": { + "#text": "cluster-list-length", + "age": { + "#standalone": true + }, + "router-id": { + "#standalone": true + }, + "originator-id": { + "#standalone": true + }, + "cluster-list-length": { + "#standalone": true + } + } + }, + "route-reflector": { + "#text": "preserve-attributes", + "preserve-attributes": { + "#standalone": true + } + }, + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "aspath-cmp-include-nexthop": { + "#standalone": true + }, + "advertise-inactive": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + } + }, + "update": { + "#text": "wait-install", + "wait-for-convergence": { + "#standalone": true + }, + "wait-install": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "default-metric": { + "#standalone": true + }, + "neighbor": { + "#text": "172.20.0.200 idle-restart-timer", + "172.20.0.200": { + "#text": "idle-restart-timer", + "peer-group": { + "#standalone": true + }, + "import-localpref": { + "#standalone": true + }, + "export-localpref": { + "#standalone": true + }, + "description": { + "#standalone": true + }, + "next-hop-self": { + "#standalone": true + }, + "next-hop-peer": { + "#standalone": true + }, + "allowas-in": { + "#standalone": true + }, + "send-community": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "remove-private-as": { + "#standalone": true + }, + "out-delay": { + "#standalone": true + }, + "weight": { + "#standalone": true + }, + "transport": { + "#text": "connection-mode passive", + "connection-mode": { + "#text": "passive", + "passive": { + "#standalone": true + } + } + }, + "update-source": { + "#standalone": true + }, + "dont-capability-negotiate": { + "#standalone": true + }, + "fall-over": { + "#text": "bfd", + "bfd": { + "#standalone": true + } + }, + "local-v6-addr": { + "#standalone": true + }, + "auto-local-addr": { + "#standalone": true + }, + "next-hop-v6-addr": { + "#standalone": true + }, + "ebgp-multihop": { + "#standalone": true + }, + "route-reflector-client": { + "#standalone": true + }, + "timers": { + "#standalone": true + }, + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "graceful-restart": { + "#standalone": true + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "password": { + "#standalone": true + }, + "default-originate": { + "#standalone": true + }, + "metric-out": { + "#standalone": true + }, + "idle-restart-timer": { + "#standalone": true + } + } + }, + "redistribute": { + "#text": "aggregate", + "connected": { + "#standalone": true + }, + "isis": { + "#standalone": true + }, + "ospf": { + "#text": "match nssa-external", + "match": { + "#text": "nssa-external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + }, + "nssa-external": { + "#standalone": true + } + } + }, + "ospf3": { + "#text": "match external", + "match": { + "#text": "external", + "internal": { + "#standalone": true + }, + "external": { + "#standalone": true + } + } + }, + "static": { + "#standalone": true + }, + "rip": { + "#standalone": true + }, + "aggregate": { + "#standalone": true + } + } + }, + "router-id": { + "#text": "2.2.2.2", + "2.2.2.2": { + "#standalone": true + } + }, + "bgp": { + "#text": "redistribute-internal", + "convergence": { + "#text": "slow-peer time 90", + "time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "slow-peer": { + "#text": "time 90", + "time": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + }, + "log-neighbor-changes": { + "#standalone": true + }, + "default": { + "#text": "ipv4-unicast", + "ipv4-unicast": { + "#standalone": true + } + }, + "client-to-client": { + "#text": "reflection", + "reflection": { + "#standalone": true + } + }, + "peer-mac-resolution-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "listen": { + "#text": "limit 1000", + "limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "bestpath": { + "#text": "ecmp-fast", + "as-path": { + "#text": "multipath-relax", + "multipath-relax": { + "#standalone": true + } + }, + "ecmp-fast": { + "#standalone": true + } + }, + "redistribute-internal": { + "#standalone": true + } + }, + "timers": { + "#text": "bgp 60 180", + "bgp": { + "#text": "60 180", + "60": { + "#text": "180", + "180": { + "#standalone": true + } + } + } + }, + "distance": { + "#text": "bgp 200 200 200", + "bgp": { + "#text": "200 200 200", + "200": { + "#text": "200 200", + "200": { + "#text": "200", + "200": { + "#standalone": true + } + } + } + } + }, + "graceful-restart": { + "#text": "stalepath-time 300", + "restart-time": { + "#text": "300", + "300": { + "#standalone": true + } + }, + "stalepath-time": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "maximum-paths": { + "#text": "1 ecmp 128", + "1": { + "#text": "ecmp 128", + "ecmp": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 maximum-routes 12000 ", + "172.20.0.200": { + "#text": "maximum-routes 12000 ", + "remote-as": { + "#text": "65100", + "65100": { + "#standalone": true + } + }, + "local-as": { + "#text": "100 no-prepend replace-as", + "100": { + "#text": "no-prepend replace-as", + "no-prepend": { + "#text": "replace-as", + "replace-as": { + "#standalone": true + } + } + } + }, + "soft-reconfiguration": { + "#text": "inbound", + "inbound": { + "#standalone": true + } + }, + "graceful-restart-helper": { + "#standalone": true + }, + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + }, + "enforce-first-as": { + "#standalone": true + }, + "maximum-routes": { + "#text": "12000 ", + "12000": { + "#text": "", + "": { + "#standalone": true + } + } + } + } + }, + "address-family": { + "#text": "ipv6", + "ipv4": { + "#list": [ + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "ipv6": { + "#list": [ + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + }, + { + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no neighbor 172.20.0.200 weight", + "no": { + "#text": "neighbor 172.20.0.200 weight", + "bgp": { + "#text": "route install-map", + "additional-paths": { + "#text": "install", + "install": { + "#standalone": true + } + }, + "route": { + "#text": "install-map", + "install-map": { + "#standalone": true + } + } + }, + "neighbor": { + "#text": "172.20.0.200 weight", + "172.20.0.200": { + "#text": "weight", + "route-map": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "prefix-list": { + "#text": "out", + "in": { + "#standalone": true + }, + "out": { + "#standalone": true + } + }, + "default-originate": { + "#standalone": true + }, + "weight": { + "#standalone": true + } + } + } + }, + "bgp": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + }, + "default": { + "#text": "neighbor 172.20.0.200 activate", + "neighbor": { + "#text": "172.20.0.200 activate", + "172.20.0.200": { + "#text": "activate", + "activate": { + "#standalone": true + } + } + } + }, + "neighbor": { + "#text": "172.20.0.200 additional-paths receive", + "172.20.0.200": { + "#text": "additional-paths receive", + "additional-paths": { + "#text": "receive", + "receive": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + } + }, + "#standalone": true + } + }, + "multicast": { + "#list": [ + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "ip mfib packet-buffers unresolved max 3", + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + }, + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "ip mfib packet-buffers unresolved max 3", + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + }, + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + } + } + }, + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "ip mfib packet-buffers unresolved max 3", + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + }, + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "ip mfib packet-buffers unresolved max 3", + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + }, + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "vrf prod", + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "ip mfib packet-buffers unresolved max 3", + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + }, + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "ip mfib packet-buffers unresolved max 3", + "no": { + "#text": "ip multicast-routing", + "ip": { + "#text": "multicast-routing", + "multicast-routing": { + "#standalone": true + } + } + }, + "ip": { + "#text": "mfib packet-buffers unresolved max 3", + "multicast": { + "#text": "multipath deterministic", + "multipath": { + "#text": "deterministic", + "deterministic": { + "#standalone": true + } + } + }, + "mfib": { + "#text": "packet-buffers unresolved max 3", + "max-fastdrops": { + "#text": "1024", + "1024": { + "#standalone": true + } + }, + "cache-entries": { + "#text": "unresolved max 4000", + "unresolved": { + "#text": "max 4000", + "max": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + }, + "packet-buffers": { + "#text": "unresolved max 3", + "unresolved": { + "#text": "max 3", + "max": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + }, + "pim": { + "#text": "bsr", + "sparse-mode": { + "#list": [ + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim register-source", + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim register-source", + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + }, + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim register-source", + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim register-source", + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "vrf prod", + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim register-source", + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim register-source", + "ip": { + "#text": "pim spt-threshold 0", + "pim": { + "#text": "spt-threshold 0", + "log-neighbor-changes": { + "#standalone": true + }, + "sparse-mode": { + "#text": "sg-expiry-timer 210", + "sg-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + }, + "spt-threshold": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim register-source", + "ip": { + "#text": "pim register-source", + "pim": { + "#text": "register-source", + "ssm": { + "#text": "range", + "range": { + "#standalone": true + } + }, + "rp-candidate": { + "#standalone": true + }, + "register-source": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + }, + "bidirectional": { + "#list": [ + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + } + }, + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim rp-candidate", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim rp-candidate", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + }, + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim rp-candidate", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim rp-candidate", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "vrf prod", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + }, + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim rp-candidate", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + } + } + ], + "#text": "no ip pim rp-candidate", + "ip": { + "#text": "pim group-expiry-timer 210", + "pim": { + "#text": "group-expiry-timer 210", + "log-neighbor-changes": { + "#standalone": true + }, + "group-expiry-timer": { + "#text": "210", + "210": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "ip pim rp-candidate", + "ip": { + "#text": "pim rp-candidate", + "pim": { + "#text": "rp-candidate", + "rp-candidate": { + "#standalone": true + } + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + }, + "bsr": { + "#list": [ + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "no ip pim bsr rp-candidate advertisement-filter", + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "no ip pim bsr rp-candidate advertisement-filter", + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + } + } + }, + { + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "no ip pim bsr rp-candidate advertisement-filter", + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "no ip pim bsr rp-candidate advertisement-filter", + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + } + } + } + ], + "#text": "vrf prod", + "vrf": { + "#text": "prod", + "devel": { + "#list": [ + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "no ip pim bsr rp-candidate advertisement-filter", + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "no ip pim bsr rp-candidate advertisement-filter", + "no": { + "#text": "ip pim bsr rp-candidate advertisement-filter", + "ip": { + "#text": "pim bsr rp-candidate advertisement-filter", + "pim": { + "#text": "bsr rp-candidate advertisement-filter", + "bsr-holdtime": { + "#standalone": true + }, + "bsr-sztimeout": { + "#standalone": true + }, + "bsr-candidate": { + "#standalone": true + }, + "bsr": { + "#text": "rp-candidate advertisement-filter", + "rp-candidate": { + "#text": "advertisement-filter", + "advertisement-filter": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "#standalone": true + } + } + }, + "sflow": { + "#text": "extension router", + "sample": { + "#text": "output interface", + "1048576": { + "#standalone": true + }, + "output": { + "#text": "interface", + "interface": { + "#standalone": true + } + } + }, + "polling-interval": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "extension": { + "#text": "router", + "switch": { + "#standalone": true + }, + "router": { + "#standalone": true + } + } + }, + "snmp-server": { + "#text": "vrf default", + "vrf": { + "#text": "default", + "default": { + "#standalone": true + } + } + }, + "spanning-tree": { + "#text": "mst configuration", + "mode": { + "#text": "mstp", + "mstp": { + "#standalone": true + } + }, + "hello-time": { + "#text": "2000", + "2000": { + "#standalone": true + } + }, + "max-age": { + "#text": "20", + "20": { + "#standalone": true + } + }, + "forward-time": { + "#text": "15", + "15": { + "#standalone": true + } + }, + "transmit": { + "#text": "hold-count 6", + "hold-count": { + "#text": "6", + "6": { + "#standalone": true + } + } + }, + "max-hops": { + "#text": "20", + "20": { + "#standalone": true + } + }, + "bridge": { + "#text": "assurance", + "assurance": { + "#standalone": true + } + }, + "bpduguard": { + "#text": "rate-limit default", + "rate-limit": { + "#text": "default", + "default": { + "#standalone": true + } + } + }, + "mst": { + "#text": "configuration", + "0": { + "#text": "priority 32768", + "priority": { + "#text": "32768", + "32768": { + "#standalone": true + } + } + }, + "configuration": { + "#list": [ + { + "no": { + "#text": "name", + "name": { + "#standalone": true + } + } + }, + { + "revision": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + ], + "#text": "revision 0", + "no": { + "#text": "name", + "name": { + "#standalone": true + } + }, + "revision": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "#standalone": true + } + } + }, + "tacacs-server": { + "#text": "timeout 5", + "timeout": { + "#text": "5", + "5": { + "#standalone": true + } + } + }, + "aaa": { + "#text": "root secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", + "authentication": { + "#text": "enable default local", + "login": { + "#text": "default local", + "default": { + "#text": "local", + "local": { + "#standalone": true + } + } + }, + "enable": { + "#text": "default local", + "default": { + "#text": "local", + "local": { + "#standalone": true + } + } + } + }, + "authorization": { + "#text": "config-commands", + "exec": { + "#text": "default local", + "default": { + "#text": "local", + "local": { + "#standalone": true + } + } + }, + "config-commands": { + "#standalone": true + } + }, + "root": { + "#text": "secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", + "secret": { + "#text": "5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", + "5": { + "#text": "$1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", + "$1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.": { + "#standalone": true + } + } + } + } + }, + "username": { + "#text": "vagrant privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "admin": { + "#text": "privilege 15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "privilege": { + "#text": "15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "15": { + "#text": "role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "role": { + "#text": "network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "network-admin": { + "#text": "secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "secret": { + "#text": "5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "5": { + "#text": "$1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", + "$1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1": { + "#standalone": true + } + } + } + } + } + } + } + }, + "vagrant": { + "#text": "privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "privilege": { + "#text": "15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "15": { + "#text": "role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "role": { + "#text": "network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "network-admin": { + "#text": "secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "secret": { + "#text": "5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "5": { + "#text": "$1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", + "$1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0": { + "#standalone": true + } + } + } + } + } + } + } + } + }, + "role": { + "#text": "network-operator", + "network-admin": { + "#list": [ + { + "10": { + "#text": "permit command .*", + "permit": { + "#text": "command .*", + "command": { + "#text": ".*", + ".*": { + "#standalone": true + } + } + } + } + } + ], + "#text": "10 permit command .*", + "10": { + "#text": "permit command .*", + "permit": { + "#text": "command .*", + "command": { + "#text": ".*", + ".*": { + "#standalone": true + } + } + } + }, + "#standalone": true + }, + "network-operator": { + "#list": [ + { + "10": { + "#text": "deny mode exec command configure|bash|python-shell|\\|", + "deny": { + "#text": "mode exec command configure|bash|python-shell|\\|", + "mode": { + "#text": "exec command configure|bash|python-shell|\\|", + "exec": { + "#text": "command configure|bash|python-shell|\\|", + "command": { + "#text": "configure|bash|python-shell|\\|", + "configure|bash|python-shell|\\|": { + "#standalone": true + } + } + } + } + } + } + }, + { + "20": { + "#text": "permit mode exec command .*", + "permit": { + "#text": "mode exec command .*", + "mode": { + "#text": "exec command .*", + "exec": { + "#text": "command .*", + "command": { + "#text": ".*", + ".*": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "20 permit mode exec command .*", + "10": { + "#text": "deny mode exec command configure|bash|python-shell|\\|", + "deny": { + "#text": "mode exec command configure|bash|python-shell|\\|", + "mode": { + "#text": "exec command configure|bash|python-shell|\\|", + "exec": { + "#text": "command configure|bash|python-shell|\\|", + "command": { + "#text": "configure|bash|python-shell|\\|", + "configure|bash|python-shell|\\|": { + "#standalone": true + } + } + } + } + } + }, + "20": { + "#text": "permit mode exec command .*", + "permit": { + "#text": "mode exec command .*", + "mode": { + "#text": "exec command .*", + "exec": { + "#text": "command .*", + "command": { + "#text": ".*", + ".*": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + } + }, + "tap": { + "#text": "aggregation", + "aggregation": { + "#list": [ + { + "no": { + "#text": "service-policy type tapagg mac access-list match ip", + "mode": { + "#standalone": true + }, + "service-policy": { + "#text": "type tapagg mac access-list match ip", + "type": { + "#text": "tapagg mac access-list match ip", + "tapagg": { + "#text": "mac access-list match ip", + "mac": { + "#text": "access-list match ip", + "access-list": { + "#text": "match ip", + "match": { + "#text": "ip", + "ip": { + "#standalone": true + } + } + } + } + } + } + } + } + }, + { + "no": { + "#text": "service-policy type tapagg mac access-list match ip", + "mode": { + "#standalone": true + }, + "service-policy": { + "#text": "type tapagg mac access-list match ip", + "type": { + "#text": "tapagg mac access-list match ip", + "tapagg": { + "#text": "mac access-list match ip", + "mac": { + "#text": "access-list match ip", + "access-list": { + "#text": "match ip", + "match": { + "#text": "ip", + "ip": { + "#standalone": true + } + } + } + } + } + } + } + } + } + ], + "#text": "no service-policy type tapagg mac access-list match ip", + "no": { + "#text": "service-policy type tapagg mac access-list match ip", + "mode": { + "#standalone": true + }, + "service-policy": { + "#text": "type tapagg mac access-list match ip", + "type": { + "#text": "tapagg mac access-list match ip", + "tapagg": { + "#text": "mac access-list match ip", + "mac": { + "#text": "access-list match ip", + "access-list": { + "#text": "match ip", + "match": { + "#text": "ip", + "ip": { + "#standalone": true + } + } + } + } + } + } + } + }, + "#standalone": true + } + }, + "environment": { + "#text": "fan-speed auto", + "overheat": { + "#text": "action shutdown", + "action": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + }, + "insufficient-fans": { + "#text": "action shutdown", + "action": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + }, + "fan-speed": { + "#text": "auto", + "auto": { + "#standalone": true + } + } + }, + "clock": { + "#text": "timezone UTC", + "timezone": { + "#text": "UTC", + "UTC": { + "#standalone": true + } + } + }, + "vrf": { + "#text": "definition prod", + "definition": { + "#text": "prod", + "devel": { + "#list": [ + { + "rd": { + "#text": "1:2", + "1:2": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "description", + "description": { + "#standalone": true + } + } + } + ], + "#text": "no description", + "rd": { + "#text": "1:2", + "1:2": { + "#standalone": true + } + }, + "no": { + "#text": "description", + "description": { + "#standalone": true + } + }, + "#standalone": true + }, + "prod": { + "#list": [ + { + "rd": { + "#text": "1:1", + "1:1": { + "#standalone": true + } + } + }, + { + "description": { + "#text": "Production VRF", + "Production": { + "#text": "VRF", + "VRF": { + "#standalone": true + } + } + } + } + ], + "#text": "description Production VRF", + "rd": { + "#text": "1:1", + "1:1": { + "#standalone": true + } + }, + "description": { + "#text": "Production VRF", + "Production": { + "#text": "VRF", + "VRF": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + "interface": { + "#text": "Management1", + "Port-Channel1": { + "#list": [ + { + "description": { + "#text": "blah", + "blah": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "mtu": { + "#text": "9000", + "9000": { + "#standalone": true + } + } + }, + { + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + } + }, + { + "switchport": { + "#text": "dot1q ethertype 0x8100", + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "port-channel": { + "#text": "lacp fallback timeout 90", + "lacp": { + "#text": "fallback timeout 90", + "fallback": { + "#text": "timeout 90", + "timeout": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + } + }, + { + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + } + } + ], + "#text": "sflow enable", + "description": { + "#text": "blah", + "blah": { + "#standalone": true + } + }, + "no": { + "#text": "shape rate", + "shutdown": { + "#standalone": true + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "per-link", + "echo": { + "#standalone": true + }, + "per-link": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "port-channel": { + "#text": "lacp fallback", + "min-links": { + "#standalone": true + }, + "lacp": { + "#text": "fallback", + "fallback": { + "#standalone": true + } + } + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "mlag": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + }, + "mtu": { + "#text": "9000", + "9000": { + "#standalone": true + } + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + }, + "switchport": { + "#text": "dot1q ethertype 0x8100", + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1", + "relay": { + "#text": "information option circuit-id Port-Channel1", + "information": { + "#text": "option circuit-id Port-Channel1", + "option": { + "#text": "circuit-id Port-Channel1", + "circuit-id": { + "#text": "Port-Channel1", + "Port-Channel1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + }, + "port-channel": { + "#text": "lacp fallback timeout 90", + "lacp": { + "#text": "fallback timeout 90", + "fallback": { + "#text": "timeout 90", + "timeout": { + "#text": "90", + "90": { + "#standalone": true + } + } + } + } + }, + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + }, + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + }, + "#standalone": true + }, + "Port-Channel1.1": { + "#list": [ + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + } + }, + { + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + } + } + ], + "#text": "sflow enable", + "no": { + "#text": "shape rate", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + "ip": { + "#text": "pim dr-priority 1", + "dhcp": { + "#text": "relay information option circuit-id Port-Channel1.1", + "relay": { + "#text": "information option circuit-id Port-Channel1.1", + "information": { + "#text": "option circuit-id Port-Channel1.1", + "option": { + "#text": "circuit-id Port-Channel1.1", + "circuit-id": { + "#text": "Port-Channel1.1", + "Port-Channel1.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + }, + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + }, + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + }, + "#standalone": true + }, + "Ethernet1": { + "#list": [ + { + "description": { + "#text": "This is a description", + "This": { + "#text": "is a description", + "is": { + "#text": "a description", + "a": { + "#text": "description", + "description": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "logging": { + "#text": "event spanning-tree use-global", + "event": { + "#text": "spanning-tree use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + } + }, + { + "dcbx": { + "#text": "mode ieee", + "mode": { + "#text": "ieee", + "ieee": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "switchport": { + "#text": "mac address learning", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + } + } + }, + { + "switchport": { + "#text": "mac address learning", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + } + } + }, + { + "switchport": { + "#text": "mac address learning", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "switchport": { + "#text": "mac address learning", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + } + } + }, + { + "switchport": { + "#text": "mac address learning", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "switchport": { + "#text": "mac address learning", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + } + }, + { + "channel-group": { + "#text": "1 mode active", + "1": { + "#text": "mode active", + "mode": { + "#text": "active", + "active": { + "#standalone": true + } + } + } + } + }, + { + "lacp": { + "#text": "port-priority 32768", + "rate": { + "#text": "normal", + "normal": { + "#standalone": true + } + }, + "port-priority": { + "#text": "32768", + "32768": { + "#standalone": true + } + } + } + }, + { + "lacp": { + "#text": "port-priority 32768", + "rate": { + "#text": "normal", + "normal": { + "#standalone": true + } + }, + "port-priority": { + "#text": "32768", + "32768": { + "#standalone": true + } + } + } + }, + { + "lldp": { + "#text": "receive", + "transmit": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + } + }, + { + "lldp": { + "#text": "receive", + "transmit": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "switchport": { + "#standalone": true, + "#text": "tool allowed vlan 1-4094", + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + } + }, + { + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "spanning-tree": { + "#text": "port-priority 128", + "portfast": { + "#text": "auto", + "auto": { + "#standalone": true + } + }, + "port-priority": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "spanning-tree": { + "#text": "port-priority 128", + "portfast": { + "#text": "auto", + "auto": { + "#standalone": true + } + }, + "port-priority": { + "#text": "128", + "128": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "logging": { + "#text": "event spanning-tree use-global", + "event": { + "#text": "spanning-tree use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + } + }, + { + "switchport": { + "#standalone": true, + "#text": "tool allowed vlan 1-4094", + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "switchport": { + "#standalone": true, + "#text": "tool allowed vlan 1-4094", + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + } + } + }, + { + "switchport": { + "#standalone": true, + "#text": "tool allowed vlan 1-4094", + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + } + } + ], + "#text": "no switchport tool dot1q remove outer", + "description": { + "#text": "This is a description", + "This": { + "#text": "is a description", + "is": { + "#text": "a description", + "a": { + "#text": "description", + "description": { + "#standalone": true + } + } + } + } + }, + "no": { + "#text": "switchport tool dot1q remove outer", + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "tool dot1q remove outer", + "asym": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + }, + "trunk": { + "#text": "private-vlan secondary", + "private-vlan": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "private-vlan": { + "#text": "mapping", + "mapping": { + "#standalone": true + } + }, + "port-security": { + "#standalone": true + }, + "tap": { + "#text": "default interface", + "identity": { + "#standalone": true + }, + "mpls": { + "#text": "pop all", + "pop": { + "#text": "all", + "all": { + "#standalone": true + } + } + }, + "truncation": { + "#standalone": true + }, + "default": { + "#text": "interface", + "group": { + "#standalone": true + }, + "interface": { + "#standalone": true + } + } + }, + "tool": { + "#text": "dot1q remove outer", + "identity": { + "#standalone": true + }, + "truncation": { + "#standalone": true + }, + "group": { + "#standalone": true + }, + "dot1q": { + "#text": "remove outer", + "remove": { + "#text": "outer", + "outer": { + "#standalone": true + } + } + } + } + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "bpduguard rate-limit", + "portfast": { + "#standalone": true + }, + "link-type": { + "#standalone": true + }, + "bpduguard": { + "#standalone": true, + "#text": "rate-limit", + "rate-limit": { + "#standalone": true + } + }, + "bpdufilter": { + "#standalone": true + }, + "cost": { + "#standalone": true + }, + "guard": { + "#standalone": true + } + } + }, + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + }, + "logging": { + "#text": "event spanning-tree use-global", + "event": { + "#text": "spanning-tree use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + }, + "dcbx": { + "#text": "mode ieee", + "mode": { + "#text": "ieee", + "ieee": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true, + "#text": "tool allowed vlan 1-4094", + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + }, + "channel-group": { + "#text": "1 mode active", + "1": { + "#text": "mode active", + "mode": { + "#text": "active", + "active": { + "#standalone": true + } + } + } + }, + "lacp": { + "#text": "port-priority 32768", + "rate": { + "#text": "normal", + "normal": { + "#standalone": true + } + }, + "port-priority": { + "#text": "32768", + "32768": { + "#standalone": true + } + } + }, + "lldp": { + "#text": "receive", + "transmit": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + }, + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + }, + "spanning-tree": { + "#text": "port-priority 128", + "portfast": { + "#text": "auto", + "auto": { + "#standalone": true + } + }, + "port-priority": { + "#text": "128", + "128": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "Ethernet2": { + "#list": [ + { + "description": { + "#text": "so much oc", + "so": { + "#text": "much oc", + "much": { + "#text": "oc", + "oc": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "mtu": { + "#text": "1500", + "1500": { + "#standalone": true + } + } + }, + { + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "switchport": { + "#text": "dot1q ethertype 0x8100", + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "lacp": { + "#text": "port-priority 32768", + "rate": { + "#text": "normal", + "normal": { + "#standalone": true + } + }, + "port-priority": { + "#text": "32768", + "32768": { + "#standalone": true + } + } + } + }, + { + "lacp": { + "#text": "port-priority 32768", + "rate": { + "#text": "normal", + "normal": { + "#standalone": true + } + }, + "port-priority": { + "#text": "32768", + "32768": { + "#standalone": true + } + } + } + }, + { + "lldp": { + "#text": "receive", + "transmit": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + } + }, + { + "lldp": { + "#text": "receive", + "transmit": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + } + }, + { + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + } + }, + { + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + } + }, + { + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + } + } + ], + "#text": "sflow enable", + "description": { + "#text": "so much oc", + "so": { + "#text": "much oc", + "much": { + "#text": "oc", + "oc": { + "#standalone": true + } + } + } + }, + "shutdown": { + "#standalone": true + }, + "default": { + "#text": "qos trust", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, + "encapsulation": { + "#text": "dot1q vlan", + "dot1q": { + "#text": "vlan", + "vlan": { + "#standalone": true + } + } + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + }, + "qos": { + "#text": "trust", + "trust": { + "#standalone": true + } + } + }, + "mtu": { + "#text": "1500", + "1500": { + "#standalone": true + } + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + }, + "no": { + "#text": "shape rate", + "dcbx": { + "#text": "mode", + "mode": { + "#standalone": true + } + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "switchport": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + }, + "channel-group": { + "#standalone": true + }, + "msrp": { + "#standalone": true + }, + "mvrp": { + "#standalone": true + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "switchport": { + "#text": "dot1q ethertype 0x8100", + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + }, + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.0.1/24", + "192.168.0.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2", + "relay": { + "#text": "information option circuit-id Ethernet2", + "information": { + "#text": "option circuit-id Ethernet2", + "option": { + "#text": "circuit-id Ethernet2", + "circuit-id": { + "#text": "Ethernet2", + "Ethernet2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + }, + "lacp": { + "#text": "port-priority 32768", + "rate": { + "#text": "normal", + "normal": { + "#standalone": true + } + }, + "port-priority": { + "#text": "32768", + "32768": { + "#standalone": true + } + } + }, + "lldp": { + "#text": "receive", + "transmit": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "qos": { + "#text": "dscp 2", + "cos": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "dscp": { + "#text": "2", + "2": { + "#standalone": true + } + } + }, + "mc-tx-queue": { + "#text": "3", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "!": { + "#standalone": true + }, + "uc-tx-queue": { + "#text": "7", + "0": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "1": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "2": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "3": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "4": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "5": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "6": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "7": { + "#list": [ + { + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + } + } + ], + "#text": "no bandwidth guaranteed", + "priority": { + "#text": "strict", + "strict": { + "#standalone": true + } + }, + "no": { + "#text": "bandwidth guaranteed", + "bandwidth": { + "#text": "guaranteed", + "percent": { + "#standalone": true + }, + "guaranteed": { + "#standalone": true + } + }, + "shape": { + "#text": "rate", + "rate": { + "#standalone": true + } + } + }, + "#standalone": true + } + }, + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + }, + "#standalone": true + }, + "Ethernet2.1": { + "#list": [ + { + "description": { + "#text": "another subiface", + "another": { + "#text": "subiface", + "subiface": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + } + }, + { + "encapsulation": { + "#text": "dot1q vlan 1", + "dot1q": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + } + }, + { + "vrf": { + "#text": "forwarding prod", + "forwarding": { + "#text": "prod", + "prod": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + } + } + ], + "#text": "sflow enable", + "description": { + "#text": "another subiface", + "another": { + "#text": "subiface", + "subiface": { + "#standalone": true + } + } + }, + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + }, + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + }, + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + }, + "encapsulation": { + "#text": "dot1q vlan 1", + "dot1q": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + }, + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + }, + "vrf": { + "#text": "forwarding prod", + "forwarding": { + "#text": "prod", + "prod": { + "#standalone": true + } + } + }, + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "172.20.0.1/24 secondary", + "192.168.1.1/24": { + "#standalone": true + }, + "172.20.0.1/24": { + "#text": "secondary", + "secondary": { + "#standalone": true + } + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.1", + "relay": { + "#text": "information option circuit-id Ethernet2.1", + "information": { + "#text": "option circuit-id Ethernet2.1", + "option": { + "#text": "circuit-id Ethernet2.1", + "circuit-id": { + "#text": "Ethernet2.1", + "Ethernet2.1": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + }, + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + }, + "#standalone": true + }, + "Ethernet2.2": { + "#list": [ + { + "description": { + "#text": "asdasdasd", + "asdasdasd": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + } + }, + { + "encapsulation": { + "#text": "dot1q vlan 2", + "dot1q": { + "#text": "vlan 2", + "vlan": { + "#text": "2", + "2": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + } + }, + { + "vrf": { + "#text": "forwarding devel", + "forwarding": { + "#text": "devel", + "devel": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } }, - "#standalone": true - } - } - }, - "sflow": { - "#text": "extension router", - "sample": { - "#text": "output interface", - "1048576": { - "#standalone": true - }, - "output": { - "#text": "interface", - "interface": { - "#standalone": true - } - } - }, - "polling-interval": { - "#text": "2", - "2": { - "#standalone": true - } - }, - "extension": { - "#text": "router", - "switch": { - "#standalone": true - }, - "router": { - "#standalone": true - } - } - }, - "snmp-server": { - "#text": "vrf default", - "vrf": { - "#text": "default", - "default": { - "#standalone": true - } - } - }, - "spanning-tree": { - "#text": "mst configuration", - "mode": { - "#text": "mstp", - "mstp": { - "#standalone": true - } - }, - "hello-time": { - "#text": "2000", - "2000": { - "#standalone": true - } - }, - "max-age": { - "#text": "20", - "20": { - "#standalone": true - } - }, - "forward-time": { - "#text": "15", - "15": { - "#standalone": true - } - }, - "transmit": { - "#text": "hold-count 6", - "hold-count": { - "#text": "6", - "6": { - "#standalone": true - } - } - }, - "max-hops": { - "#text": "20", - "20": { - "#standalone": true - } - }, - "bridge": { - "#text": "assurance", - "assurance": { - "#standalone": true - } - }, - "bpduguard": { - "#text": "rate-limit default", - "rate-limit": { - "#text": "default", - "default": { - "#standalone": true - } - } - }, - "mst": { - "#text": "configuration", - "0": { - "#text": "priority 32768", - "priority": { - "#text": "32768", - "32768": { - "#standalone": true + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } } - } - }, - "configuration": { - "#text": "revision 0", - "no": { - "#text": "name", - "name": { - "#standalone": true + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } } }, - "revision": { - "#text": "0", - "0": { - "#standalone": true + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } } }, - "#standalone": true - } - } - }, - "tacacs-server": { - "#text": "timeout 5", - "timeout": { - "#text": "5", - "5": { - "#standalone": true - } - } - }, - "aaa": { - "#text": "root secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", - "authentication": { - "#text": "enable default local", - "login": { - "#text": "default local", - "default": { - "#text": "local", - "local": { - "#standalone": true + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } + } } - } - }, - "enable": { - "#text": "default local", - "default": { - "#text": "local", - "local": { - "#standalone": true + }, + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } } - } - } - }, - "authorization": { - "#text": "config-commands", - "exec": { - "#text": "default local", - "default": { - "#text": "local", - "local": { - "#standalone": true + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } } - } - }, - "config-commands": { - "#standalone": true - } - }, - "root": { - "#text": "secret 5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", - "secret": { - "#text": "5 $1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", - "5": { - "#text": "$1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.", - "$1$1s8ATte8$cvMSZw6BlLGJVo61p88cP.": { - "#standalone": true + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } } - } - } - } - }, - "username": { - "#text": "vagrant privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", - "admin": { - "#text": "privilege 15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", - "privilege": { - "#text": "15 role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", - "15": { - "#text": "role network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", - "role": { - "#text": "network-admin secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", - "network-admin": { - "#text": "secret 5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", - "secret": { - "#text": "5 $1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", - "5": { - "#text": "$1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1", - "$1$.YDuXLVw$anXUh5Qs1e85922oCJPnB1": { + }, + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { "#standalone": true } } } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { + "#standalone": true + } + } } } - } - } - }, - "vagrant": { - "#text": "privilege 15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", - "privilege": { - "#text": "15 role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", - "15": { - "#text": "role network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", - "role": { - "#text": "network-admin secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", - "network-admin": { - "#text": "secret 5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", - "secret": { - "#text": "5 $1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", - "5": { - "#text": "$1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0", - "$1$0lN8iim9$cRtwRrvn3ZvLLgevUeq/b0": { + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { "#standalone": true } } } - } - } - } - } - } - }, - "role": { - "#text": "network-operator", - "network-admin": { - "#text": "10 permit command .*", - "10": { - "#text": "permit command .*", - "permit": { - "#text": "command .*", - "command": { - "#text": ".*", - ".*": { - "#standalone": true - } - } - } - }, - "#standalone": true - }, - "network-operator": { - "#text": "20 permit mode exec command .*", - "10": { - "#text": "deny mode exec command configure|bash|python-shell|\\|", - "deny": { - "#text": "mode exec command configure|bash|python-shell|\\|", - "mode": { - "#text": "exec command configure|bash|python-shell|\\|", - "exec": { - "#text": "command configure|bash|python-shell|\\|", - "command": { - "#text": "configure|bash|python-shell|\\|", - "configure|bash|python-shell|\\|": { + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { "#standalone": true } } } } - } - }, - "20": { - "#text": "permit mode exec command .*", - "permit": { - "#text": "mode exec command .*", - "mode": { - "#text": "exec command .*", - "exec": { - "#text": "command .*", - "command": { - "#text": ".*", - ".*": { + }, + { + "ip": { + "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, + "dhcp": { + "#text": "relay information option circuit-id Ethernet2.2", + "relay": { + "#text": "information option circuit-id Ethernet2.2", + "information": { + "#text": "option circuit-id Ethernet2.2", + "option": { + "#text": "circuit-id Ethernet2.2", + "circuit-id": { + "#text": "Ethernet2.2", + "Ethernet2.2": { + "#standalone": true + } + } + } + } + } + }, + "igmp": { + "#text": "router-alert optional connected", + "version": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "last-member-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "last-member-query-interval": { + "#text": "10", + "10": { + "#standalone": true + } + }, + "query-max-response-time": { + "#text": "100", + "100": { + "#standalone": true + } + }, + "query-interval": { + "#text": "125", + "125": { + "#standalone": true + } + }, + "startup-query-count": { + "#text": "2", + "2": { + "#standalone": true + } + }, + "startup-query-interval": { + "#text": "310", + "310": { + "#standalone": true + } + }, + "router-alert": { + "#text": "optional connected", + "optional": { + "#text": "connected", + "connected": { + "#standalone": true + } + } + } + }, + "mfib": { + "#text": "fastdrop", + "fastdrop": { + "#standalone": true + } + }, + "pim": { + "#text": "dr-priority 1", + "query-interval": { + "#text": "30", + "30": { + "#standalone": true + } + }, + "join-prune-interval": { + "#text": "60", + "60": { + "#standalone": true + } + }, + "dr-priority": { + "#text": "1", + "1": { "#standalone": true } } } } - } - }, - "#standalone": true - } - }, - "tap": { - "#text": "aggregation", - "aggregation": { - "#text": "no service-policy type tapagg mac access-list match ip", - "no": { - "#text": "service-policy type tapagg mac access-list match ip", - "mode": { - "#standalone": true }, - "service-policy": { - "#text": "type tapagg mac access-list match ip", - "type": { - "#text": "tapagg mac access-list match ip", - "tapagg": { - "#text": "mac access-list match ip", - "mac": { - "#text": "access-list match ip", - "access-list": { - "#text": "match ip", - "match": { - "#text": "ip", - "ip": { + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { "#standalone": true } } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true } } } } - } - }, - "#standalone": true - } - }, - "environment": { - "#text": "fan-speed auto", - "overheat": { - "#text": "action shutdown", - "action": { - "#text": "shutdown", - "shutdown": { - "#standalone": true - } - } - }, - "insufficient-fans": { - "#text": "action shutdown", - "action": { - "#text": "shutdown", - "shutdown": { - "#standalone": true - } - } - }, - "fan-speed": { - "#text": "auto", - "auto": { - "#standalone": true - } - } - }, - "clock": { - "#text": "timezone UTC", - "timezone": { - "#text": "UTC", - "UTC": { - "#standalone": true - } - } - }, - "vrf": { - "#text": "definition prod", - "definition": { - "#text": "prod", - "devel": { - "#text": "no description", - "rd": { - "#text": "1:2", - "1:2": { - "#standalone": true - } }, - "no": { - "#text": "description", - "description": { - "#standalone": true + { + "default": { + "#text": "ip pim bfd-instance", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bfd-instance", + "dhcp": { + "#text": "smart-relay", + "smart-relay": { + "#standalone": true + } + }, + "pim": { + "#text": "bfd-instance", + "bfd-instance": { + "#standalone": true + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } } }, - "#standalone": true - }, - "prod": { - "#text": "description Production VRF", - "rd": { - "#text": "1:1", - "1:1": { - "#standalone": true + { + "no": { + "#text": "ip pim bsr-border", + "shutdown": { + "#standalone": true + }, + "l2-protocol": { + "#text": "encapsulation dot1q vlan 0", + "encapsulation": { + "#text": "dot1q vlan 0", + "dot1q": { + "#text": "vlan 0", + "vlan": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + } + }, + "ip": { + "#text": "pim bsr-border", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "helper-address": { + "#standalone": true + }, + "igmp": { + "#standalone": true, + "#text": "host-proxy", + "host-proxy": { + "#standalone": true + } + }, + "multicast": { + "#text": "static", + "static": { + "#standalone": true + } + }, + "pim": { + "#text": "bsr-border", + "sparse-mode": { + "#standalone": true + }, + "bidirectional": { + "#standalone": true + }, + "border-router": { + "#standalone": true + }, + "neighbor-filter": { + "#standalone": true + }, + "bsr-border": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "dhcp": { + "#text": "relay destination", + "relay": { + "#text": "destination", + "destination": { + "#standalone": true + } + } + }, + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } } }, - "description": { - "#text": "Production VRF", - "Production": { - "#text": "VRF", - "VRF": { + { + "sflow": { + "#text": "enable", + "enable": { "#standalone": true } } - }, - "#standalone": true - } - } - }, - "interface": { - "#text": "Management1", - "Port-Channel1": { + } + ], "#text": "sflow enable", "description": { - "#text": "blah", - "blah": { + "#text": "asdasdasd", + "asdasdasd": { "#standalone": true } }, "no": { - "#text": "shape rate", + "#text": "ip pim bsr-border", "shutdown": { "#standalone": true }, - "switchport": { - "#standalone": true - }, "l2-protocol": { "#text": "encapsulation dot1q vlan 0", "encapsulation": { @@ -4860,9 +196354,6 @@ "local-proxy-arp": { "#standalone": true }, - "address": { - "#standalone": true - }, "verify": { "#text": "unicast", "unicast": { @@ -4905,12 +196396,9 @@ } }, "bfd": { - "#text": "per-link", + "#text": "echo", "echo": { "#standalone": true - }, - "per-link": { - "#standalone": true } }, "ipv6": { @@ -4952,54 +196440,18 @@ }, "managed-config-flag": { "#standalone": true - }, - "other-config-flag": { - "#standalone": true - } - } - }, - "port-channel": { - "#text": "lacp fallback", - "min-links": { - "#standalone": true - }, - "lacp": { - "#text": "fallback", - "fallback": { - "#standalone": true + }, + "other-config-flag": { + "#standalone": true } } - }, - "l2": { - "#text": "mtu", - "mtu": { - "#standalone": true - } - }, - "mlag": { - "#standalone": true - }, - "shape": { - "#text": "rate", - "rate": { - "#standalone": true - } } }, "default": { - "#text": "qos trust", + "#text": "ip pim bfd-instance", "load-interval": { "#standalone": true }, - "encapsulation": { - "#text": "dot1q vlan", - "dot1q": { - "#text": "vlan", - "vlan": { - "#standalone": true - } - } - }, "arp": { "#text": "timeout 14400", "timeout": { @@ -5044,18 +196496,6 @@ "serve": { "#standalone": true } - }, - "qos": { - "#text": "trust", - "trust": { - "#standalone": true - } - } - }, - "mtu": { - "#text": "9000", - "9000": { - "#standalone": true } }, "logging": { @@ -5070,13 +196510,13 @@ } } }, - "switchport": { - "#text": "dot1q ethertype 0x8100", + "encapsulation": { + "#text": "dot1q vlan 2", "dot1q": { - "#text": "ethertype 0x8100", - "ethertype": { - "#text": "0x8100", - "0x8100": { + "#text": "vlan 2", + "vlan": { + "#text": "2", + "2": { "#standalone": true } } @@ -5091,40 +196531,34 @@ } } }, - "bfd": { - "#text": "interval 300 min_rx 300 multiplier 3", - "interval": { - "#text": "300 min_rx 300 multiplier 3", - "300": { - "#text": "min_rx 300 multiplier 3", - "min_rx": { - "#text": "300 multiplier 3", - "300": { - "#text": "multiplier 3", - "multiplier": { - "#text": "3", - "3": { - "#standalone": true - } - } - } - } + "vrf": { + "#text": "forwarding devel", + "forwarding": { + "#text": "devel", + "devel": { + "#standalone": true } } }, "ip": { "#text": "pim dr-priority 1", + "address": { + "#text": "192.168.2.1/24", + "192.168.2.1/24": { + "#standalone": true + } + }, "dhcp": { - "#text": "relay information option circuit-id Port-Channel1", + "#text": "relay information option circuit-id Ethernet2.2", "relay": { - "#text": "information option circuit-id Port-Channel1", + "#text": "information option circuit-id Ethernet2.2", "information": { - "#text": "option circuit-id Port-Channel1", + "#text": "option circuit-id Ethernet2.2", "option": { - "#text": "circuit-id Port-Channel1", + "#text": "circuit-id Ethernet2.2", "circuit-id": { - "#text": "Port-Channel1", - "Port-Channel1": { + "#text": "Ethernet2.2", + "Ethernet2.2": { "#standalone": true } } @@ -5214,6 +196648,27 @@ } } }, + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + }, "ipv6": { "#text": "nd ra hop-limit 64", "nd": { @@ -5274,428 +196729,1571 @@ } } }, - "port-channel": { - "#text": "lacp fallback timeout 90", - "lacp": { - "#text": "fallback timeout 90", - "fallback": { - "#text": "timeout 90", - "timeout": { - "#text": "90", - "90": { + "sflow": { + "#text": "enable", + "enable": { + "#standalone": true + } + }, + "#standalone": true + }, + "Loopback1": { + "#list": [ + { + "description": { + "#text": "a loopback", + "a": { + "#text": "loopback", + "loopback": { "#standalone": true } } } - } - }, - "qos": { - "#text": "dscp 2", - "cos": { - "#text": "5", - "5": { - "#standalone": true + }, + { + "no": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } } }, - "dscp": { - "#text": "2", - "2": { - "#standalone": true + { + "default": { + "#text": "ntp serve", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } } - } - }, - "mc-tx-queue": { - "#text": "3", - "0": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + { + "mtu": { + "#text": "1500", + "1500": { "#standalone": true } - }, + } + }, + { + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + } + }, + { + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { + "#standalone": true + } + } + } + }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ntp serve", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "ntp serve", + "load-interval": { + "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": { + "#standalone": true + } + } + } + }, + { + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } + } + } + }, + { + "no": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } } - }, - "#standalone": true + } }, - "1": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "2": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "3": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } - } - }, - "#standalone": true - } - }, - "!": { - "#standalone": true - }, - "uc-tx-queue": { - "#text": "7", - "0": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { "#standalone": true }, - "guaranteed": { + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } - }, - "shape": { - "#text": "rate", - "rate": { - "#standalone": true + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "1": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } } - }, + } + }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } } - }, - "#standalone": true + } }, - "2": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "3": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "shutdown": { + "#standalone": true + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } - } - }, - "#standalone": true - }, - "4": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { "#standalone": true }, - "guaranteed": { + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "suppress": { + "#standalone": true + }, + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } - }, - "shape": { - "#text": "rate", - "rate": { - "#standalone": true + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "5": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } + } + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } }, - "guaranteed": { - "#standalone": true - } - }, - "shape": { - "#text": "rate", - "rate": { - "#standalone": true + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "6": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } }, - "guaranteed": { - "#standalone": true - } - }, - "shape": { - "#text": "rate", - "rate": { - "#standalone": true + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "7": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + { + "default": { + "#text": "ntp serve", + "load-interval": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { - "#standalone": true + }, + "arp": { + "#text": "timeout 14400", + "timeout": { + "#text": "14400", + "14400": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "ipv6": { + "#text": "nd cache expire 14400", + "nd": { + "#text": "cache expire 14400", + "cache": { + "#text": "expire 14400", + "expire": { + "#text": "14400", + "14400": { + "#standalone": true + } + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": { "#standalone": true } } - }, - "#standalone": true + } } - }, - "sflow": { - "#text": "enable", - "enable": { - "#standalone": true + ], + "#text": "default ntp serve", + "description": { + "#text": "a loopback", + "a": { + "#text": "loopback", + "loopback": { + "#standalone": true + } } }, - "#standalone": true - }, - "Port-Channel1.1": { - "#text": "sflow enable", "no": { - "#text": "shape rate", - "description": { - "#standalone": true - }, + "#text": "ipv6 nd other-config-flag", "shutdown": { "#standalone": true }, - "encapsulation": { - "#text": "dot1q vlan 0", - "dot1q": { - "#text": "vlan 0", - "vlan": { - "#text": "0", - "0": { - "#standalone": true - } - } - } - }, - "l2-protocol": { - "#text": "encapsulation dot1q vlan 0", - "encapsulation": { - "#text": "dot1q vlan 0", - "dot1q": { - "#text": "vlan 0", - "vlan": { - "#text": "0", - "0": { - "#standalone": true - } - } - } - } - }, "ip": { - "#text": "pim bsr-border", + "#text": "verify unicast", "proxy-arp": { "#standalone": true }, @@ -5710,40 +198308,6 @@ "unicast": { "#standalone": true } - }, - "helper-address": { - "#standalone": true - }, - "igmp": { - "#standalone": true, - "#text": "host-proxy", - "host-proxy": { - "#standalone": true - } - }, - "multicast": { - "#text": "static", - "static": { - "#standalone": true - } - }, - "pim": { - "#text": "bsr-border", - "sparse-mode": { - "#standalone": true - }, - "bidirectional": { - "#standalone": true - }, - "border-router": { - "#standalone": true - }, - "neighbor-filter": { - "#standalone": true - }, - "bsr-border": { - "#standalone": true - } } }, "bfd": { @@ -5754,15 +198318,6 @@ }, "ipv6": { "#text": "nd other-config-flag", - "dhcp": { - "#text": "relay destination", - "relay": { - "#text": "destination", - "destination": { - "#standalone": true - } - } - }, "enable": { "#standalone": true }, @@ -5796,16 +198351,10 @@ "#standalone": true } } - }, - "shape": { - "#text": "rate", - "rate": { - "#standalone": true - } } }, "default": { - "#text": "qos trust", + "#text": "ntp serve", "load-interval": { "#standalone": true }, @@ -5833,32 +198382,17 @@ } } }, - "ip": { - "#text": "pim bfd-instance", - "dhcp": { - "#text": "smart-relay", - "smart-relay": { - "#standalone": true - } - }, - "pim": { - "#text": "bfd-instance", - "bfd-instance": { - "#standalone": true - } - } - }, "ntp": { "#text": "serve", "serve": { "#standalone": true } - }, - "qos": { - "#text": "trust", - "trust": { - "#standalone": true - } + } + }, + "mtu": { + "#text": "1500", + "1500": { + "#standalone": true } }, "logging": { @@ -5903,108 +198437,6 @@ } } }, - "ip": { - "#text": "pim dr-priority 1", - "dhcp": { - "#text": "relay information option circuit-id Port-Channel1.1", - "relay": { - "#text": "information option circuit-id Port-Channel1.1", - "information": { - "#text": "option circuit-id Port-Channel1.1", - "option": { - "#text": "circuit-id Port-Channel1.1", - "circuit-id": { - "#text": "Port-Channel1.1", - "Port-Channel1.1": { - "#standalone": true - } - } - } - } - } - }, - "igmp": { - "#text": "router-alert optional connected", - "version": { - "#text": "3", - "3": { - "#standalone": true - } - }, - "last-member-query-count": { - "#text": "2", - "2": { - "#standalone": true - } - }, - "last-member-query-interval": { - "#text": "10", - "10": { - "#standalone": true - } - }, - "query-max-response-time": { - "#text": "100", - "100": { - "#standalone": true - } - }, - "query-interval": { - "#text": "125", - "125": { - "#standalone": true - } - }, - "startup-query-count": { - "#text": "2", - "2": { - "#standalone": true - } - }, - "startup-query-interval": { - "#text": "310", - "310": { - "#standalone": true - } - }, - "router-alert": { - "#text": "optional connected", - "optional": { - "#text": "connected", - "connected": { - "#standalone": true - } - } - } - }, - "mfib": { - "#text": "fastdrop", - "fastdrop": { - "#standalone": true - } - }, - "pim": { - "#text": "dr-priority 1", - "query-interval": { - "#text": "30", - "30": { - "#standalone": true - } - }, - "join-prune-interval": { - "#text": "60", - "60": { - "#standalone": true - } - }, - "dr-priority": { - "#text": "1", - "1": { - "#standalone": true - } - } - } - }, "ipv6": { "#text": "nd ra hop-limit 64", "nd": { @@ -6065,2874 +198497,3334 @@ } } }, - "qos": { - "#text": "dscp 2", - "cos": { - "#text": "5", - "5": { - "#standalone": true - } - }, - "dscp": { - "#text": "2", - "2": { - "#standalone": true - } - } - }, - "mc-tx-queue": { - "#text": "3", - "0": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + "#standalone": true + }, + "Management1": { + "#list": [ + { + "no": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } } - }, + } + }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } + } + } + }, + { + "default": { + "#text": "ntp serve", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "arp": { + "#text": "timeout 300", + "timeout": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 300", + "nd": { + "#text": "cache expire 300", + "cache": { + "#text": "expire 300", + "expire": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": { "#standalone": true } } - }, - "#standalone": true + } }, - "1": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + { + "mtu": { + "#text": "1500", + "1500": { "#standalone": true } - }, + } + }, + { + "logging": { + "#text": "event link-status use-global", + "event": { + "#text": "link-status use-global", + "link-status": { + "#text": "use-global", + "use-global": { + "#standalone": true + } + } + } + } + }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "2": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { - "#standalone": true - } }, - "shape": { - "#text": "rate", - "rate": { + "l2": { + "#text": "mtu", + "mtu": { "#standalone": true } - } - }, - "#standalone": true - }, - "3": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "traffic-loopback": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } - } - }, - "#standalone": true - } - }, - "!": { - "#standalone": true - }, - "uc-tx-queue": { - "#text": "7", - "0": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { "#standalone": true }, - "guaranteed": { - "#standalone": true - } - }, - "shape": { - "#text": "rate", - "rate": { + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "1": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "2": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { - "#standalone": true - } }, - "shape": { - "#text": "rate", - "rate": { + "l2": { + "#text": "mtu", + "mtu": { "#standalone": true } - } - }, - "#standalone": true - }, - "3": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "traffic-loopback": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } - } - }, - "#standalone": true - }, - "4": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { "#standalone": true }, - "guaranteed": { - "#standalone": true - } - }, - "shape": { - "#text": "rate", - "rate": { + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "5": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "6": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { - "#standalone": true - } }, - "shape": { - "#text": "rate", - "rate": { + "l2": { + "#text": "mtu", + "mtu": { "#standalone": true } - } - }, - "#standalone": true - }, - "7": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "traffic-loopback": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } - } - }, - "#standalone": true - } - }, - "sflow": { - "#text": "enable", - "enable": { - "#standalone": true - } - }, - "#standalone": true - }, - "Ethernet1": { - "#text": "no switchport tool dot1q remove outer", - "description": { - "#text": "This is a description", - "This": { - "#text": "is a description", - "is": { - "#text": "a description", - "a": { - "#text": "description", - "description": { + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } } - } - }, - "no": { - "#text": "switchport tool dot1q remove outer", - "shutdown": { - "#standalone": true - }, - "mac-address": { - "#standalone": true - }, - "link-debounce": { - "#standalone": true - }, - "flowcontrol": { - "#text": "receive", - "send": { - "#standalone": true - }, - "receive": { - "#standalone": true - } - }, - "mac": { - "#text": "timestamp", - "timestamp": { - "#standalone": true - } - }, - "speed": { - "#standalone": true - }, - "l2": { - "#text": "mtu", - "mtu": { - "#standalone": true - } }, - "traffic-loopback": { - "#standalone": true - }, - "error-correction": { - "#text": "reed-solomon bypass", - "reed-solomon": { - "#text": "bypass", - "bypass": { + { + "no": { + "#text": "ipv6 nd other-config-flag", + "description": { "#standalone": true - } - } - }, - "switchport": { - "#text": "tool dot1q remove outer", - "asym": { - "#text": "vlan", - "vlan": { + }, + "shutdown": { "#standalone": true - } - }, - "trunk": { - "#text": "private-vlan secondary", - "private-vlan": { - "#text": "secondary", - "secondary": { + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { "#standalone": true } - } - }, - "private-vlan": { - "#text": "mapping", - "mapping": { + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { "#standalone": true - } - }, - "port-security": { - "#standalone": true - }, - "tap": { - "#text": "default interface", - "identity": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { "#standalone": true }, - "mpls": { - "#text": "pop all", - "pop": { - "#text": "all", - "all": { + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { "#standalone": true } } + } + } + }, + { + "no": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true }, - "truncation": { + "shutdown": { "#standalone": true }, - "default": { - "#text": "interface", - "group": { + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "interface": { + "receive": { "#standalone": true } - } - }, - "tool": { - "#text": "dot1q remove outer", - "identity": { - "#standalone": true }, - "truncation": { + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { "#standalone": true }, - "group": { + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { "#standalone": true }, - "dot1q": { - "#text": "remove outer", - "remove": { - "#text": "outer", - "outer": { + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { "#standalone": true } } - } - } - }, - "l2-protocol": { - "#text": "encapsulation dot1q vlan 0", - "encapsulation": { - "#text": "dot1q vlan 0", - "dot1q": { - "#text": "vlan 0", - "vlan": { - "#text": "0", - "0": { + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { "#standalone": true } } } } }, - "msrp": { - "#standalone": true - }, - "mvrp": { - "#standalone": true - }, - "shape": { - "#text": "rate", - "rate": { - "#standalone": true - } - }, - "spanning-tree": { - "#text": "bpduguard rate-limit", - "portfast": { - "#standalone": true - }, - "link-type": { - "#standalone": true - }, - "bpduguard": { - "#standalone": true, - "#text": "rate-limit", - "rate-limit": { - "#standalone": true - } - }, - "bpdufilter": { - "#standalone": true - }, - "cost": { - "#standalone": true - }, - "guard": { - "#standalone": true - } - } - }, - "default": { - "#text": "qos trust", - "load-interval": { - "#standalone": true - }, - "logging": { - "#text": "event congestion-drops", - "event": { - "#text": "congestion-drops", - "congestion-drops": { - "#standalone": true - } - } - }, - "unidirectional": { - "#standalone": true - }, - "error-correction": { - "#text": "encoding", - "encoding": { - "#standalone": true - } - }, - "encapsulation": { - "#text": "dot1q vlan", - "dot1q": { - "#text": "vlan", - "vlan": { + { + "no": { + "#text": "ipv6 nd other-config-flag", + "description": { "#standalone": true - } - } - }, - "qos": { - "#text": "trust", - "trust": { - "#standalone": true - } - } - }, - "logging": { - "#text": "event spanning-tree use-global", - "event": { - "#text": "spanning-tree use-global", - "link-status": { - "#text": "use-global", - "use-global": { + }, + "shutdown": { "#standalone": true - } - }, - "spanning-tree": { - "#text": "use-global", - "use-global": { + }, + "mac-address": { "#standalone": true - } - } - } - }, - "dcbx": { - "#text": "mode ieee", - "mode": { - "#text": "ieee", - "ieee": { - "#standalone": true - } - } - }, - "switchport": { - "#standalone": true, - "#text": "tool allowed vlan 1-4094", - "port-security": { - "#text": "maximum 1", - "maximum": { - "#text": "1", - "1": { + }, + "link-debounce": { "#standalone": true - } - } - }, - "tap": { - "#text": "allowed vlan 1-4094", - "native": { - "#text": "vlan 1", - "vlan": { - "#text": "1", - "1": { + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true - } - } - }, - "allowed": { - "#text": "vlan 1-4094", - "vlan": { - "#text": "1-4094", - "1-4094": { + }, + "receive": { "#standalone": true } - } - } - }, - "tool": { - "#text": "allowed vlan 1-4094", - "allowed": { - "#text": "vlan 1-4094", - "vlan": { - "#text": "1-4094", - "1-4094": { + }, + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - } - } - }, - "snmp": { - "#text": "trap link-status", - "trap": { - "#text": "link-status", - "link-status": { - "#standalone": true - } - } - }, - "channel-group": { - "#text": "1 mode active", - "1": { - "#text": "mode active", - "mode": { - "#text": "active", - "active": { + }, + "speed": { "#standalone": true - } - } - } - }, - "lacp": { - "#text": "port-priority 32768", - "rate": { - "#text": "normal", - "normal": { - "#standalone": true - } - }, - "port-priority": { - "#text": "32768", - "32768": { - "#standalone": true - } - } - }, - "lldp": { - "#text": "receive", - "transmit": { - "#standalone": true - }, - "receive": { - "#standalone": true - } - }, - "qos": { - "#text": "dscp 2", - "cos": { - "#text": "5", - "5": { - "#standalone": true - } - }, - "dscp": { - "#text": "2", - "2": { - "#standalone": true - } - } - }, - "mc-tx-queue": { - "#text": "3", - "0": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "1": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "2": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "3": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + { + "default": { + "#text": "ntp serve", + "load-interval": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "arp": { + "#text": "timeout 300", + "timeout": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 300", + "nd": { + "#text": "cache expire 300", + "cache": { + "#text": "expire 300", + "expire": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": { "#standalone": true } } - }, - "#standalone": true - } - }, - "!": { - "#standalone": true - }, - "uc-tx-queue": { - "#text": "7", - "0": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + } + }, + { + "default": { + "#text": "ntp serve", + "load-interval": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "arp": { + "#text": "timeout 300", + "timeout": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 300", + "nd": { + "#text": "cache expire 300", + "cache": { + "#text": "expire 300", + "expire": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": { "#standalone": true } } - }, - "#standalone": true + } }, - "1": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "2": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "3": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + { + "default": { + "#text": "ntp serve", + "load-interval": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "arp": { + "#text": "timeout 300", + "timeout": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 300", + "nd": { + "#text": "cache expire 300", + "cache": { + "#text": "expire 300", + "expire": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": { "#standalone": true } } - }, - "#standalone": true + } }, - "4": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "5": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } - } - }, - "#standalone": true - }, - "6": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { "#standalone": true }, - "guaranteed": { + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } - }, - "shape": { - "#text": "rate", - "rate": { + } + } + }, + { + "snmp": { + "#text": "trap link-status", + "trap": { + "#text": "link-status", + "link-status": { "#standalone": true } } - }, - "#standalone": true + } }, - "7": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - } - }, - "sflow": { - "#text": "enable", - "enable": { - "#standalone": true - } - }, - "spanning-tree": { - "#text": "port-priority 128", - "portfast": { - "#text": "auto", - "auto": { - "#standalone": true - } - }, - "port-priority": { - "#text": "128", - "128": { - "#standalone": true - } - } - }, - "#standalone": true - }, - "Ethernet2": { - "#text": "sflow enable", - "description": { - "#text": "so much oc", - "so": { - "#text": "much oc", - "much": { - "#text": "oc", - "oc": { - "#standalone": true - } - } - } - }, - "shutdown": { - "#standalone": true - }, - "default": { - "#text": "qos trust", - "load-interval": { - "#standalone": true - }, - "logging": { - "#text": "event congestion-drops", - "event": { - "#text": "congestion-drops", - "congestion-drops": { - "#standalone": true - } - } - }, - "unidirectional": { - "#standalone": true - }, - "error-correction": { - "#text": "encoding", - "encoding": { - "#standalone": true - } - }, - "encapsulation": { - "#text": "dot1q vlan", - "dot1q": { - "#text": "vlan", - "vlan": { + }, + "speed": { "#standalone": true - } - } - }, - "arp": { - "#text": "timeout 14400", - "timeout": { - "#text": "14400", - "14400": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { "#standalone": true - } - } - }, - "ipv6": { - "#text": "nd cache expire 14400", - "nd": { - "#text": "cache expire 14400", - "cache": { - "#text": "expire 14400", - "expire": { - "#text": "14400", - "14400": { + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { "#standalone": true } } - } - } - }, - "ip": { - "#text": "pim bfd-instance", - "dhcp": { - "#text": "smart-relay", - "smart-relay": { - "#standalone": true - } - }, - "pim": { - "#text": "bfd-instance", - "bfd-instance": { - "#standalone": true - } - } - }, - "ntp": { - "#text": "serve", - "serve": { - "#standalone": true - } - }, - "qos": { - "#text": "trust", - "trust": { - "#standalone": true - } - } - }, - "mtu": { - "#text": "1500", - "1500": { - "#standalone": true - } - }, - "logging": { - "#text": "event link-status use-global", - "event": { - "#text": "link-status use-global", - "link-status": { - "#text": "use-global", - "use-global": { - "#standalone": true - } - } - } - }, - "no": { - "#text": "shape rate", - "dcbx": { - "#text": "mode", - "mode": { - "#standalone": true - } - }, - "mac-address": { - "#standalone": true - }, - "link-debounce": { - "#standalone": true - }, - "flowcontrol": { - "#text": "receive", - "send": { - "#standalone": true - }, - "receive": { - "#standalone": true - } - }, - "mac": { - "#text": "timestamp", - "timestamp": { - "#standalone": true - } - }, - "speed": { - "#standalone": true - }, - "l2": { - "#text": "mtu", - "mtu": { - "#standalone": true - } - }, - "traffic-loopback": { - "#standalone": true - }, - "error-correction": { - "#text": "reed-solomon bypass", - "reed-solomon": { - "#text": "bypass", - "bypass": { - "#standalone": true - } - } - }, - "switchport": { - "#standalone": true - }, - "l2-protocol": { - "#text": "encapsulation dot1q vlan 0", - "encapsulation": { - "#text": "dot1q vlan 0", - "dot1q": { - "#text": "vlan 0", - "vlan": { - "#text": "0", - "0": { + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { "#standalone": true } } } } }, - "ip": { - "#text": "pim bsr-border", - "proxy-arp": { - "#standalone": true - }, - "local-proxy-arp": { - "#standalone": true - }, - "verify": { - "#text": "unicast", - "unicast": { - "#standalone": true - } - }, - "helper-address": { - "#standalone": true - }, - "igmp": { - "#standalone": true, - "#text": "host-proxy", - "host-proxy": { - "#standalone": true - } - }, - "multicast": { - "#text": "static", - "static": { - "#standalone": true - } - }, - "pim": { - "#text": "bsr-border", - "sparse-mode": { + { + "no": { + "#text": "ipv6 nd other-config-flag", + "description": { "#standalone": true }, - "bidirectional": { + "shutdown": { "#standalone": true }, - "border-router": { + "mac-address": { "#standalone": true }, - "neighbor-filter": { + "link-debounce": { "#standalone": true }, - "bsr-border": { + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { "#standalone": true - } - } - }, - "bfd": { - "#text": "echo", - "echo": { - "#standalone": true - } - }, - "ipv6": { - "#text": "nd other-config-flag", - "dhcp": { - "#text": "relay destination", - "relay": { - "#text": "destination", - "destination": { + }, + "l2": { + "#text": "mtu", + "mtu": { "#standalone": true } - } - }, - "enable": { - "#standalone": true - }, - "address": { - "#standalone": true - }, - "verify": { - "#text": "unicast", - "unicast": { + }, + "traffic-loopback": { "#standalone": true - } - }, - "nd": { - "#text": "other-config-flag", - "ra": { - "#text": "mtu suppress", - "suppress": { + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "mtu": { - "#text": "suppress", - "suppress": { + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { "#standalone": true } } }, - "managed-config-flag": { - "#standalone": true + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } }, - "other-config-flag": { - "#standalone": true - } - } - }, - "channel-group": { - "#standalone": true - }, - "msrp": { - "#standalone": true - }, - "mvrp": { - "#standalone": true - }, - "shape": { - "#text": "rate", - "rate": { - "#standalone": true - } - } - }, - "switchport": { - "#text": "dot1q ethertype 0x8100", - "dot1q": { - "#text": "ethertype 0x8100", - "ethertype": { - "#text": "0x8100", - "0x8100": { - "#standalone": true - } - } - } - }, - "snmp": { - "#text": "trap link-status", - "trap": { - "#text": "link-status", - "link-status": { - "#standalone": true - } - } - }, - "ip": { - "#text": "pim dr-priority 1", - "address": { - "#text": "192.168.0.1/24", - "192.168.0.1/24": { - "#standalone": true - } - }, - "dhcp": { - "#text": "relay information option circuit-id Ethernet2", - "relay": { - "#text": "information option circuit-id Ethernet2", - "information": { - "#text": "option circuit-id Ethernet2", - "option": { - "#text": "circuit-id Ethernet2", - "circuit-id": { - "#text": "Ethernet2", - "Ethernet2": { - "#standalone": true + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true } } } } }, - "igmp": { - "#text": "router-alert optional connected", - "version": { - "#text": "3", - "3": { - "#standalone": true - } - }, - "last-member-query-count": { - "#text": "2", - "2": { - "#standalone": true - } - }, - "last-member-query-interval": { - "#text": "10", - "10": { - "#standalone": true + { + "ip": { + "#text": "address 10.0.2.15/24", + "address": { + "#text": "10.0.2.15/24", + "10.0.2.15/24": { + "#standalone": true + } } - }, - "query-max-response-time": { - "#text": "100", - "100": { + } + }, + { + "no": { + "#text": "ipv6 nd other-config-flag", + "description": { "#standalone": true - } - }, - "query-interval": { - "#text": "125", - "125": { + }, + "shutdown": { "#standalone": true - } - }, - "startup-query-count": { - "#text": "2", - "2": { + }, + "mac-address": { "#standalone": true - } - }, - "startup-query-interval": { - "#text": "310", - "310": { + }, + "link-debounce": { "#standalone": true - } - }, - "router-alert": { - "#text": "optional connected", - "optional": { - "#text": "connected", - "connected": { + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { "#standalone": true } - } - } - }, - "mfib": { - "#text": "fastdrop", - "fastdrop": { - "#standalone": true - } - }, - "pim": { - "#text": "dr-priority 1", - "query-interval": { - "#text": "30", - "30": { - "#standalone": true - } - }, - "join-prune-interval": { - "#text": "60", - "60": { + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { "#standalone": true - } - }, - "dr-priority": { - "#text": "1", - "1": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { "#standalone": true - } - } - } - }, - "bfd": { - "#text": "interval 300 min_rx 300 multiplier 3", - "interval": { - "#text": "300 min_rx 300 multiplier 3", - "300": { - "#text": "min_rx 300 multiplier 3", - "min_rx": { - "#text": "300 multiplier 3", - "300": { - "#text": "multiplier 3", - "multiplier": { - "#text": "3", - "3": { - "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true } } } } - } - }, - "ipv6": { - "#text": "nd ra hop-limit 64", - "nd": { - "#text": "ra hop-limit 64", - "ra": { - "#text": "hop-limit 64", - "interval": { - "#text": "msec 200000", - "msec": { - "#text": "200000", - "200000": { + }, + { + "default": { + "#text": "ntp serve", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { "#standalone": true } } }, - "lifetime": { - "#text": "1800", - "1800": { + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { "#standalone": true } }, - "dns-servers": { - "#text": "lifetime 300", - "lifetime": { + "arp": { + "#text": "timeout 300", + "timeout": { "#text": "300", "300": { "#standalone": true } } }, - "dns-suffixes": { - "#text": "lifetime 300", - "lifetime": { - "#text": "300", - "300": { - "#standalone": true + "ipv6": { + "#text": "nd cache expire 300", + "nd": { + "#text": "cache expire 300", + "cache": { + "#text": "expire 300", + "expire": { + "#text": "300", + "300": { + "#standalone": true + } + } } } }, - "hop-limit": { - "#text": "64", - "64": { + "ntp": { + "#text": "serve", + "serve": { "#standalone": true } } - }, - "reachable-time": { - "#text": "0", - "0": { - "#standalone": true - } - }, - "router-preference": { - "#text": "medium", - "medium": { - "#standalone": true - } - } - } - }, - "lacp": { - "#text": "port-priority 32768", - "rate": { - "#text": "normal", - "normal": { - "#standalone": true - } - }, - "port-priority": { - "#text": "32768", - "32768": { - "#standalone": true - } - } - }, - "lldp": { - "#text": "receive", - "transmit": { - "#standalone": true - }, - "receive": { - "#standalone": true - } - }, - "qos": { - "#text": "dscp 2", - "cos": { - "#text": "5", - "5": { - "#standalone": true } }, - "dscp": { - "#text": "2", - "2": { - "#standalone": true - } - } - }, - "mc-tx-queue": { - "#text": "3", - "0": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + { + "default": { + "#text": "ntp serve", + "load-interval": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { - "#standalone": true - } }, - "shape": { - "#text": "rate", - "rate": { - "#standalone": true + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } } - } - }, - "#standalone": true - }, - "1": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "unidirectional": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { + }, + "error-correction": { + "#text": "encoding", + "encoding": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "arp": { + "#text": "timeout 300", + "timeout": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "ipv6": { + "#text": "nd cache expire 300", + "nd": { + "#text": "cache expire 300", + "cache": { + "#text": "expire 300", + "expire": { + "#text": "300", + "300": { + "#standalone": true + } + } + } + } + }, + "ntp": { + "#text": "serve", + "serve": { "#standalone": true } } - }, - "#standalone": true + } }, - "2": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true + { + "bfd": { + "#text": "interval 300 min_rx 300 multiplier 3", + "interval": { + "#text": "300 min_rx 300 multiplier 3", + "300": { + "#text": "min_rx 300 multiplier 3", + "min_rx": { + "#text": "300 multiplier 3", + "300": { + "#text": "multiplier 3", + "multiplier": { + "#text": "3", + "3": { + "#standalone": true + } + } + } + } + } } - }, + } + }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "3": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { - "#standalone": true - }, - "guaranteed": { - "#standalone": true - } }, - "shape": { - "#text": "rate", - "rate": { + "l2": { + "#text": "mtu", + "mtu": { "#standalone": true } - } - }, - "#standalone": true - } - }, - "!": { - "#standalone": true - }, - "uc-tx-queue": { - "#text": "7", - "0": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "traffic-loopback": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } - } - }, - "#standalone": true - }, - "1": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { "#standalone": true }, - "guaranteed": { - "#standalone": true - } - }, - "shape": { - "#text": "rate", - "rate": { + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "2": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "3": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "4": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "5": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + } + }, + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true + } }, - "6": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { - "#standalone": true - } - }, + { "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, + "shutdown": { + "#standalone": true + }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { "#standalone": true }, - "guaranteed": { + "receive": { "#standalone": true } }, - "shape": { - "#text": "rate", - "rate": { + "mac": { + "#text": "timestamp", + "timestamp": { "#standalone": true } - } - }, - "#standalone": true - }, - "7": { - "#text": "no bandwidth guaranteed", - "priority": { - "#text": "strict", - "strict": { + }, + "speed": { "#standalone": true - } - }, - "no": { - "#text": "bandwidth guaranteed", - "bandwidth": { - "#text": "guaranteed", - "percent": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "guaranteed": { + "local-proxy-arp": { "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } } }, - "shape": { - "#text": "rate", - "rate": { + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } } } - }, - "#standalone": true - } - }, - "sflow": { - "#text": "enable", - "enable": { - "#standalone": true - } - }, - "#standalone": true - }, - "Ethernet2.1": { - "#text": "sflow enable", - "description": { - "#text": "another subiface", - "another": { - "#text": "subiface", - "subiface": { - "#standalone": true } - } - }, - "no": { - "#text": "ip pim bsr-border", - "shutdown": { - "#standalone": true }, - "l2-protocol": { - "#text": "encapsulation dot1q vlan 0", - "encapsulation": { - "#text": "dot1q vlan 0", - "dot1q": { - "#text": "vlan 0", - "vlan": { + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": { + "#standalone": true + } + }, + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { "#text": "0", "0": { "#standalone": true } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } } } } }, - "ip": { - "#text": "pim bsr-border", - "proxy-arp": { - "#standalone": true - }, - "local-proxy-arp": { - "#standalone": true - }, - "verify": { - "#text": "unicast", - "unicast": { - "#standalone": true - } - }, - "helper-address": { - "#standalone": true - }, - "igmp": { - "#standalone": true, - "#text": "host-proxy", - "host-proxy": { - "#standalone": true + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": { + "#standalone": true + } + }, + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } } - }, - "multicast": { - "#text": "static", - "static": { - "#standalone": true + } + }, + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": { + "#standalone": true + } + }, + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } } - }, - "pim": { - "#text": "bsr-border", - "sparse-mode": { + } + }, + { + "no": { + "#text": "ipv6 nd other-config-flag", + "description": { "#standalone": true }, - "bidirectional": { + "shutdown": { "#standalone": true }, - "border-router": { + "mac-address": { "#standalone": true }, - "neighbor-filter": { + "link-debounce": { "#standalone": true }, - "bsr-border": { + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { "#standalone": true - } - } - }, - "bfd": { - "#text": "echo", - "echo": { - "#standalone": true - } - }, - "ipv6": { - "#text": "nd other-config-flag", - "dhcp": { - "#text": "relay destination", - "relay": { - "#text": "destination", - "destination": { + }, + "l2": { + "#text": "mtu", + "mtu": { "#standalone": true } - } - }, - "enable": { - "#standalone": true - }, - "address": { - "#standalone": true - }, - "verify": { - "#text": "unicast", - "unicast": { + }, + "traffic-loopback": { "#standalone": true - } - }, - "nd": { - "#text": "other-config-flag", - "ra": { - "#text": "mtu suppress", - "suppress": { + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "mtu": { - "#text": "suppress", - "suppress": { + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { "#standalone": true } } }, - "managed-config-flag": { - "#standalone": true + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } }, - "other-config-flag": { - "#standalone": true - } - } - } - }, - "default": { - "#text": "ip pim bfd-instance", - "load-interval": { - "#standalone": true - }, - "arp": { - "#text": "timeout 14400", - "timeout": { - "#text": "14400", - "14400": { - "#standalone": true - } - } - }, - "ipv6": { - "#text": "nd cache expire 14400", - "nd": { - "#text": "cache expire 14400", - "cache": { - "#text": "expire 14400", - "expire": { - "#text": "14400", - "14400": { + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { "#standalone": true } - } - } - } - }, - "ip": { - "#text": "pim bfd-instance", - "dhcp": { - "#text": "smart-relay", - "smart-relay": { - "#standalone": true - } - }, - "pim": { - "#text": "bfd-instance", - "bfd-instance": { - "#standalone": true - } - } - }, - "ntp": { - "#text": "serve", - "serve": { - "#standalone": true - } - } - }, - "logging": { - "#text": "event link-status use-global", - "event": { - "#text": "link-status use-global", - "link-status": { - "#text": "use-global", - "use-global": { - "#standalone": true - } - } - } - }, - "encapsulation": { - "#text": "dot1q vlan 1", - "dot1q": { - "#text": "vlan 1", - "vlan": { - "#text": "1", - "1": { - "#standalone": true - } - } - } - }, - "snmp": { - "#text": "trap link-status", - "trap": { - "#text": "link-status", - "link-status": { - "#standalone": true - } - } - }, - "vrf": { - "#text": "forwarding prod", - "forwarding": { - "#text": "prod", - "prod": { - "#standalone": true - } - } - }, - "ip": { - "#text": "pim dr-priority 1", - "address": { - "#text": "172.20.0.1/24 secondary", - "192.168.1.1/24": { - "#standalone": true - }, - "172.20.0.1/24": { - "#text": "secondary", - "secondary": { - "#standalone": true - } - } - }, - "dhcp": { - "#text": "relay information option circuit-id Ethernet2.1", - "relay": { - "#text": "information option circuit-id Ethernet2.1", - "information": { - "#text": "option circuit-id Ethernet2.1", - "option": { - "#text": "circuit-id Ethernet2.1", - "circuit-id": { - "#text": "Ethernet2.1", - "Ethernet2.1": { - "#standalone": true + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true } } } } }, - "igmp": { - "#text": "router-alert optional connected", - "version": { - "#text": "3", - "3": { - "#standalone": true - } - }, - "last-member-query-count": { - "#text": "2", - "2": { - "#standalone": true - } - }, - "last-member-query-interval": { - "#text": "10", - "10": { - "#standalone": true - } - }, - "query-max-response-time": { - "#text": "100", - "100": { + { + "no": { + "#text": "ipv6 nd other-config-flag", + "description": { "#standalone": true - } - }, - "query-interval": { - "#text": "125", - "125": { + }, + "shutdown": { "#standalone": true - } - }, - "startup-query-count": { - "#text": "2", - "2": { + }, + "mac-address": { "#standalone": true - } - }, - "startup-query-interval": { - "#text": "310", - "310": { + }, + "link-debounce": { "#standalone": true - } - }, - "router-alert": { - "#text": "optional connected", - "optional": { - "#text": "connected", - "connected": { + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { "#standalone": true } - } - } - }, - "mfib": { - "#text": "fastdrop", - "fastdrop": { - "#standalone": true - } - }, - "pim": { - "#text": "dr-priority 1", - "query-interval": { - "#text": "30", - "30": { - "#standalone": true - } - }, - "join-prune-interval": { - "#text": "60", - "60": { - "#standalone": true - } - }, - "dr-priority": { - "#text": "1", - "1": { - "#standalone": true - } - } - } - }, - "bfd": { - "#text": "interval 300 min_rx 300 multiplier 3", - "interval": { - "#text": "300 min_rx 300 multiplier 3", - "300": { - "#text": "min_rx 300 multiplier 3", - "min_rx": { - "#text": "300 multiplier 3", - "300": { - "#text": "multiplier 3", - "multiplier": { - "#text": "3", - "3": { - "#standalone": true - } - } - } - } - } - } - }, - "ipv6": { - "#text": "nd ra hop-limit 64", - "nd": { - "#text": "ra hop-limit 64", - "ra": { - "#text": "hop-limit 64", - "interval": { - "#text": "msec 200000", - "msec": { - "#text": "200000", - "200000": { - "#standalone": true - } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true } }, - "lifetime": { - "#text": "1800", - "1800": { + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { "#standalone": true } }, - "dns-servers": { - "#text": "lifetime 300", - "lifetime": { - "#text": "300", - "300": { + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { "#standalone": true } } }, - "dns-suffixes": { - "#text": "lifetime 300", - "lifetime": { - "#text": "300", - "300": { + "ip": { + "#text": "verify unicast", + "proxy-arp": { + "#standalone": true + }, + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { "#standalone": true } } }, - "hop-limit": { - "#text": "64", - "64": { + "bfd": { + "#text": "echo", + "echo": { "#standalone": true } - } - }, - "reachable-time": { - "#text": "0", - "0": { - "#standalone": true - } - }, - "router-preference": { - "#text": "medium", - "medium": { - "#standalone": true - } - } - } - }, - "sflow": { - "#text": "enable", - "enable": { - "#standalone": true - } - }, - "#standalone": true - }, - "Ethernet2.2": { - "#text": "sflow enable", - "description": { - "#text": "asdasdasd", - "asdasdasd": { - "#standalone": true - } - }, - "no": { - "#text": "ip pim bsr-border", - "shutdown": { - "#standalone": true - }, - "l2-protocol": { - "#text": "encapsulation dot1q vlan 0", - "encapsulation": { - "#text": "dot1q vlan 0", - "dot1q": { - "#text": "vlan 0", - "vlan": { - "#text": "0", - "0": { + }, + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { "#standalone": true } } } } }, - "ip": { - "#text": "pim bsr-border", - "proxy-arp": { - "#standalone": true - }, - "local-proxy-arp": { - "#standalone": true - }, - "verify": { - "#text": "unicast", - "unicast": { - "#standalone": true - } - }, - "helper-address": { - "#standalone": true - }, - "igmp": { - "#standalone": true, - "#text": "host-proxy", - "host-proxy": { - "#standalone": true - } - }, - "multicast": { - "#text": "static", - "static": { - "#standalone": true - } - }, - "pim": { - "#text": "bsr-border", - "sparse-mode": { + { + "no": { + "#text": "ipv6 nd other-config-flag", + "description": { "#standalone": true }, - "bidirectional": { + "shutdown": { "#standalone": true }, - "border-router": { + "mac-address": { "#standalone": true }, - "neighbor-filter": { + "link-debounce": { "#standalone": true }, - "bsr-border": { - "#standalone": true - } - } - }, - "bfd": { - "#text": "echo", - "echo": { - "#standalone": true - } - }, - "ipv6": { - "#text": "nd other-config-flag", - "dhcp": { - "#text": "relay destination", - "relay": { - "#text": "destination", - "destination": { + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { "#standalone": true } - } - }, - "enable": { - "#standalone": true - }, - "address": { - "#standalone": true - }, - "verify": { - "#text": "unicast", - "unicast": { + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { "#standalone": true - } - }, - "nd": { - "#text": "other-config-flag", - "ra": { - "#text": "mtu suppress", - "suppress": { + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, + "ip": { + "#text": "verify unicast", + "proxy-arp": { "#standalone": true }, - "mtu": { - "#text": "suppress", - "suppress": { + "local-proxy-arp": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { "#standalone": true } } }, - "managed-config-flag": { - "#standalone": true + "bfd": { + "#text": "echo", + "echo": { + "#standalone": true + } }, - "other-config-flag": { - "#standalone": true + "ipv6": { + "#text": "nd other-config-flag", + "enable": { + "#standalone": true + }, + "address": { + "#standalone": true + }, + "verify": { + "#text": "unicast", + "unicast": { + "#standalone": true + } + }, + "nd": { + "#text": "other-config-flag", + "ra": { + "#text": "mtu suppress", + "mtu": { + "#text": "suppress", + "suppress": { + "#standalone": true + } + } + }, + "managed-config-flag": { + "#standalone": true + }, + "other-config-flag": { + "#standalone": true + } + } } } - } - }, - "default": { - "#text": "ip pim bfd-instance", - "load-interval": { - "#standalone": true }, - "arp": { - "#text": "timeout 14400", - "timeout": { - "#text": "14400", - "14400": { - "#standalone": true + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": { + "#standalone": true + } + }, + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } } } }, - "ipv6": { - "#text": "nd cache expire 14400", - "nd": { - "#text": "cache expire 14400", - "cache": { - "#text": "expire 14400", - "expire": { - "#text": "14400", - "14400": { + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": { + "#standalone": true + } + }, + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { "#standalone": true } } } } }, - "ip": { - "#text": "pim bfd-instance", - "dhcp": { - "#text": "smart-relay", - "smart-relay": { - "#standalone": true - } - }, - "pim": { - "#text": "bfd-instance", - "bfd-instance": { - "#standalone": true + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": { + "#standalone": true + } + }, + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } } } }, - "ntp": { - "#text": "serve", - "serve": { - "#standalone": true - } - } - }, - "logging": { - "#text": "event link-status use-global", - "event": { - "#text": "link-status use-global", - "link-status": { - "#text": "use-global", - "use-global": { - "#standalone": true - } - } - } - }, - "encapsulation": { - "#text": "dot1q vlan 2", - "dot1q": { - "#text": "vlan 2", - "vlan": { - "#text": "2", - "2": { - "#standalone": true + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": { + "#standalone": true + } + }, + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { + "#standalone": true + } + } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } + } } } - } - }, - "snmp": { - "#text": "trap link-status", - "trap": { - "#text": "link-status", - "link-status": { - "#standalone": true - } - } - }, - "vrf": { - "#text": "forwarding devel", - "forwarding": { - "#text": "devel", - "devel": { - "#standalone": true - } - } - }, - "ip": { - "#text": "pim dr-priority 1", - "address": { - "#text": "192.168.2.1/24", - "192.168.2.1/24": { - "#standalone": true - } }, - "dhcp": { - "#text": "relay information option circuit-id Ethernet2.2", - "relay": { - "#text": "information option circuit-id Ethernet2.2", - "information": { - "#text": "option circuit-id Ethernet2.2", - "option": { - "#text": "circuit-id Ethernet2.2", - "circuit-id": { - "#text": "Ethernet2.2", - "Ethernet2.2": { + { + "ipv6": { + "#text": "nd ra hop-limit 64", + "nd": { + "#text": "ra hop-limit 64", + "ra": { + "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": { + "#standalone": true + } + }, + "interval": { + "#text": "msec 200000", + "msec": { + "#text": "200000", + "200000": { + "#standalone": true + } + } + }, + "lifetime": { + "#text": "1800", + "1800": { + "#standalone": true + } + }, + "dns-servers": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "dns-suffixes": { + "#text": "lifetime 300", + "lifetime": { + "#text": "300", + "300": { + "#standalone": true + } + } + }, + "hop-limit": { + "#text": "64", + "64": { "#standalone": true } } + }, + "reachable-time": { + "#text": "0", + "0": { + "#standalone": true + } + }, + "router-preference": { + "#text": "medium", + "medium": { + "#standalone": true + } } } } }, - "igmp": { - "#text": "router-alert optional connected", - "version": { - "#text": "3", - "3": { - "#standalone": true - } - }, - "last-member-query-count": { - "#text": "2", - "2": { - "#standalone": true - } - }, - "last-member-query-interval": { - "#text": "10", - "10": { - "#standalone": true - } - }, - "query-max-response-time": { - "#text": "100", - "100": { - "#standalone": true - } - }, - "query-interval": { - "#text": "125", - "125": { - "#standalone": true - } - }, - "startup-query-count": { - "#text": "2", - "2": { + { + "lldp": { + "#text": "receive", + "transmit": { "#standalone": true - } - }, - "startup-query-interval": { - "#text": "310", - "310": { + }, + "receive": { "#standalone": true } - }, - "router-alert": { - "#text": "optional connected", - "optional": { - "#text": "connected", - "connected": { - "#standalone": true - } - } - } - }, - "mfib": { - "#text": "fastdrop", - "fastdrop": { - "#standalone": true } }, - "pim": { - "#text": "dr-priority 1", - "query-interval": { - "#text": "30", - "30": { - "#standalone": true - } - }, - "join-prune-interval": { - "#text": "60", - "60": { + { + "lldp": { + "#text": "receive", + "transmit": { "#standalone": true - } - }, - "dr-priority": { - "#text": "1", - "1": { + }, + "receive": { "#standalone": true } } - } - }, - "bfd": { - "#text": "interval 300 min_rx 300 multiplier 3", - "interval": { - "#text": "300 min_rx 300 multiplier 3", - "300": { - "#text": "min_rx 300 multiplier 3", - "min_rx": { - "#text": "300 multiplier 3", - "300": { - "#text": "multiplier 3", - "multiplier": { - "#text": "3", - "3": { - "#standalone": true - } - } - } - } - } - } - }, - "ipv6": { - "#text": "nd ra hop-limit 64", - "nd": { - "#text": "ra hop-limit 64", - "ra": { - "#text": "hop-limit 64", - "interval": { - "#text": "msec 200000", - "msec": { - "#text": "200000", - "200000": { + }, + { + "default": { + "#text": "ntp serve", + "load-interval": { + "#standalone": true + }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { "#standalone": true } } }, - "lifetime": { - "#text": "1800", - "1800": { + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { "#standalone": true } }, - "dns-servers": { - "#text": "lifetime 300", - "lifetime": { + "arp": { + "#text": "timeout 300", + "timeout": { "#text": "300", "300": { "#standalone": true } } }, - "dns-suffixes": { - "#text": "lifetime 300", - "lifetime": { - "#text": "300", - "300": { - "#standalone": true + "ipv6": { + "#text": "nd cache expire 300", + "nd": { + "#text": "cache expire 300", + "cache": { + "#text": "expire 300", + "expire": { + "#text": "300", + "300": { + "#standalone": true + } + } } } }, - "hop-limit": { - "#text": "64", - "64": { + "ntp": { + "#text": "serve", + "serve": { "#standalone": true } } - }, - "reachable-time": { - "#text": "0", - "0": { - "#standalone": true - } - }, - "router-preference": { - "#text": "medium", - "medium": { - "#standalone": true - } } } - }, - "sflow": { - "#text": "enable", - "enable": { - "#standalone": true - } - }, - "#standalone": true - }, - "Loopback1": { + ], "#text": "default ntp serve", - "description": { - "#text": "a loopback", - "a": { - "#text": "loopback", - "loopback": { - "#standalone": true - } - } - }, "no": { "#text": "ipv6 nd other-config-flag", + "description": { + "#standalone": true + }, "shutdown": { "#standalone": true }, + "mac-address": { + "#standalone": true + }, + "link-debounce": { + "#standalone": true + }, + "flowcontrol": { + "#text": "receive", + "send": { + "#standalone": true + }, + "receive": { + "#standalone": true + } + }, + "mac": { + "#text": "timestamp", + "timestamp": { + "#standalone": true + } + }, + "speed": { + "#standalone": true + }, + "l2": { + "#text": "mtu", + "mtu": { + "#standalone": true + } + }, + "traffic-loopback": { + "#standalone": true + }, + "error-correction": { + "#text": "reed-solomon bypass", + "reed-solomon": { + "#text": "bypass", + "bypass": { + "#standalone": true + } + } + }, "ip": { "#text": "verify unicast", "proxy-arp": { @@ -8941,9 +201833,6 @@ "local-proxy-arp": { "#standalone": true }, - "address": { - "#standalone": true - }, "verify": { "#text": "unicast", "unicast": { @@ -8975,9 +201864,6 @@ "#text": "other-config-flag", "ra": { "#text": "mtu suppress", - "suppress": { - "#standalone": true - }, "mtu": { "#text": "suppress", "suppress": { @@ -8999,24 +201885,42 @@ "load-interval": { "#standalone": true }, + "logging": { + "#text": "event congestion-drops", + "event": { + "#text": "congestion-drops", + "congestion-drops": { + "#standalone": true + } + } + }, + "unidirectional": { + "#standalone": true + }, + "error-correction": { + "#text": "encoding", + "encoding": { + "#standalone": true + } + }, "arp": { - "#text": "timeout 14400", + "#text": "timeout 300", "timeout": { - "#text": "14400", - "14400": { + "#text": "300", + "300": { "#standalone": true } } }, "ipv6": { - "#text": "nd cache expire 14400", + "#text": "nd cache expire 300", "nd": { - "#text": "cache expire 14400", + "#text": "cache expire 300", "cache": { - "#text": "expire 14400", + "#text": "expire 300", "expire": { - "#text": "14400", - "14400": { + "#text": "300", + "300": { "#standalone": true } } @@ -9057,6 +201961,15 @@ } } }, + "ip": { + "#text": "address 10.0.2.15/24", + "address": { + "#text": "10.0.2.15/24", + "10.0.2.15/24": { + "#standalone": true + } + } + }, "bfd": { "#text": "interval 300 min_rx 300 multiplier 3", "interval": { @@ -9084,6 +201997,12 @@ "#text": "ra hop-limit 64", "ra": { "#text": "hop-limit 64", + "suppress": { + "#text": "all", + "all": { + "#standalone": true + } + }, "interval": { "#text": "msec 200000", "msec": { @@ -9138,937 +202057,2508 @@ } } }, - "#standalone": true - }, - "Management1": { - "#text": "default ntp serve", - "no": { - "#text": "ipv6 nd other-config-flag", - "description": { - "#standalone": true - }, - "shutdown": { + "lldp": { + "#text": "receive", + "transmit": { "#standalone": true }, - "mac-address": { + "receive": { "#standalone": true - }, - "link-debounce": { + } + }, + "#standalone": true + } + }, + "mac": { + "#text": "address-table notification host-flap detection window 15", + "address-table": { + "#text": "notification host-flap detection window 15", + "aging-time": { + "#text": "300", + "300": { "#standalone": true - }, - "flowcontrol": { - "#text": "receive", - "send": { + } + }, + "notification": { + "#text": "host-flap detection window 15", + "host-flap": { + "#text": "detection window 15", + "logging": { "#standalone": true }, - "receive": { - "#standalone": true + "detection": { + "#text": "window 15", + "window": { + "#text": "15", + "15": { + "#standalone": true + } + } + } + } + } + } + }, + "monitor": { + "#text": "reachability", + "hadoop": { + "#list": [], + "#text": "shutdown", + "shutdown": { + "#standalone": true + }, + "#standalone": true + }, + "loop-protection": { + "#list": [ + { + "rate-limit": { + "#text": "1000", + "1000": { + "#standalone": true + } } }, - "mac": { - "#text": "timestamp", - "timestamp": { - "#standalone": true + { + "transmit-interval": { + "#text": "5", + "5": { + "#standalone": true + } } }, - "speed": { + { + "disabled-time": { + "#text": "604800", + "604800": { + "#standalone": true + } + } + } + ], + "#text": "disabled-time 604800", + "rate-limit": { + "#text": "1000", + "1000": { + "#standalone": true + } + }, + "transmit-interval": { + "#text": "5", + "5": { + "#standalone": true + } + }, + "disabled-time": { + "#text": "604800", + "604800": { "#standalone": true + } + }, + "#standalone": true + }, + "reachability": { + "#list": [ + { + "probe": { + "#text": "checkpoint-interval 60", + "receiver": { + "#text": "max-streams 50000", + "max-streams": { + "#text": "50000", + "50000": { + "#standalone": true + } + } + }, + "checkpoint-interval": { + "#text": "60", + "60": { + "#standalone": true + } + } + } }, - "l2": { - "#text": "mtu", - "mtu": { - "#standalone": true + { + "probe": { + "#text": "checkpoint-interval 60", + "receiver": { + "#text": "max-streams 50000", + "max-streams": { + "#text": "50000", + "50000": { + "#standalone": true + } + } + }, + "checkpoint-interval": { + "#text": "60", + "60": { + "#standalone": true + } + } } }, - "traffic-loopback": { - "#standalone": true + { + "destination": { + "#text": "port 49152", + "port": { + "#text": "49152", + "49152": { + "#standalone": true + } + } + } }, - "error-correction": { - "#text": "reed-solomon bypass", - "reed-solomon": { - "#text": "bypass", - "bypass": { + { + "default": { + "#text": "preserve-streams", + "ignore-checksum": { + "#standalone": true + }, + "preserve-streams": { + "#standalone": true + } + } + }, + { + "default": { + "#text": "preserve-streams", + "ignore-checksum": { + "#standalone": true + }, + "preserve-streams": { + "#standalone": true + } + } + } + ], + "#text": "default preserve-streams", + "shutdown": { + "#standalone": true + }, + "probe": { + "#text": "checkpoint-interval 60", + "receiver": { + "#text": "max-streams 50000", + "max-streams": { + "#text": "50000", + "50000": { "#standalone": true } } }, + "checkpoint-interval": { + "#text": "60", + "60": { + "#standalone": true + } + } + }, + "destination": { + "#text": "port 49152", + "port": { + "#text": "49152", + "49152": { + "#standalone": true + } + } + }, + "default": { + "#text": "preserve-streams", + "ignore-checksum": { + "#standalone": true + }, + "preserve-streams": { + "#standalone": true + } + }, + "#standalone": true + } + }, + "ipv6": { + "#text": "icmp redirect", + "icmp": { + "#text": "redirect", + "redirect": { + "#standalone": true + } + } + }, + "control-plane": { + "#list": [ + { "ip": { - "#text": "verify unicast", - "proxy-arp": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": { + "#standalone": true + }, + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": { + "#standalone": true + } + }, + "devel": { + "#text": "in", + "in": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": { + "#standalone": true + }, + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": { + "#standalone": true + } + }, + "devel": { + "#text": "in", + "in": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ip": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": { + "#standalone": true + }, + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": { + "#standalone": true + } + }, + "devel": { + "#text": "in", + "in": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ipv6": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": { + "#standalone": true + }, + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": { + "#standalone": true + } + }, + "devel": { + "#text": "in", + "in": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ipv6": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": { + "#standalone": true + }, + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": { + "#standalone": true + } + }, + "devel": { + "#text": "in", + "in": { + "#standalone": true + } + } + } + } + } + } + }, + { + "ipv6": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": { + "#standalone": true + }, + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": { + "#standalone": true + } + }, + "devel": { + "#text": "in", + "in": { + "#standalone": true + } + } + } + } + } + } + } + ], + "#text": "ipv6 access-group default-control-plane-acl vrf devel in", + "ip": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": { "#standalone": true }, - "local-proxy-arp": { + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": { + "#standalone": true + } + }, + "devel": { + "#text": "in", + "in": { + "#standalone": true + } + } + } + } + } + }, + "ipv6": { + "#text": "access-group default-control-plane-acl vrf devel in", + "access-group": { + "#text": "default-control-plane-acl vrf devel in", + "default-control-plane-acl": { + "#text": "vrf devel in", + "in": { "#standalone": true }, - "verify": { - "#text": "unicast", - "unicast": { + "vrf": { + "#text": "devel in", + "prod": { + "#text": "in", + "in": { + "#standalone": true + } + }, + "devel": { + "#text": "in", + "in": { + "#standalone": true + } + } + } + } + } + }, + "#standalone": true + }, + "mlag": { + "#text": "configuration", + "configuration": { + "#list": [ + { + "no": { + "#text": "shutdown", + "domain-id": { + "#standalone": true + }, + "local-interface": { + "#standalone": true + }, + "peer-address": { + "#standalone": true + }, + "peer-link": { + "#standalone": true + }, + "reload-delay": { + "#text": "mode", + "non-mlag": { + "#standalone": true + }, + "mode": { + "#standalone": true + } + }, + "shutdown": { + "#standalone": true + } + } + }, + { + "heartbeat-interval": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shutdown", + "domain-id": { + "#standalone": true + }, + "local-interface": { + "#standalone": true + }, + "peer-address": { + "#standalone": true + }, + "peer-link": { + "#standalone": true + }, + "reload-delay": { + "#text": "mode", + "non-mlag": { + "#standalone": true + }, + "mode": { + "#standalone": true + } + }, + "shutdown": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shutdown", + "domain-id": { + "#standalone": true + }, + "local-interface": { + "#standalone": true + }, + "peer-address": { + "#standalone": true + }, + "peer-link": { + "#standalone": true + }, + "reload-delay": { + "#text": "mode", + "non-mlag": { + "#standalone": true + }, + "mode": { + "#standalone": true + } + }, + "shutdown": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shutdown", + "domain-id": { + "#standalone": true + }, + "local-interface": { + "#standalone": true + }, + "peer-address": { + "#standalone": true + }, + "peer-link": { + "#standalone": true + }, + "reload-delay": { + "#text": "mode", + "non-mlag": { + "#standalone": true + }, + "mode": { + "#standalone": true + } + }, + "shutdown": { + "#standalone": true + } + } + }, + { + "reload-delay": { + "#text": "0", + "0": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shutdown", + "domain-id": { + "#standalone": true + }, + "local-interface": { + "#standalone": true + }, + "peer-address": { + "#standalone": true + }, + "peer-link": { + "#standalone": true + }, + "reload-delay": { + "#text": "mode", + "non-mlag": { + "#standalone": true + }, + "mode": { + "#standalone": true + } + }, + "shutdown": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shutdown", + "domain-id": { + "#standalone": true + }, + "local-interface": { + "#standalone": true + }, + "peer-address": { + "#standalone": true + }, + "peer-link": { + "#standalone": true + }, + "reload-delay": { + "#text": "mode", + "non-mlag": { + "#standalone": true + }, + "mode": { + "#standalone": true + } + }, + "shutdown": { "#standalone": true } } }, - "bfd": { - "#text": "echo", - "echo": { - "#standalone": true - } - }, - "ipv6": { - "#text": "nd other-config-flag", - "enable": { - "#standalone": true - }, - "address": { - "#standalone": true - }, - "verify": { - "#text": "unicast", - "unicast": { + { + "no": { + "#text": "shutdown", + "domain-id": { "#standalone": true - } - }, - "nd": { - "#text": "other-config-flag", - "ra": { - "#text": "mtu suppress", - "mtu": { - "#text": "suppress", - "suppress": { - "#standalone": true - } - } }, - "managed-config-flag": { + "local-interface": { "#standalone": true }, - "other-config-flag": { + "peer-address": { + "#standalone": true + }, + "peer-link": { + "#standalone": true + }, + "reload-delay": { + "#text": "mode", + "non-mlag": { + "#standalone": true + }, + "mode": { + "#standalone": true + } + }, + "shutdown": { "#standalone": true } } } - }, - "default": { - "#text": "ntp serve", - "load-interval": { + ], + "#text": "no shutdown", + "no": { + "#text": "shutdown", + "domain-id": { "#standalone": true }, - "logging": { - "#text": "event congestion-drops", - "event": { - "#text": "congestion-drops", - "congestion-drops": { - "#standalone": true - } - } - }, - "unidirectional": { + "local-interface": { "#standalone": true }, - "error-correction": { - "#text": "encoding", - "encoding": { - "#standalone": true - } - }, - "arp": { - "#text": "timeout 300", - "timeout": { - "#text": "300", - "300": { - "#standalone": true - } - } + "peer-address": { + "#standalone": true }, - "ipv6": { - "#text": "nd cache expire 300", - "nd": { - "#text": "cache expire 300", - "cache": { - "#text": "expire 300", - "expire": { - "#text": "300", - "300": { - "#standalone": true - } - } - } - } + "peer-link": { + "#standalone": true }, - "ntp": { - "#text": "serve", - "serve": { + "reload-delay": { + "#text": "mode", + "non-mlag": { + "#standalone": true + }, + "mode": { "#standalone": true } + }, + "shutdown": { + "#standalone": true } }, - "mtu": { - "#text": "1500", - "1500": { + "heartbeat-interval": { + "#text": "4000", + "4000": { "#standalone": true } }, - "logging": { - "#text": "event link-status use-global", - "event": { - "#text": "link-status use-global", - "link-status": { - "#text": "use-global", - "use-global": { - "#standalone": true - } - } + "reload-delay": { + "#text": "0", + "0": { + "#standalone": true } }, - "snmp": { - "#text": "trap link-status", - "trap": { - "#text": "link-status", - "link-status": { - "#standalone": true + "#standalone": true + } + }, + "qos": { + "#text": "map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "map": { + "#text": "traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "cos": { + "#text": "0 1 2 3 4 5 6 7 to traffic-class 8", + "0": { + "#text": "1 2 3 4 5 6 7 to traffic-class 8", + "1": { + "#text": "2 3 4 5 6 7 to traffic-class 8", + "2": { + "#text": "3 4 5 6 7 to traffic-class 8", + "3": { + "#text": "4 5 6 7 to traffic-class 8", + "4": { + "#text": "5 6 7 to traffic-class 8", + "5": { + "#text": "6 7 to traffic-class 8", + "6": { + "#text": "7 to traffic-class 8", + "7": { + "#text": "to traffic-class 8", + "to": { + "#text": "traffic-class 8", + "traffic-class": { + "#text": "8", + "8": { + "#standalone": true + } + } + } + } + } + } + } + } + } } } }, - "ip": { - "#text": "address 10.0.2.15/24", - "address": { - "#text": "10.0.2.15/24", - "10.0.2.15/24": { - "#standalone": true + "dscp": { + "#text": "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "0": { + "#text": "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "1": { + "#text": "2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "2": { + "#text": "3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "3": { + "#text": "4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "4": { + "#text": "5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "5": { + "#text": "6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "6": { + "#text": "7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "7": { + "#text": "8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "8": { + "#text": "9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "9": { + "#text": "10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "10": { + "#text": "11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "11": { + "#text": "12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "12": { + "#text": "13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "13": { + "#text": "14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "14": { + "#text": "15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "15": { + "#text": "16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "16": { + "#text": "17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "17": { + "#text": "18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "18": { + "#text": "19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "19": { + "#text": "20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "20": { + "#text": "21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "21": { + "#text": "22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "22": { + "#text": "23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "23": { + "#text": "24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "24": { + "#text": "25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "25": { + "#text": "26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "26": { + "#text": "27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "27": { + "#text": "28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "28": { + "#text": "29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "29": { + "#text": "30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "30": { + "#text": "31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "31": { + "#text": "32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "32": { + "#text": "33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "33": { + "#text": "34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "34": { + "#text": "35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "35": { + "#text": "36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "36": { + "#text": "37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "37": { + "#text": "38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "38": { + "#text": "39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "39": { + "#text": "40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "40": { + "#text": "41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "41": { + "#text": "42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "42": { + "#text": "43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "43": { + "#text": "44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "44": { + "#text": "45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "45": { + "#text": "46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "46": { + "#text": "47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "47": { + "#text": "48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "48": { + "#text": "49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "49": { + "#text": "50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "50": { + "#text": "51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "51": { + "#text": "52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "52": { + "#text": "53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "53": { + "#text": "54 55 56 57 58 59 60 61 62 63 to traffic-class 9", + "54": { + "#text": "55 56 57 58 59 60 61 62 63 to traffic-class 9", + "55": { + "#text": "56 57 58 59 60 61 62 63 to traffic-class 9", + "56": { + "#text": "57 58 59 60 61 62 63 to traffic-class 9", + "57": { + "#text": "58 59 60 61 62 63 to traffic-class 9", + "58": { + "#text": "59 60 61 62 63 to traffic-class 9", + "59": { + "#text": "60 61 62 63 to traffic-class 9", + "60": { + "#text": "61 62 63 to traffic-class 9", + "61": { + "#text": "62 63 to traffic-class 9", + "62": { + "#text": "63 to traffic-class 9", + "63": { + "#text": "to traffic-class 9", + "to": { + "#text": "traffic-class 9", + "traffic-class": { + "#text": "9", + "9": { + "#standalone": true + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } } } }, - "bfd": { - "#text": "interval 300 min_rx 300 multiplier 3", - "interval": { - "#text": "300 min_rx 300 multiplier 3", - "300": { - "#text": "min_rx 300 multiplier 3", - "min_rx": { - "#text": "300 multiplier 3", - "300": { - "#text": "multiplier 3", - "multiplier": { - "#text": "3", - "3": { - "#standalone": true + "traffic-class": { + "#text": "0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "0": { + "#text": "1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "1": { + "#text": "2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "2": { + "#text": "3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "3": { + "#text": "4 5 6 7 8 9 10 11 to mc-tx-queue 4", + "4": { + "#text": "5 6 7 8 9 10 11 to mc-tx-queue 4", + "5": { + "#text": "6 7 8 9 10 11 to mc-tx-queue 4", + "6": { + "#text": "7 8 9 10 11 to mc-tx-queue 4", + "7": { + "#text": "8 9 10 11 to mc-tx-queue 4", + "8": { + "#text": "9 10 11 to mc-tx-queue 4", + "9": { + "#text": "10 11 to mc-tx-queue 4", + "10": { + "#text": "11 to mc-tx-queue 4", + "11": { + "#text": "to mc-tx-queue 4", + "to": { + "#text": "mc-tx-queue 4", + "cos": { + "#text": "3", + "3": { + "#standalone": true + } + }, + "uc-tx-queue": { + "#text": "4", + "4": { + "#standalone": true + } + }, + "mc-tx-queue": { + "#text": "4", + "4": { + "#standalone": true + } + } + } + } + } + } + } + } + } } } } - } - } - } - }, - "ipv6": { - "#text": "nd ra hop-limit 64", - "nd": { - "#text": "ra hop-limit 64", - "ra": { - "#text": "hop-limit 64", - "suppress": { - "#text": "all", - "all": { - "#standalone": true - } + } + } + } + } + } + }, + "policy-map": { + "#text": "type control-plane copp-system-policy", + "type": { + "#text": "control-plane copp-system-policy", + "control-plane": { + "#text": "copp-system-policy", + "copp-system-policy": { + "#list": [ + { + "class": { + "#text": "copp-system-default", + "copp-system-bpdu": { + "#list": [ + { + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 5000", + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-arp": { + "#list": [ + { + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 1000", + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-igmp": { + "#list": [ + { + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 4000", + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-default": { + "#list": [ + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + } + ], + "#text": "no bandwidth", + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + }, + "#standalone": true + } + } }, - "interval": { - "#text": "msec 200000", - "msec": { - "#text": "200000", - "200000": { + { + "class": { + "#text": "copp-system-default", + "copp-system-bpdu": { + "#list": [ + { + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 5000", + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-arp": { + "#list": [ + { + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 1000", + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-igmp": { + "#list": [ + { + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 4000", + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-default": { + "#list": [ + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + } + ], + "#text": "no bandwidth", + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + }, "#standalone": true } } }, - "lifetime": { - "#text": "1800", - "1800": { - "#standalone": true - } - }, - "dns-servers": { - "#text": "lifetime 300", - "lifetime": { - "#text": "300", - "300": { + { + "class": { + "#text": "copp-system-default", + "copp-system-bpdu": { + "#list": [ + { + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 5000", + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-arp": { + "#list": [ + { + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 1000", + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-igmp": { + "#list": [ + { + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 4000", + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-default": { + "#list": [ + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + } + ], + "#text": "no bandwidth", + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + }, "#standalone": true } } }, - "dns-suffixes": { - "#text": "lifetime 300", - "lifetime": { - "#text": "300", - "300": { + { + "class": { + "#text": "copp-system-default", + "copp-system-bpdu": { + "#list": [ + { + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 5000", + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-arp": { + "#list": [ + { + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 1000", + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-igmp": { + "#list": [ + { + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 4000", + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + }, + "#standalone": true + }, + "copp-system-default": { + "#list": [ + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + } + ], + "#text": "no bandwidth", + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + }, "#standalone": true } } - }, - "hop-limit": { - "#text": "64", - "64": { - "#standalone": true - } } - }, - "reachable-time": { - "#text": "0", - "0": { + ], + "#text": "class copp-system-default", + "class": { + "#text": "copp-system-default", + "copp-system-bpdu": { + "#list": [ + { + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 5000", + "shape": { + "#text": "pps 6000", + "pps": { + "#text": "6000", + "6000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, "#standalone": true - } - }, - "router-preference": { - "#text": "medium", - "medium": { + }, + "copp-system-arp": { + "#list": [ + { + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 1000", + "shape": { + "#text": "pps 25000", + "pps": { + "#text": "25000", + "25000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 1000", + "pps": { + "#text": "1000", + "1000": { + "#standalone": true + } + } + }, "#standalone": true - } - } - } - }, - "lldp": { - "#text": "receive", - "transmit": { - "#standalone": true - }, - "receive": { - "#standalone": true - } - }, - "#standalone": true - } - }, - "mac": { - "#text": "address-table notification host-flap detection window 15", - "address-table": { - "#text": "notification host-flap detection window 15", - "aging-time": { - "#text": "300", - "300": { - "#standalone": true - } - }, - "notification": { - "#text": "host-flap detection window 15", - "host-flap": { - "#text": "detection window 15", - "logging": { - "#standalone": true - }, - "detection": { - "#text": "window 15", - "window": { - "#text": "15", - "15": { - "#standalone": true - } - } - } - } - } - } - }, - "monitor": { - "#text": "reachability", - "hadoop": { - "#text": "shutdown", - "shutdown": { - "#standalone": true - }, - "#standalone": true - }, - "loop-protection": { - "#text": "disabled-time 604800", - "rate-limit": { - "#text": "1000", - "1000": { - "#standalone": true - } - }, - "transmit-interval": { - "#text": "5", - "5": { - "#standalone": true - } - }, - "disabled-time": { - "#text": "604800", - "604800": { - "#standalone": true - } - }, - "#standalone": true - }, - "reachability": { - "#text": "default preserve-streams", - "shutdown": { - "#standalone": true - }, - "probe": { - "#text": "checkpoint-interval 60", - "receiver": { - "#text": "max-streams 50000", - "max-streams": { - "#text": "50000", - "50000": { + }, + "copp-system-igmp": { + "#list": [ + { + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + } + }, + { + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + } + } + ], + "#text": "bandwidth pps 4000", + "shape": { + "#text": "pps 5000", + "pps": { + "#text": "5000", + "5000": { + "#standalone": true + } + } + }, + "bandwidth": { + "#text": "pps 4000", + "pps": { + "#text": "4000", + "4000": { + "#standalone": true + } + } + }, "#standalone": true - } - } - }, - "checkpoint-interval": { - "#text": "60", - "60": { - "#standalone": true - } - } - }, - "destination": { - "#text": "port 49152", - "port": { - "#text": "49152", - "49152": { - "#standalone": true - } - } - }, - "default": { - "#text": "preserve-streams", - "ignore-checksum": { - "#standalone": true - }, - "preserve-streams": { + }, + "copp-system-default": { + "#list": [ + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + } + } + ], + "#text": "no bandwidth", + "no": { + "#text": "bandwidth", + "shape": { + "#standalone": true + }, + "bandwidth": { + "#standalone": true + } + }, + "#standalone": true + } + }, "#standalone": true } - }, - "#standalone": true + } } }, - "ipv6": { - "#text": "icmp redirect", - "icmp": { - "#text": "redirect", - "redirect": { + "system": { + "#text": "coredump compressed", + "coredump": { + "#text": "compressed", + "compressed": { "#standalone": true } } }, - "control-plane": { - "#text": "ipv6 access-group default-control-plane-acl vrf devel in", - "ip": { - "#text": "access-group default-control-plane-acl vrf devel in", - "access-group": { - "#text": "default-control-plane-acl vrf devel in", - "default-control-plane-acl": { - "#text": "vrf devel in", - "in": { - "#standalone": true - }, - "vrf": { - "#text": "devel in", - "prod": { - "#text": "in", - "in": { - "#standalone": true - } - }, - "devel": { - "#text": "in", - "in": { - "#standalone": true + "management": { + "#text": "xmpp", + "api": { + "#text": "http-commands", + "http-commands": { + "#list": [ + { + "protocol": { + "#text": "https mac hmac-sha1", + "https": { + "#text": "mac hmac-sha1", + "port": { + "#text": "443", + "443": { + "#standalone": true + } + }, + "cipher": { + "#text": "aes256-cbc aes128-cbc", + "aes256-cbc": { + "#text": "aes128-cbc", + "aes128-cbc": { + "#standalone": true + } + } + }, + "key-exchange": { + "#text": "rsa diffie-hellman-ephemeral-rsa", + "rsa": { + "#text": "diffie-hellman-ephemeral-rsa", + "diffie-hellman-ephemeral-rsa": { + "#standalone": true + } + } + }, + "mac": { + "#text": "hmac-sha1", + "hmac-sha1": { + "#standalone": true + } + } } } - } - } - } - }, - "ipv6": { - "#text": "access-group default-control-plane-acl vrf devel in", - "access-group": { - "#text": "default-control-plane-acl vrf devel in", - "default-control-plane-acl": { - "#text": "vrf devel in", - "in": { - "#standalone": true }, - "vrf": { - "#text": "devel in", - "prod": { - "#text": "in", - "in": { - "#standalone": true - } - }, - "devel": { - "#text": "in", - "in": { + { + "no": { + "#text": "shutdown", + "protocol": { + "#text": "https ssl profile", + "http": { + "#text": "localhost port 8080", + "port": { + "#text": "80", + "80": { + "#standalone": true + } + }, + "localhost": { + "#text": "port 8080", + "port": { + "#text": "8080", + "8080": { + "#standalone": true + } + } + } + }, + "unix-socket": { + "#standalone": true + }, + "https": { + "#text": "ssl profile", + "certificate": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + "cors": { + "#text": "allowed-origin", + "allowed-origin": { + "#standalone": true + } + }, + "shutdown": { "#standalone": true } } - } - } - } - }, - "#standalone": true - }, - "mlag": { - "#text": "configuration", - "configuration": { - "#text": "no shutdown", - "no": { - "#text": "shutdown", - "domain-id": { - "#standalone": true - }, - "local-interface": { - "#standalone": true - }, - "peer-address": { - "#standalone": true - }, - "peer-link": { - "#standalone": true - }, - "reload-delay": { - "#text": "mode", - "non-mlag": { - "#standalone": true }, - "mode": { - "#standalone": true - } - }, - "shutdown": { - "#standalone": true - } - }, - "heartbeat-interval": { - "#text": "4000", - "4000": { - "#standalone": true - } - }, - "reload-delay": { - "#text": "0", - "0": { - "#standalone": true - } - }, - "#standalone": true - } - }, - "qos": { - "#text": "map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", - "map": { - "#text": "traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", - "cos": { - "#text": "0 1 2 3 4 5 6 7 to traffic-class 8", - "0": { - "#text": "1 2 3 4 5 6 7 to traffic-class 8", - "1": { - "#text": "2 3 4 5 6 7 to traffic-class 8", - "2": { - "#text": "3 4 5 6 7 to traffic-class 8", - "3": { - "#text": "4 5 6 7 to traffic-class 8", - "4": { - "#text": "5 6 7 to traffic-class 8", - "5": { - "#text": "6 7 to traffic-class 8", - "6": { - "#text": "7 to traffic-class 8", - "7": { - "#text": "to traffic-class 8", - "to": { - "#text": "traffic-class 8", - "traffic-class": { - "#text": "8", - "8": { - "#standalone": true - } - } - } + { + "no": { + "#text": "shutdown", + "protocol": { + "#text": "https ssl profile", + "http": { + "#text": "localhost port 8080", + "port": { + "#text": "80", + "80": { + "#standalone": true + } + }, + "localhost": { + "#text": "port 8080", + "port": { + "#text": "8080", + "8080": { + "#standalone": true } } } + }, + "unix-socket": { + "#standalone": true + }, + "https": { + "#text": "ssl profile", + "certificate": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + "cors": { + "#text": "allowed-origin", + "allowed-origin": { + "#standalone": true } + }, + "shutdown": { + "#standalone": true } } - } - } - }, - "dscp": { - "#text": "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "0": { - "#text": "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "1": { - "#text": "2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "2": { - "#text": "3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "3": { - "#text": "4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "4": { - "#text": "5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "5": { - "#text": "6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "6": { - "#text": "7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "7": { - "#text": "8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "8": { - "#text": "9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "9": { - "#text": "10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "10": { - "#text": "11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "11": { - "#text": "12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "12": { - "#text": "13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "13": { - "#text": "14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "14": { - "#text": "15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "15": { - "#text": "16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "16": { - "#text": "17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "17": { - "#text": "18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "18": { - "#text": "19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "19": { - "#text": "20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "20": { - "#text": "21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "21": { - "#text": "22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "22": { - "#text": "23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "23": { - "#text": "24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "24": { - "#text": "25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "25": { - "#text": "26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "26": { - "#text": "27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "27": { - "#text": "28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "28": { - "#text": "29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "29": { - "#text": "30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "30": { - "#text": "31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "31": { - "#text": "32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "32": { - "#text": "33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "33": { - "#text": "34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "34": { - "#text": "35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "35": { - "#text": "36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "36": { - "#text": "37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "37": { - "#text": "38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "38": { - "#text": "39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "39": { - "#text": "40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "40": { - "#text": "41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "41": { - "#text": "42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "42": { - "#text": "43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "43": { - "#text": "44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "44": { - "#text": "45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "45": { - "#text": "46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "46": { - "#text": "47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "47": { - "#text": "48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "48": { - "#text": "49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "49": { - "#text": "50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "50": { - "#text": "51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "51": { - "#text": "52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "52": { - "#text": "53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "53": { - "#text": "54 55 56 57 58 59 60 61 62 63 to traffic-class 9", - "54": { - "#text": "55 56 57 58 59 60 61 62 63 to traffic-class 9", - "55": { - "#text": "56 57 58 59 60 61 62 63 to traffic-class 9", - "56": { - "#text": "57 58 59 60 61 62 63 to traffic-class 9", - "57": { - "#text": "58 59 60 61 62 63 to traffic-class 9", - "58": { - "#text": "59 60 61 62 63 to traffic-class 9", - "59": { - "#text": "60 61 62 63 to traffic-class 9", - "60": { - "#text": "61 62 63 to traffic-class 9", - "61": { - "#text": "62 63 to traffic-class 9", - "62": { - "#text": "63 to traffic-class 9", - "63": { - "#text": "to traffic-class 9", - "to": { - "#text": "traffic-class 9", - "traffic-class": { - "#text": "9", - "9": { - "#standalone": true - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } + }, + { + "no": { + "#text": "shutdown", + "protocol": { + "#text": "https ssl profile", + "http": { + "#text": "localhost port 8080", + "port": { + "#text": "80", + "80": { + "#standalone": true + } + }, + "localhost": { + "#text": "port 8080", + "port": { + "#text": "8080", + "8080": { + "#standalone": true } } } + }, + "unix-socket": { + "#standalone": true + }, + "https": { + "#text": "ssl profile", + "certificate": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } } + }, + "cors": { + "#text": "allowed-origin", + "allowed-origin": { + "#standalone": true + } + }, + "shutdown": { + "#standalone": true } } - } - } - }, - "traffic-class": { - "#text": "0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", - "0": { - "#text": "1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", - "1": { - "#text": "2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", - "2": { - "#text": "3 4 5 6 7 8 9 10 11 to mc-tx-queue 4", - "3": { - "#text": "4 5 6 7 8 9 10 11 to mc-tx-queue 4", - "4": { - "#text": "5 6 7 8 9 10 11 to mc-tx-queue 4", - "5": { - "#text": "6 7 8 9 10 11 to mc-tx-queue 4", - "6": { - "#text": "7 8 9 10 11 to mc-tx-queue 4", - "7": { - "#text": "8 9 10 11 to mc-tx-queue 4", - "8": { - "#text": "9 10 11 to mc-tx-queue 4", - "9": { - "#text": "10 11 to mc-tx-queue 4", - "10": { - "#text": "11 to mc-tx-queue 4", - "11": { - "#text": "to mc-tx-queue 4", - "to": { - "#text": "mc-tx-queue 4", - "cos": { - "#text": "3", - "3": { - "#standalone": true - } - }, - "uc-tx-queue": { - "#text": "4", - "4": { - "#standalone": true - } - }, - "mc-tx-queue": { - "#text": "4", - "4": { - "#standalone": true - } - } - } - } - } - } - } + }, + { + "no": { + "#text": "shutdown", + "protocol": { + "#text": "https ssl profile", + "http": { + "#text": "localhost port 8080", + "port": { + "#text": "80", + "80": { + "#standalone": true + } + }, + "localhost": { + "#text": "port 8080", + "port": { + "#text": "8080", + "8080": { + "#standalone": true + } + } + } + }, + "unix-socket": { + "#standalone": true + }, + "https": { + "#text": "ssl profile", + "certificate": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + "cors": { + "#text": "allowed-origin", + "allowed-origin": { + "#standalone": true + } + }, + "shutdown": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shutdown", + "protocol": { + "#text": "https ssl profile", + "http": { + "#text": "localhost port 8080", + "port": { + "#text": "80", + "80": { + "#standalone": true + } + }, + "localhost": { + "#text": "port 8080", + "port": { + "#text": "8080", + "8080": { + "#standalone": true } } } + }, + "unix-socket": { + "#standalone": true + }, + "https": { + "#text": "ssl profile", + "certificate": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + "cors": { + "#text": "allowed-origin", + "allowed-origin": { + "#standalone": true } + }, + "shutdown": { + "#standalone": true } } - } - } - } - } - }, - "policy-map": { - "#text": "type control-plane copp-system-policy", - "type": { - "#text": "control-plane copp-system-policy", - "control-plane": { - "#text": "copp-system-policy", - "copp-system-policy": { - "#text": "class copp-system-default", - "class": { - "#text": "copp-system-default", - "copp-system-bpdu": { - "#text": "bandwidth pps 5000", - "shape": { - "#text": "pps 6000", - "pps": { - "#text": "6000", - "6000": { + }, + { + "no": { + "#text": "shutdown", + "protocol": { + "#text": "https ssl profile", + "http": { + "#text": "localhost port 8080", + "port": { + "#text": "80", + "80": { + "#standalone": true + } + }, + "localhost": { + "#text": "port 8080", + "port": { + "#text": "8080", + "8080": { + "#standalone": true + } + } + } + }, + "unix-socket": { + "#standalone": true + }, + "https": { + "#text": "ssl profile", + "certificate": { "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } } } }, - "bandwidth": { - "#text": "pps 5000", - "pps": { - "#text": "5000", - "5000": { - "#standalone": true - } + "cors": { + "#text": "allowed-origin", + "allowed-origin": { + "#standalone": true } }, - "#standalone": true - }, - "copp-system-arp": { - "#text": "bandwidth pps 1000", - "shape": { - "#text": "pps 25000", - "pps": { - "#text": "25000", - "25000": { + "shutdown": { + "#standalone": true + } + } + }, + { + "protocol": { + "#text": "https mac hmac-sha1", + "https": { + "#text": "mac hmac-sha1", + "port": { + "#text": "443", + "443": { "#standalone": true } - } - }, - "bandwidth": { - "#text": "pps 1000", - "pps": { - "#text": "1000", - "1000": { + }, + "cipher": { + "#text": "aes256-cbc aes128-cbc", + "aes256-cbc": { + "#text": "aes128-cbc", + "aes128-cbc": { + "#standalone": true + } + } + }, + "key-exchange": { + "#text": "rsa diffie-hellman-ephemeral-rsa", + "rsa": { + "#text": "diffie-hellman-ephemeral-rsa", + "diffie-hellman-ephemeral-rsa": { + "#standalone": true + } + } + }, + "mac": { + "#text": "hmac-sha1", + "hmac-sha1": { "#standalone": true } } - }, - "#standalone": true - }, - "copp-system-igmp": { - "#text": "bandwidth pps 4000", - "shape": { - "#text": "pps 5000", - "pps": { - "#text": "5000", - "5000": { + } + } + }, + { + "protocol": { + "#text": "https mac hmac-sha1", + "https": { + "#text": "mac hmac-sha1", + "port": { + "#text": "443", + "443": { + "#standalone": true + } + }, + "cipher": { + "#text": "aes256-cbc aes128-cbc", + "aes256-cbc": { + "#text": "aes128-cbc", + "aes128-cbc": { + "#standalone": true + } + } + }, + "key-exchange": { + "#text": "rsa diffie-hellman-ephemeral-rsa", + "rsa": { + "#text": "diffie-hellman-ephemeral-rsa", + "diffie-hellman-ephemeral-rsa": { + "#standalone": true + } + } + }, + "mac": { + "#text": "hmac-sha1", + "hmac-sha1": { "#standalone": true } } - }, - "bandwidth": { - "#text": "pps 4000", - "pps": { - "#text": "4000", - "4000": { + } + } + }, + { + "protocol": { + "#text": "https mac hmac-sha1", + "https": { + "#text": "mac hmac-sha1", + "port": { + "#text": "443", + "443": { + "#standalone": true + } + }, + "cipher": { + "#text": "aes256-cbc aes128-cbc", + "aes256-cbc": { + "#text": "aes128-cbc", + "aes128-cbc": { + "#standalone": true + } + } + }, + "key-exchange": { + "#text": "rsa diffie-hellman-ephemeral-rsa", + "rsa": { + "#text": "diffie-hellman-ephemeral-rsa", + "diffie-hellman-ephemeral-rsa": { + "#standalone": true + } + } + }, + "mac": { + "#text": "hmac-sha1", + "hmac-sha1": { "#standalone": true } } - }, - "#standalone": true - }, - "copp-system-default": { - "#text": "no bandwidth", - "no": { - "#text": "bandwidth", - "shape": { + } + } + }, + { + "qos": { + "#text": "dscp 0", + "dscp": { + "#text": "0", + "0": { "#standalone": true + } + } + } + }, + { + "no": { + "#text": "shutdown", + "protocol": { + "#text": "https ssl profile", + "http": { + "#text": "localhost port 8080", + "port": { + "#text": "80", + "80": { + "#standalone": true + } + }, + "localhost": { + "#text": "port 8080", + "port": { + "#text": "8080", + "8080": { + "#standalone": true + } + } + } }, - "bandwidth": { + "unix-socket": { + "#standalone": true + }, + "https": { + "#text": "ssl profile", + "certificate": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + "cors": { + "#text": "allowed-origin", + "allowed-origin": { "#standalone": true } }, - "#standalone": true + "shutdown": { + "#standalone": true + } } }, - "#standalone": true - } - } - } - }, - "system": { - "#text": "coredump compressed", - "coredump": { - "#text": "compressed", - "compressed": { - "#standalone": true - } - } - }, - "management": { - "#text": "xmpp", - "api": { - "#text": "http-commands", - "http-commands": { + { + "vrf": { + "#text": "default", + "default": { + "#list": [ + { + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + } + ], + "#text": "no shutdown", + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + }, + "#standalone": true + } + } + } + ], "#text": "vrf default", "protocol": { "#text": "https mac hmac-sha1", @@ -10166,6 +204656,16 @@ "vrf": { "#text": "default", "default": { + "#list": [ + { + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + } + ], "#text": "no shutdown", "no": { "#text": "shutdown", @@ -10180,6 +204680,112 @@ } }, "cim-provider": { + "#list": [ + { + "http": { + "#text": "7778", + "7778": { + "#standalone": true + } + } + }, + { + "https": { + "#text": "7779", + "7779": { + "#standalone": true + } + } + }, + { + "idle-timeout": { + "#text": "90", + "90": { + "#standalone": true + } + } + }, + { + "default": { + "#text": "ssl key", + "live-time": { + "#standalone": true + }, + "trace": { + "#standalone": true + }, + "ssl": { + "#text": "key", + "certificate": { + "#standalone": true + }, + "key": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "ssl key", + "live-time": { + "#standalone": true + }, + "trace": { + "#standalone": true + }, + "ssl": { + "#text": "key", + "certificate": { + "#standalone": true + }, + "key": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "ssl key", + "live-time": { + "#standalone": true + }, + "trace": { + "#standalone": true + }, + "ssl": { + "#text": "key", + "certificate": { + "#standalone": true + }, + "key": { + "#standalone": true + } + } + } + }, + { + "default": { + "#text": "ssl key", + "live-time": { + "#standalone": true + }, + "trace": { + "#standalone": true + }, + "ssl": { + "#text": "key", + "certificate": { + "#standalone": true + }, + "key": { + "#standalone": true + } + } + } + } + ], "#text": "default ssl key", "shutdown": { "#standalone": true @@ -10223,6 +204829,16 @@ "#standalone": true }, "console": { + "#list": [ + { + "idle-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + ], "#text": "idle-timeout 0", "idle-timeout": { "#text": "0", @@ -10233,6 +204849,155 @@ "#standalone": true }, "cvx": { + "#list": [ + { + "no": { + "#text": "ssl profile", + "server": { + "#text": "port", + "host": { + "#standalone": true + }, + "port": { + "#standalone": true + } + }, + "source-interface": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "ssl profile", + "server": { + "#text": "port", + "host": { + "#standalone": true + }, + "port": { + "#standalone": true + } + }, + "source-interface": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + { + "no": { + "#text": "ssl profile", + "server": { + "#text": "port", + "host": { + "#standalone": true + }, + "port": { + "#standalone": true + } + }, + "source-interface": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + { + "heartbeat-interval": { + "#text": "20", + "20": { + "#standalone": true + } + } + }, + { + "heartbeat-timeout": { + "#text": "60", + "60": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "ssl profile", + "server": { + "#text": "port", + "host": { + "#standalone": true + }, + "port": { + "#standalone": true + } + }, + "source-interface": { + "#standalone": true + }, + "ssl": { + "#text": "profile", + "profile": { + "#standalone": true + } + } + } + }, + { + "service": { + "#text": "debug", + "debug": { + "#list": [ + { + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + }, + { + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + ], + "#text": "interval 1", + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + }, + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + }, + "#standalone": true + } + } + } + ], "#text": "service debug", "shutdown": { "#standalone": true @@ -10273,6 +205038,24 @@ "service": { "#text": "debug", "debug": { + "#list": [ + { + "no": { + "#text": "shutdown", + "shutdown": { + "#standalone": true + } + } + }, + { + "interval": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + ], "#text": "interval 1", "no": { "#text": "shutdown", @@ -10292,6 +205075,19 @@ "#standalone": true }, "defaults": { + "#list": [ + { + "secret": { + "#text": "hash md5", + "hash": { + "#text": "md5", + "md5": { + "#standalone": true + } + } + } + } + ], "#text": "secret hash md5", "secret": { "#text": "hash md5", @@ -10305,6 +205101,54 @@ "#standalone": true }, "security": { + "#list": [ + { + "no": { + "#text": "password minimum length", + "entropy": { + "#text": "source hardware", + "source": { + "#text": "hardware", + "hardware": { + "#standalone": true + } + } + }, + "password": { + "#text": "minimum length", + "minimum": { + "#text": "length", + "length": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "password minimum length", + "entropy": { + "#text": "source hardware", + "source": { + "#text": "hardware", + "hardware": { + "#standalone": true + } + } + }, + "password": { + "#text": "minimum length", + "minimum": { + "#text": "length", + "length": { + "#standalone": true + } + } + } + } + } + ], "#text": "no password minimum length", "no": { "#text": "password minimum length", @@ -10330,6 +205174,137 @@ "#standalone": true }, "ssh": { + "#list": [ + { + "idle-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + } + }, + { + "authentication": { + "#text": "mode keyboard-interactive", + "mode": { + "#text": "keyboard-interactive", + "keyboard-interactive": { + "#standalone": true + } + } + } + }, + { + "server-port": { + "#text": "22", + "22": { + "#standalone": true + } + } + }, + { + "hostkey": { + "#text": "server rsa dsa", + "server": { + "#text": "rsa dsa", + "rsa": { + "#text": "dsa", + "dsa": { + "#standalone": true + } + } + } + } + }, + { + "no": { + "#text": "shutdown", + "fips": { + "#text": "restrictions", + "restrictions": { + "#standalone": true + } + }, + "hostkey": { + "#text": "client strict-checking", + "client": { + "#text": "strict-checking", + "strict-checking": { + "#standalone": true + } + } + }, + "shutdown": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shutdown", + "fips": { + "#text": "restrictions", + "restrictions": { + "#standalone": true + } + }, + "hostkey": { + "#text": "client strict-checking", + "client": { + "#text": "strict-checking", + "strict-checking": { + "#standalone": true + } + } + }, + "shutdown": { + "#standalone": true + } + } + }, + { + "no": { + "#text": "shutdown", + "fips": { + "#text": "restrictions", + "restrictions": { + "#standalone": true + } + }, + "hostkey": { + "#text": "client strict-checking", + "client": { + "#text": "strict-checking", + "strict-checking": { + "#standalone": true + } + } + }, + "shutdown": { + "#standalone": true + } + } + }, + { + "login": { + "#text": "timeout 120", + "timeout": { + "#text": "120", + "120": { + "#standalone": true + } + } + } + }, + { + "log-level": { + "#text": "info", + "info": { + "#standalone": true + } + } + } + ], "#text": "log-level info", "idle-timeout": { "#text": "0", @@ -10403,6 +205378,16 @@ "#standalone": true }, "telnet": { + "#list": [ + { + "idle-timeout": { + "#text": "0", + "0": { + "#standalone": true + } + } + } + ], "#text": "idle-timeout 0", "shutdown": { "#standalone": true @@ -10416,6 +205401,27 @@ "#standalone": true }, "xmpp": { + "#list": [ + { + "vrf": { + "#text": "default", + "default": { + "#standalone": true + } + } + }, + { + "session": { + "#text": "privilege 1", + "privilege": { + "#text": "1", + "1": { + "#standalone": true + } + } + } + } + ], "#text": "session privilege 1", "shutdown": { "#standalone": true From efe0b2d11249bb2da887fed51a15a07d35cd4962 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 13:18:43 +0200 Subject: [PATCH 133/153] Added missing data for test --- .../config/default/candidate.json | 205 ++++++++++++++++++ .../config/default/merge.txt | 15 ++ .../config/default/replace.txt | 50 +++++ .../config/default/translation.txt | 40 ++++ 4 files changed, 310 insertions(+) create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/default/candidate.json create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/default/merge.txt create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/default/replace.txt create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/default/translation.txt diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/candidate.json b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/candidate.json new file mode 100644 index 00000000..611681b1 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/candidate.json @@ -0,0 +1,205 @@ +{ + "interfaces": { + "interface": { + "Ethernet1": { + "config": { + "description": "Changed description", + "enabled": true, + "type": "ethernetCsmacd" + }, + "name": "Ethernet1", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + } + }, + "Ethernet2": { + "config": { + "description": "so much oc", + "enabled": false, + "mtu": 1500, + "type": "ethernetCsmacd" + }, + "name": "Ethernet2", + "routed-vlan": { + "ipv4": { + "addresses": { + "address": { + "192.168.0.1": { + "config": { + "ip": "192.168.0.1", + "prefix-length": 24, + "secondary": false + }, + "ip": "192.168.0.1" + }, + "192.168.1.1": { + "config": { + "ip": "192.168.1.1", + "prefix-length": 24, + "secondary": true + }, + "ip": "192.168.1.1" + } + } + }, + "config": { + "enabled": true + } + } + }, + "subinterfaces": { + "subinterface": { + "1": { + "config": { + "description": "another subiface", + "enabled": false, + "name": "Ethernet2.1" + }, + "index": "1", + "ipv4": { + "addresses": { + "address": { + "172.20.1.1": { + "config": { + "ip": "172.20.1.1", + "prefix-length": 24, + "secondary": true + }, + "ip": "172.20.1.1" + }, + "192.168.1.1": { + "config": { + "ip": "192.168.1.1", + "prefix-length": 24, + "secondary": false + }, + "ip": "192.168.1.1" + } + } + }, + "config": { + "enabled": true + } + }, + "vlan": { + "config": { + "vlan-id": 1 + } + } + }, + "2": { + "config": { + "description": "asdasdasd", + "enabled": true, + "name": "Ethernet2.2" + }, + "index": "2", + "ipv4": { + "addresses": { + "address": { + "192.168.2.1": { + "config": { + "ip": "192.168.2.1", + "prefix-length": 24, + "secondary": false + }, + "ip": "192.168.2.1" + } + } + }, + "config": { + "enabled": true + } + }, + "vlan": { + "config": { + "vlan-id": 2 + } + } + } + } + } + }, + "Loopback0": { + "config": { + "description": "a loopback", + "enabled": true, + "mtu": 1500, + "type": "softwareLoopback" + }, + "name": "Loopback0", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": true + } + } + } + }, + "Management1": { + "config": { + "enabled": true, + "mtu": 1500, + "type": "ethernetCsmacd" + }, + "name": "Management1", + "routed-vlan": { + "ipv4": { + "addresses": { + "address": { + "10.0.2.15": { + "config": { + "ip": "10.0.2.15", + "prefix-length": 24, + "secondary": false + }, + "ip": "10.0.2.15" + } + } + }, + "config": { + "enabled": true + } + } + } + }, + "Port-Channel1": { + "config": { + "description": "blah", + "enabled": true, + "mtu": 9000, + "type": "ieee8023adLag" + }, + "name": "Port-Channel1", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": true + } + } + }, + "subinterfaces": { + "subinterface": { + "1": { + "config": { + "enabled": true, + "name": "Port-Channel1.1" + }, + "index": "1", + "ipv4": { + "config": { + "enabled": true + } + } + } + } + } + } + } + } +} + diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/merge.txt b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/merge.txt new file mode 100644 index 00000000..00e3065c --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/merge.txt @@ -0,0 +1,15 @@ +interface Ethernet2 + ip address 192.168.1.1/24 secondary + exit +interface Ethernet2.1 + ip address 172.20.1.1/24 secondary + default ip address 172.20.0.1/24 secondary + exit +interface Ethernet1 + description Changed description + exit +interface Loopback0 + description a loopback + mtu 1500 + exit +no interface Loopback1 diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/replace.txt b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/replace.txt new file mode 100644 index 00000000..e83fa897 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/replace.txt @@ -0,0 +1,50 @@ +default interface Ethernet2 +interface Ethernet2 + no switchport + ip address 192.168.0.1/24 + ip address 192.168.1.1/24 secondary + no switchport + no switchport + shutdown + description so much oc + mtu 1500 + exit +no interface Ethernet2.1 +interface Ethernet2.1 + encapsulation dot1q vlan 1 + ip address 172.20.1.1/24 secondary + ip address 192.168.1.1/24 + shutdown + description another subiface + exit +no interface Ethernet2.2 +interface Ethernet2.2 + encapsulation dot1q vlan 2 + ip address 192.168.2.1/24 + description asdasdasd + exit +default interface Management1 +interface Management1 + ip address 10.0.2.15/24 + mtu 1500 + exit +default interface Ethernet1 +interface Ethernet1 + description Changed description + exit +no interface Loopback0 +interface Loopback0 + description a loopback + mtu 1500 + exit +no interface Port-Channel1 +interface Port-Channel1 + no switchport + no switchport + description blah + mtu 9000 + exit +no interface Port-Channel1.1 +interface Port-Channel1.1 + exit +no interface Loopback1 diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/translation.txt b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/translation.txt new file mode 100644 index 00000000..c2fb39dc --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/translation.txt @@ -0,0 +1,40 @@ +interface Ethernet2 + no switchport + ip address 192.168.0.1/24 + no switchport + no switchport + shutdown + description so much oc + mtu 1500 + exit +interface Ethernet2.1 + encapsulation dot1q vlan 1 + ip address 172.20.0.1/24 secondary + ip address 192.168.1.1/24 + shutdown + description another subiface + exit +interface Ethernet2.2 + encapsulation dot1q vlan 2 + ip address 192.168.2.1/24 + description asdasdasd + exit +interface Management1 + ip address 10.0.2.15/24 + mtu 1500 + exit +interface Ethernet1 + description This is a description + exit +interface Loopback1 + description a loopback + mtu 1500 + exit +interface Port-Channel1 + no switchport + no switchport + description blah + mtu 9000 + exit +interface Port-Channel1.1 + exit From 10c84e25f238d1a141713ca46253bb001d66f886 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 20:59:55 +0200 Subject: [PATCH 134/153] Migrate from TextParser to TextTree --- .../includes/bgp.yaml | 18 ++++++------- .../includes/static_routes.yaml | 12 ++++----- .../network-instances.yaml | 27 +++++++++++-------- .../includes/bgp.yaml | 14 +++++----- 4 files changed, 36 insertions(+), 35 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml index 57965bfd..92e6295e 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -258,11 +258,11 @@ global: _process: unnecessary as: _process: - - regexp: "local-as (?P.*)" - default: "{{ extra_vars.process_id|default(1) }}" + - path: local-as + - path: process_id router-id: _process: - - regexp: "router-id (?P.*)" + - path: router-id default-route-distance: _process: not_implemented config: @@ -351,8 +351,7 @@ neighbors: _process: unnecessary neighbor: _process: - - regexp: "(?Pneighbor (?P\\d+.\\d+.\\d+.\\d+).*)" - flat: true + - path: neighbor add-paths: _process: not_implemented config: @@ -619,21 +618,22 @@ neighbors: _process: not_implemented description: _process: - - regexp: "neighbor {{ neighbor_key }} description (?P.*)" + - path: description enabled: _process: - mode: is_absent - regexp: "neighbor {{ neighbor_key }} (?Pshutdown)" + path: shutdown local-as: _process: - - regexp: "neighbor {{ neighbor_key }} local-as (?P\\d+)" + - path: "local-as" + regexp: "(?P\\d+)" neighbor-address: _process: - mode: value value: "{{ neighbor_key }}" peer-as: _process: - - regexp: "neighbor {{ neighbor_key }} remote-as (?P.*)" + - path: remote-as peer-group: _process: not_implemented peer-type: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 391c8416..f6fddeef 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -4,12 +4,11 @@ _process: when: "{{ protocol_key != 'static static' }}" static: _process: - - regexp: "(?Pip route (?P\\d+.*\\/\\d+).*)" + - path: "" + regexp: "(?P^\\d+\\.\\d+\\.\\d+\\.\\d+\\/\\d+)" when: "{{ network_instance_key == 'global' }}" - flat: true - - regexp: "(?Pip route vrf {{ network_instance_key }} (?P\\d+.*\\/\\d+).*)" + - path: "vrf.{{ network_instance_key }}" when: "{{ network_instance_key != 'global' }}" - flat: true config: _process: unnecessary prefix: @@ -22,15 +21,14 @@ static: _process: unnecessary next-hop: _process: - - regexp: "(?Pip route (vrf {{ network_instance_key }} )*{{ static_key }} (?P\\d+.\\d+.\\d+.\\d+) (?P\\d+) tag (?P\\d+))" + - path: "" config: _process: unnecessary index: _process: not_implemented metric: _process: - - mode: value - value: "{{ extra_vars.metric }}" + - regexp: "(?P\\d+)" next-hop: _process: - mode: value diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 9ffe1b15..406ba7ca 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: TextParser + processor: TextTree execute: - method: cli kwargs: @@ -12,16 +12,16 @@ network-instances: _process: - mode: manual key: "global" - block: "not_a_block" + block: {} extra_vars: {} - - regexp: "(?Pvrf definition (?P(.*))\n(?:.|\n)*?^!$)" + - path: vrf.definition from: root_network-instances.0 afts: !include includes/afts.yaml config: _process: unnecessary description: _process: - - regexp: "description (?P.*)" + - path: "description" enabled: _process: - mode: value @@ -34,7 +34,7 @@ network-instances: _process: unnecessary route-distinguisher: _process: - - regexp: "rd (?P.*)" + - path: "rd" router-id: _process: not_implemented type: @@ -316,17 +316,22 @@ network-instances: _process: unnecessary protocol: _process: - - regexp: "(?Prouter (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?)^(!| vrf \\w+)$" + - path: "router.?protocol.?process_id" from: root_network-instances.0 - composite_key: [protocol_name, protocol_name] + regexp: "(?Pbgp)" + key: protocol + composite_key: 2 when: "{{ network_instance_key == 'global' }}" - - regexp: "router (?P(bgp))\\s*(?P\\d+)*\n(?:.|\n)*?^ (?Pvrf {{ network_instance_key }}\n(?:.|\n)*?)^(!| vrf.*)$" + - path: "router.?protocol.?process_id.vrf.{{ network_instance_key }}" from: root_network-instances.0 - composite_key: [protocol_name, protocol_name] + regexp: "(?Pbgp)" + key: protocol + composite_key: 2 when: "{{ network_instance_key != 'global' }}" - - regexp: "(?Pip route .*\n(?:.|\n)*?^!$)" - from: root_network-instances.0 + - mode: manual + block: "root_network-instances.0.ip.route" key: "static static" + extra_vars: {} bgp: !include includes/bgp.yaml config: _process: not_implemented diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml index 0da14d74..c4af5a37 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -352,10 +352,8 @@ neighbors: _process: unnecessary neighbor: _process: - - path: "group" - key: name - expand_list: "neighbor" - expanded_key: name + - path: "group.?peer_group:name.neighbor.?neighbor:name" + key: "neighbor" add-paths: _process: not_implemented config: @@ -622,22 +620,22 @@ neighbors: _process: not_implemented description: _process: - - path: "neighbor.description" + - path: "description" enabled: _process: not_implemented local-as: _process: - - path: "neighbor.local-as.as-number" + - path: "local-as.as-number" neighbor-address: _process: - mode: value value: "{{ neighbor_key }}" peer-as: _process: - - path: "neighbor.peer-as" + - path: "peer-as" peer-group: _process: - - path: "name" + - path: "peer_group" peer-type: _process: not_implemented remove-private-as: From 15868ee255c34206bdb1e093327c7c91a402367e Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 21:00:17 +0200 Subject: [PATCH 135/153] Simplification of parse_list --- napalm_yang/parsers/jsonp.py | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/napalm_yang/parsers/jsonp.py b/napalm_yang/parsers/jsonp.py index 54a26af6..2d2543bf 100644 --- a/napalm_yang/parsers/jsonp.py +++ b/napalm_yang/parsers/jsonp.py @@ -1,6 +1,5 @@ from __future__ import absolute_import -import copy import re import json @@ -74,21 +73,9 @@ def _process_key_value(key, value, regexp, mapping): for k, v in _iterator(d, mapping.get("key")): if k.startswith("#"): continue - expand_list = mapping.get("expand_list") - if expand_list: - dd = cls.resolve_path(v, expand_list) - copied_data = copy.deepcopy(v) - copied_data.pop(expand_list) - for kk, vv in _iterator(dd, mapping.get("expanded_key")): - vv = {expand_list: vv} - vv.update(copied_data) - key, extra_vars = _process_key_value(kk, vv, regexp, mapping) - if key: - yield key, vv, extra_vars - else: - key, extra_vars = _process_key_value(k, v, regexp, mapping) - if key: - yield key, v, extra_vars + key, extra_vars = _process_key_value(k, v, regexp, mapping) + if key: + yield key, v, extra_vars @classmethod def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): From 7350899593d3df8a878664c98d978fdf5bb0e194 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Sun, 23 Jul 2017 21:01:18 +0200 Subject: [PATCH 136/153] resolve_path can now coalesce nested structures --- napalm_yang/parsers/base.py | 43 ++++++++++- test/unit/test_parser.py | 138 ++++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+), 3 deletions(-) create mode 100644 test/unit/test_parser.py diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 126f42f5..3ff1e9ff 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -3,19 +3,52 @@ class BaseParser(object): - @staticmethod - def resolve_path(my_dict, path, default=None, check_presence=False): + @classmethod + def resolve_path(cls, my_dict, path, default=None, check_presence=False): if path is None: return b = my_dict path_split = path.split(".") if len(path) else [] + result = None + for i, p in enumerate(path_split): + if p[0] == "?": + result = [] if result is None else result + + if isinstance(b, dict) and ":" not in p: + iterator = b.items() + else: + if isinstance(b, dict): + b = [b] + p, var_name = p.split(":") + try: + iterator = {e[var_name]: e for e in b}.items() + except Exception: + iterator = {e[var_name]["#text"]: e for e in b}.items() + + for k, v in iterator: + if k.startswith("#"): + continue + r = cls.resolve_path(v, ".".join(path_split[i+1:]), default, check_presence) + if isinstance(r, list): + for rr in r: + rr[p[1:]] = k + for kk, vv in v.items(): + if kk != path_split[i+1]: + rr[kk] = vv + result.append(rr) + else: + r[p[1:]] = k + result.append(r) + break try: if isinstance(b, dict): b = b[p] elif isinstance(b, list): b = b[int(p)] + elif p == "#text": + continue else: raise Exception(b) except (KeyError, TypeError, IndexError, ValueError): @@ -23,7 +56,11 @@ def resolve_path(my_dict, path, default=None, check_presence=False): else: if check_presence: return i == len(path_split) - 1 - return b + + if not result: + result = b + + return result @classmethod def init_native(cls, native): diff --git a/test/unit/test_parser.py b/test/unit/test_parser.py new file mode 100644 index 00000000..b68fbfcc --- /dev/null +++ b/test/unit/test_parser.py @@ -0,0 +1,138 @@ +import napalm_yang + + +class Tests(object): + + def test_resolve_path_dict(self): + data = { + "simple": { + "path": 123 + } + } + path = "simple.path" + result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + assert result == 123 + + def test_resolve_path_list(self): + data = { + "simple": [ + {"path": 123} + ] + } + path = "simple.0.path" + result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + assert result == 123 + + def test_extract_value_simple(self): + data = { + "group": { + "group_1": { + "data": {"whatever": 1}, + "subgroup": { + "subgroup_1": {"path": 2}, + "subgroup_2": {"path": 3}, + }, + }, + "group_2": { + "data": {"whatever": 4}, + "subgroup": { + "subgroup_3": {"path": 5}, + "subgroup_4": {"path": 6}, + }, + } + } + } + path = "group.?name" + result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + expected = [ + {'data': {'whatever': 1}, + 'name': 'group_1', + 'subgroup': {'subgroup_1': {'path': 2}, 'subgroup_2': {'path': 3}}}, + {'data': {'whatever': 4}, + 'name': 'group_2', + 'subgroup': {'subgroup_3': {'path': 5}, 'subgroup_4': {'path': 6}}}] + assert result == expected or result == list(reversed(expected)) + + def test_extract_value_nested(self): + data = { + "group": { + "group_1": { + "data": {"whatever": 1}, + "subgroup": { + "subgroup_1": {"path": 2}, + "subgroup_2": {"path": 3}, + }, + }, + "group_2": { + "data": {"whatever": 4}, + "subgroup": { + "subgroup_3": {"path": 5}, + "subgroup_4": {"path": 6}, + }, + } + } + } + path = "group.?name.subgroup.?subname" + result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + expected = [ + {'name': 'group_1', 'path': 2, 'subname': 'subgroup_1', "data": {"whatever": 1}}, + {'name': 'group_1', 'path': 3, 'subname': 'subgroup_2', "data": {"whatever": 1}}, + {'name': 'group_2', 'path': 5, 'subname': 'subgroup_3', "data": {"whatever": 4}}, + {'name': 'group_2', 'path': 6, 'subname': 'subgroup_4', "data": {"whatever": 4}}] + assert sorted(result, key=lambda k: k['subname']) == expected + + def test_extract_value_nested_list(self): + data = { + "group": [{"name": "group_1", + "data": {"whatever": 1}, + "subgroup": [{"name": "subgroup_1", "path": 2}, + {"name": "subgroup_2", "path": 3}]}, + {"name": "group_2", + "data": {"whatever": 4}, + "subgroup": [{"name": "subgroup_3", "path": 5}, + {"name": "subgroup_4", "path": 6}]}]} + path = "group.?group:name.subgroup.?subgroup:name" + result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + expected = [ + {'data': {'whatever': 1}, 'group': 'group_1', 'name': 'group_1', + 'path': 2, 'subgroup': 'subgroup_1'}, + {'data': {'whatever': 1}, 'group': 'group_1', 'name': 'group_1', + 'path': 3, 'subgroup': 'subgroup_2'}, + {'data': {'whatever': 4}, 'group': 'group_2', 'name': 'group_2', + 'path': 5, 'subgroup': 'subgroup_3'}, + {'data': {'whatever': 4}, 'group': 'group_2', 'name': 'group_2', + 'path': 6, 'subgroup': 'subgroup_4'}] + assert sorted(result, key=lambda k: k['subgroup']) == expected + + def test_junos_neighbor(self): + data = {"group": [{"name": {"#text": "my_peers"}, + "neighbor": [ + { + "name": {"#text": "192.168.100.2"}, + "description": {"#text": "adsasd"}, + "peer-as": {"#text": "65100"} + }, + { + "name": {"#text": "192.168.100.3"}, + "peer-as": {"#text": "65100"}}]}, + {"name": {"#text": "my_other_peers"}, + "neighbor": { + "name": {"#text": "172.20.0.1"}, + "peer-as": {"#text": "65200"}}}]} + path = "group.?peer_group:name.neighbor.?neighbor:name" + result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + expected = [ + {'name': {'#text': 'my_other_peers'}, + 'neighbor': '172.20.0.1', + 'peer-as': {'#text': '65200'}, + 'peer_group': 'my_other_peers'}, + {'description': {'#text': 'adsasd'}, + 'name': {'#text': 'my_peers'}, + 'neighbor': '192.168.100.2', + 'peer-as': {'#text': '65100'}, + 'peer_group': 'my_peers'}, + {'name': {'#text': 'my_peers'}, + 'neighbor': '192.168.100.3', + 'peer-as': {'#text': '65100'}, + 'peer_group': 'my_peers'}] + assert sorted(result, key=lambda k: k['neighbor']) == expected From f229e0710603e743cc8c9582cdd089dfefede1e7 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 24 Jul 2017 10:45:41 +0200 Subject: [PATCH 137/153] Generalize post_process_filter --- napalm_yang/parsers/base.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 3ff1e9ff..290625e1 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -1,3 +1,5 @@ +import ast + from napalm_yang.helpers import template @@ -80,7 +82,10 @@ def parse_list(cls, mapping, bookmarks): m["block"] = cls.resolve_path(bookmarks, m["block"], default=m["block"]) + post_process_filter = m.pop("post_process_filter", None) for key, block, extra_vars in getattr(cls, method_name)(m, data): + if post_process_filter: + key = cls._parse_post_process_filter(post_process_filter, extra_vars, key=key) yield key, block, extra_vars # we restore the parent @@ -96,7 +101,15 @@ def parse_leaf(cls, mapping, bookmarks): data = cls.resolve_path(bookmarks, m.get("from", "parent")) method_name = "_parse_leaf_{}".format(m.get("mode", "default")) result = getattr(cls, method_name)(m, data) + if result is not None: + post_process_filter = m.pop("post_process_filter", None) + if post_process_filter: + result = cls._parse_post_process_filter(post_process_filter, value=result) + try: + result = ast.literal_eval(result) + except ValueError: + pass return result @classmethod @@ -141,9 +154,6 @@ def _parse_container_gate(cls, mapping, bookmarks): return None, {} @classmethod - def _parse_post_process_filter(cls, post_process_filter, key, extra_vars={}): - kwargs = dict() - kwargs['key'] = key + def _parse_post_process_filter(cls, post_process_filter, extra_vars={}, **kwargs): kwargs["extra_vars"] = extra_vars - key = template(post_process_filter, **kwargs) - return key + return template(post_process_filter, **kwargs) From 83554bb78f5d144f4e18d10f298151ceeef4ff23 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 24 Jul 2017 10:48:29 +0200 Subject: [PATCH 138/153] update existing keys instead of overwriting --- napalm_yang/parsers/text_tree.py | 11 +- test/unit/text_tree/test_case_1/expected.json | 585 +++++++++++++++++- 2 files changed, 584 insertions(+), 12 deletions(-) diff --git a/napalm_yang/parsers/text_tree.py b/napalm_yang/parsers/text_tree.py index f9746b3c..3f64d860 100644 --- a/napalm_yang/parsers/text_tree.py +++ b/napalm_yang/parsers/text_tree.py @@ -25,7 +25,10 @@ def _attach_data_to_path(obj, path, data, list_=False): if first and list_: obj["#list"].append({p: o}) first = False - o[p] = data + if p in o: + o[p].update(data) + else: + o[p] = data # We add a standalong flag to be able to distinguish this situation: # switchport @@ -94,6 +97,12 @@ def init_native(cls, native): resp.append(n) else: resp.append(parse_indented_config(n.splitlines())) + + # with open("/tmp/napalm-tree-parser", "w+") as f: + # import json + # f.write(json.dumps(resp[0]["interface"]["Ethernet1"], indent=4)) + # raise Exception + return resp @classmethod diff --git a/test/unit/text_tree/test_case_1/expected.json b/test/unit/text_tree/test_case_1/expected.json index 3968d247..37f345f1 100644 --- a/test/unit/text_tree/test_case_1/expected.json +++ b/test/unit/text_tree/test_case_1/expected.json @@ -263,6 +263,10 @@ "virtual-router": { "#text": "mac-address", "mac-address": { + "#text": "mlag-peer", + "mlag-peer": { + "#standalone": true + }, "#standalone": true } }, @@ -2137,6 +2141,13 @@ "any": { "#text": "any", "any": { + "#text": "eq 443", + "eq": { + "#text": "443", + "443": { + "#standalone": true + } + }, "#standalone": true } } @@ -2174,6 +2185,13 @@ "any": { "#text": "any", "any": { + "#text": "eq 443", + "eq": { + "#text": "443", + "443": { + "#standalone": true + } + }, "#standalone": true } } @@ -2210,6 +2228,13 @@ "any": { "#text": "any", "any": { + "#text": "eq 443", + "eq": { + "#text": "443", + "443": { + "#standalone": true + } + }, "#standalone": true } } @@ -2782,6 +2807,16 @@ "length": { "#text": "global-buffer", "global-buffer": { + "#text": "thresholds 512 256", + "thresholds": { + "#text": "512 256", + "512": { + "#text": "256", + "256": { + "#standalone": true + } + } + }, "#standalone": true } } @@ -151109,7 +151144,7 @@ }, { "switchport": { - "#text": "mac address learning", + "#text": "tool allowed vlan 1-4094", "access": { "#text": "vlan 1", "vlan": { @@ -151163,12 +151198,55 @@ "#standalone": true } } + }, + "#standalone": true, + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } } } }, { "switchport": { - "#text": "mac address learning", + "#text": "tool allowed vlan 1-4094", "access": { "#text": "vlan 1", "vlan": { @@ -151222,12 +151300,55 @@ "#standalone": true } } + }, + "#standalone": true, + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } } } }, { "switchport": { - "#text": "mac address learning", + "#text": "tool allowed vlan 1-4094", "access": { "#text": "vlan 1", "vlan": { @@ -151281,6 +151402,49 @@ "#standalone": true } } + }, + "#standalone": true, + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } } } }, @@ -151463,7 +151627,7 @@ }, { "switchport": { - "#text": "mac address learning", + "#text": "tool allowed vlan 1-4094", "access": { "#text": "vlan 1", "vlan": { @@ -151517,12 +151681,55 @@ "#standalone": true } } + }, + "#standalone": true, + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } } } }, { "switchport": { - "#text": "mac address learning", + "#text": "tool allowed vlan 1-4094", "access": { "#text": "vlan 1", "vlan": { @@ -151576,6 +151783,49 @@ "#standalone": true } } + }, + "#standalone": true, + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } } } }, @@ -151758,7 +152008,7 @@ }, { "switchport": { - "#text": "mac address learning", + "#text": "tool allowed vlan 1-4094", "access": { "#text": "vlan 1", "vlan": { @@ -151812,6 +152062,49 @@ "#standalone": true } } + }, + "#standalone": true, + "port-security": { + "#text": "maximum 1", + "maximum": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "tap": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "tool": { + "#text": "allowed vlan 1-4094", + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } } } }, @@ -152824,8 +153117,62 @@ }, { "switchport": { - "#standalone": true, "#text": "tool allowed vlan 1-4094", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + }, + "#standalone": true, "port-security": { "#text": "maximum 1", "maximum": { @@ -162325,8 +162672,62 @@ }, { "switchport": { - "#standalone": true, "#text": "tool allowed vlan 1-4094", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + }, + "#standalone": true, "port-security": { "#text": "maximum 1", "maximum": { @@ -162727,8 +163128,62 @@ }, { "switchport": { - "#standalone": true, "#text": "tool allowed vlan 1-4094", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + }, + "#standalone": true, "port-security": { "#text": "maximum 1", "maximum": { @@ -162775,8 +163230,62 @@ }, { "switchport": { - "#standalone": true, "#text": "tool allowed vlan 1-4094", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + }, + "#standalone": true, "port-security": { "#text": "maximum 1", "maximum": { @@ -164319,8 +164828,62 @@ } }, "switchport": { - "#standalone": true, "#text": "tool allowed vlan 1-4094", + "access": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "trunk": { + "#text": "allowed vlan 1-4094", + "native": { + "#text": "vlan 1", + "vlan": { + "#text": "1", + "1": { + "#standalone": true + } + } + }, + "allowed": { + "#text": "vlan 1-4094", + "vlan": { + "#text": "1-4094", + "1-4094": { + "#standalone": true + } + } + } + }, + "mode": { + "#text": "access", + "access": { + "#standalone": true + } + }, + "dot1q": { + "#text": "ethertype 0x8100", + "ethertype": { + "#text": "0x8100", + "0x8100": { + "#standalone": true + } + } + }, + "mac": { + "#text": "address learning", + "address": { + "#text": "learning", + "learning": { + "#standalone": true + } + } + }, + "#standalone": true, "port-security": { "#text": "maximum 1", "maximum": { From e6b788361ce50bf0b1ea9010467c114f70a88c80 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 24 Jul 2017 10:55:42 +0200 Subject: [PATCH 139/153] Added filter vlan_range_to_oc --- napalm_yang/jinja_filters/__init__.py | 2 ++ napalm_yang/jinja_filters/vlan_filters.py | 18 ++++++++++++++++++ test/unit/test_jinja_filters.py | 8 +++++++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 napalm_yang/jinja_filters/vlan_filters.py diff --git a/napalm_yang/jinja_filters/__init__.py b/napalm_yang/jinja_filters/__init__.py index 54583cd6..500eccb7 100644 --- a/napalm_yang/jinja_filters/__init__.py +++ b/napalm_yang/jinja_filters/__init__.py @@ -1,9 +1,11 @@ import ip_filters import json_filters +import vlan_filters JINJA_FILTERS = [ ip_filters, json_filters, + vlan_filters, ] diff --git a/napalm_yang/jinja_filters/vlan_filters.py b/napalm_yang/jinja_filters/vlan_filters.py new file mode 100644 index 00000000..0b3f11ca --- /dev/null +++ b/napalm_yang/jinja_filters/vlan_filters.py @@ -0,0 +1,18 @@ +from napalm_yang.jinja_filters.helpers import check_empty + + +def filters(): + return { + "vlan_range_to_oc": vlan_range_to_oc, + } + + +@check_empty +def vlan_range_to_oc(value): + """ + Converts an industry standard vlan range into a list that can be + interpreted by openconfig. For example: + + "1, 2, 3-10" -> ["1", "2", "3..10"] + """ + return [s.replace("-", "..") for s in value.split(",")] diff --git a/test/unit/test_jinja_filters.py b/test/unit/test_jinja_filters.py index f34e4b73..48a1ffd0 100644 --- a/test/unit/test_jinja_filters.py +++ b/test/unit/test_jinja_filters.py @@ -16,7 +16,7 @@ except ImportError: HAS_NETADDR = False -from napalm_yang.jinja_filters import ip_filters, load_filters +from napalm_yang.jinja_filters import ip_filters, load_filters, vlan_filters class TestJinjaFilters(unittest.TestCase): @@ -129,3 +129,9 @@ def test_prefix_to_addrmask(self): '192.168.0.1 255.255.255.0') self.assertEqual(ip_filters.prefix_to_addrmask('192.168.0.0/32', '/'), '192.168.0.0/255.255.255.255') + + def test_vlan_range_to_openconfig(self): + self.assertEqual(vlan_filters.vlan_range_to_oc("1, 2, 4-10"), + ['1', ' 2', ' 4..10']) + self.assertEqual(vlan_filters.vlan_range_to_oc("1, 2, 4-10, 100-200"), + ['1', ' 2', ' 4..10', ' 100..200']) From 8c82a80696923fac0f71d84b5aab0a478dd0bf86 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 24 Jul 2017 13:48:25 +0200 Subject: [PATCH 140/153] Added filter oc_to_vlan_range --- napalm_yang/jinja_filters/vlan_filters.py | 12 ++++++++++++ test/unit/test_jinja_filters.py | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/napalm_yang/jinja_filters/vlan_filters.py b/napalm_yang/jinja_filters/vlan_filters.py index 0b3f11ca..9d31fa4e 100644 --- a/napalm_yang/jinja_filters/vlan_filters.py +++ b/napalm_yang/jinja_filters/vlan_filters.py @@ -4,6 +4,7 @@ def filters(): return { "vlan_range_to_oc": vlan_range_to_oc, + "oc_to_vlan_range": oc_to_vlan_range, } @@ -16,3 +17,14 @@ def vlan_range_to_oc(value): "1, 2, 3-10" -> ["1", "2", "3..10"] """ return [s.replace("-", "..") for s in value.split(",")] + + +@check_empty +def oc_to_vlan_range(value): + """ + Converts an industry standard vlan range into a list that can be + interpreted by openconfig. For example: + + ["1", "2", "3..10"] -> "1, 2, 3-10" + """ + return ",".join(["{}".format(s).replace("..", "-") for s in value]) diff --git a/test/unit/test_jinja_filters.py b/test/unit/test_jinja_filters.py index 48a1ffd0..f41b8431 100644 --- a/test/unit/test_jinja_filters.py +++ b/test/unit/test_jinja_filters.py @@ -135,3 +135,9 @@ def test_vlan_range_to_openconfig(self): ['1', ' 2', ' 4..10']) self.assertEqual(vlan_filters.vlan_range_to_oc("1, 2, 4-10, 100-200"), ['1', ' 2', ' 4..10', ' 100..200']) + + def test_openconfig_to_vlan_range(self): + self.assertEqual(vlan_filters.oc_to_vlan_range([1, 2, '4..10']), + "1,2,4-10") + self.assertEqual(vlan_filters.oc_to_vlan_range([1, '2', '4..10', '100..200']), + "1,2,4-10,100-200") From c5b7106c4667ea932b077cfb283c0a542471ea8e Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 24 Jul 2017 13:49:54 +0200 Subject: [PATCH 141/153] Added parser/translator for openconfig-vlan/eos --- .../config/openconfig-vlan/switched-vlan.yaml | 28 + .../parsers/config/openconfig-vlan/vlans.yaml | 40 + .../openconfig-if-ethernet/ethernet.yaml | 20 + .../openconfig-vlan/switched-vlan.yaml | 30 + .../translators/openconfig-vlan/vlans.yaml | 38 + test/integration/test_profiles.py | 2 + .../config/l2_ports/candidate.json | 85 ++ .../config/l2_ports/expected.json | 86 ++ .../config/l2_ports/merge.txt | 11 + .../mocked/cli.1.show_running_config_all.0 | 1014 +++++++++++++++++ .../config/l2_ports/replace.txt | 19 + .../config/l2_ports/translation.txt | 16 + .../config/default/candidate.json | 25 + .../config/default/expected.json | 25 + .../openconfig-vlan/config/default/merge.txt | 8 + .../mocked/cli.1.show_running_config_all.0 | 960 ++++++++++++++++ .../config/default/replace.txt | 14 + .../config/default/translation.txt | 10 + 18 files changed, 2431 insertions(+) create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-vlan/switched-vlan.yaml create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlans.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-if-ethernet/ethernet.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-vlan/switched-vlan.yaml create mode 100644 napalm_yang/mappings/eos/translators/openconfig-vlan/vlans.yaml create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/candidate.json create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/expected.json create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/merge.txt create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/mocked/cli.1.show_running_config_all.0 create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/replace.txt create mode 100644 test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/translation.txt create mode 100644 test/integration/test_profiles/eos/openconfig-vlan/config/default/candidate.json create mode 100644 test/integration/test_profiles/eos/openconfig-vlan/config/default/expected.json create mode 100644 test/integration/test_profiles/eos/openconfig-vlan/config/default/merge.txt create mode 100644 test/integration/test_profiles/eos/openconfig-vlan/config/default/mocked/cli.1.show_running_config_all.0 create mode 100644 test/integration/test_profiles/eos/openconfig-vlan/config/default/replace.txt create mode 100644 test/integration/test_profiles/eos/openconfig-vlan/config/default/translation.txt diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/switched-vlan.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/switched-vlan.yaml new file mode 100644 index 00000000..ff953f26 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/switched-vlan.yaml @@ -0,0 +1,28 @@ +--- +metadata: + prefix: "oc-ethernet" + processor: TextTree + +switched-vlan: + _process: unnecessary + config: + _process: unnecessary + access-vlan: + _process: + - path: switchport.access.vlan + interface-mode: + _process: + - mode: map + path: switchport.mode + map: + access: ACCESS + trunk: TRUNK + native-vlan: + _process: + - path: switchport.trunk.native.vlan + trunk-vlans: + _process: + - path: switchport.trunk.allowed.vlan + post_process_filter: "{{ value|vlan_range_to_oc }}" + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlans.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlans.yaml new file mode 100644 index 00000000..84848ea5 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/vlans.yaml @@ -0,0 +1,40 @@ +--- +metadata: + prefix: "oc-vlan" + processor: TextTree + execute: + - method: cli + kwargs: + commands: ["show running-config all"] + +vlans: + _process: unnecessary + vlan: + _process: + - path: vlan + regexp: "(?P\\d+)" + from: root_vlans.0 + config: + _process: unnecessary + name: + _process: + - path: name + status: + _process: + - mode: map + path: state + map: + active: ACTIVE + suspend: SUSPENDED + tpid: + _process: not_implemented + vlan-id: + _process: unnecessary + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-if-ethernet/ethernet.yaml b/napalm_yang/mappings/eos/translators/openconfig-if-ethernet/ethernet.yaml new file mode 100644 index 00000000..29f60e3c --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-if-ethernet/ethernet.yaml @@ -0,0 +1,20 @@ +--- +metadata: + processor: TextTranslator + +ethernet: + _process: unnecessary + config: + _process: unnecessary + auto-negotiate: + _process: not_implemented + duplex-mode: + _process: not_implemented + enable-flow-control: + _process: not_implemented + mac-address: + _process: not_implemented + port-speed: + _process: not_implemented + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-vlan/switched-vlan.yaml b/napalm_yang/mappings/eos/translators/openconfig-vlan/switched-vlan.yaml new file mode 100644 index 00000000..adff7298 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-vlan/switched-vlan.yaml @@ -0,0 +1,30 @@ +--- +metadata: + processor: TextTranslator + +switched-vlan: + _process: unnecessary + config: + _process: unnecessary + access-vlan: + _process: + - value: " switchport access vlan {{ model }}\n" + negate: " default switchport access vlan\n" + interface-mode: + _process: + - value: " switchport mode access\n" + negate: " default switchport mode\n" + when: "{{ model == 'ACCESS' }}" + - value: " switchport mode trunk\n" + negate: " default switchport mode\n" + when: "{{ model != 'ACCESS' }}" + native-vlan: + _process: + - value: " switchport native vlan {{ model }}\n" + negate: " default switchport native vlan\n" + trunk-vlans: + _process: + - value: " switchport trunk vlan {{ model|oc_to_vlan_range }}\n" + negate: " default switchport trunk vlan\n" + state: + _process: not_implemented diff --git a/napalm_yang/mappings/eos/translators/openconfig-vlan/vlans.yaml b/napalm_yang/mappings/eos/translators/openconfig-vlan/vlans.yaml new file mode 100644 index 00000000..3ad1b3e7 --- /dev/null +++ b/napalm_yang/mappings/eos/translators/openconfig-vlan/vlans.yaml @@ -0,0 +1,38 @@ +--- +metadata: + processor: TextTranslator + root: true + +vlans: + _process: unnecessary + vlan: + _process: + - key_value: "vlan {{ vlan_key }}\n" + negate: "no vlan {{ vlan_key }}\n" + end: " exit\n" + config: + _process: unnecessary + name: + _process: + - value: " name {{ model }}\n" + negate: " default name\n" + status: + _process: + - value: " state active\n" + negate: " default state\n" + when: "{{ model == 'ACTIVE' }}" + - value: " state suspend\n" + negate: " default state\n" + when: "{{ model != 'ACTIVE' }}" + tpid: + _process: not_implemented + vlan-id: + _process: unnecessary + members: + _process: not_implemented + member: + _process: not_implemented + state: + _process: not_implemented + vlan-id: + _process: not_implemented diff --git a/test/integration/test_profiles.py b/test/integration/test_profiles.py index 841d792e..3d9943c9 100644 --- a/test/integration/test_profiles.py +++ b/test/integration/test_profiles.py @@ -36,6 +36,8 @@ def pretty_json(dictionary): ["ios", "config", napalm_yang.models.openconfig_interfaces, "default"], ["eos", "config", napalm_yang.models.openconfig_network_instance, "default"], ["eos", "config", napalm_yang.models.openconfig_interfaces, "default"], + ["eos", "config", napalm_yang.models.openconfig_interfaces, "l2_ports"], + ["eos", "config", napalm_yang.models.openconfig_vlan, "default"], ["eos", "state", napalm_yang.models.openconfig_interfaces, "default"], ["junos", "config", napalm_yang.models.openconfig_network_instance, "default"], ["junos", "state", napalm_yang.models.openconfig_interfaces, "default"], diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/candidate.json b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/candidate.json new file mode 100644 index 00000000..b7db6f9a --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/candidate.json @@ -0,0 +1,85 @@ +{ + "interfaces": { + "interface": { + "Ethernet1": { + "config": { + "enabled": true, + "type": "ethernetCsmacd" + }, + "ethernet": { + "switched-vlan": { + "config": { + "access-vlan": 20, + "interface-mode": "ACCESS", + "native-vlan": 30, + "trunk-vlans": [ + "1..4094" + ] + } + } + }, + "name": "Ethernet1", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + } + }, + "Ethernet2": { + "config": { + "enabled": true, + "type": "ethernetCsmacd" + }, + "ethernet": { + "switched-vlan": { + "config": { + "access-vlan": 1, + "interface-mode": "TRUNK", + "native-vlan": 20, + "trunk-vlans": [ + "30" + ] + } + } + }, + "name": "Ethernet2", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + } + }, + "Management1": { + "config": { + "enabled": true, + "mtu": 1500, + "type": "ethernetCsmacd" + }, + "name": "Management1", + "routed-vlan": { + "ipv4": { + "addresses": { + "address": { + "10.0.2.15": { + "config": { + "ip": "10.0.2.15", + "prefix-length": 24, + "secondary": false + }, + "ip": "10.0.2.15" + } + } + }, + "config": { + "enabled": true + } + } + } + } + } + } +} diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/expected.json b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/expected.json new file mode 100644 index 00000000..d2a519d4 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/expected.json @@ -0,0 +1,86 @@ +{ + "interfaces": { + "interface": { + "Ethernet1": { + "config": { + "enabled": true, + "type": "ethernetCsmacd" + }, + "ethernet": { + "switched-vlan": { + "config": { + "access-vlan": 1, + "interface-mode": "TRUNK", + "native-vlan": 30, + "trunk-vlans": [ + "20..22", + 40 + ] + } + } + }, + "name": "Ethernet1", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + } + }, + "Ethernet2": { + "config": { + "enabled": true, + "type": "ethernetCsmacd" + }, + "ethernet": { + "switched-vlan": { + "config": { + "access-vlan": 30, + "interface-mode": "ACCESS", + "native-vlan": 1, + "trunk-vlans": [ + "1..4094" + ] + } + } + }, + "name": "Ethernet2", + "routed-vlan": { + "ipv4": { + "config": { + "enabled": false + } + } + } + }, + "Management1": { + "config": { + "enabled": true, + "mtu": 1500, + "type": "ethernetCsmacd" + }, + "name": "Management1", + "routed-vlan": { + "ipv4": { + "addresses": { + "address": { + "10.0.2.15": { + "config": { + "ip": "10.0.2.15", + "prefix-length": 24, + "secondary": false + }, + "ip": "10.0.2.15" + } + } + }, + "config": { + "enabled": true + } + } + } + } + } + } +} diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/merge.txt b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/merge.txt new file mode 100644 index 00000000..50c972a1 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/merge.txt @@ -0,0 +1,11 @@ +interface Ethernet2 + switchport native vlan 20 + switchport access vlan 1 + switchport trunk vlan 30 + switchport mode trunk + exit +interface Ethernet1 + switchport access vlan 20 + switchport trunk vlan 1-4094 + switchport mode access + exit diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/mocked/cli.1.show_running_config_all.0 b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/mocked/cli.1.show_running_config_all.0 new file mode 100644 index 00000000..3e06920a --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/mocked/cli.1.show_running_config_all.0 @@ -0,0 +1,1014 @@ +! Command: show running-config all +! device: localhost (vEOS, EOS-4.15.2.1F) +! +! boot system flash:/vEOS-lab.swi +! +hardware access-list ipv6 implicit-permit icmpv6 all +! +no deep-inspection payload l2 skip +no deep-inspection payload l4 skip +! +agent fatal-error action reload +! +bfd slow-timer 2000 +bfd interval 300 min_rx 300 multiplier 3 default +! +prompt %H%R%v%P +no service configuration session max completed +no service configuration session max pending +! +schedule config max-concurrent-jobs 1 +schedule tech-support interval 60 max-log-files 100 command show tech-support +! +no logging event storm-control discards global +no logging event storm-control discards interval +! +cvx + shutdown + port 9979 + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 + service hsc + vtep flood list type any + service openstack + shutdown + grace-period 60 + name-resolution interval 21600 + service vxlan + shutdown + vtep mac-learning control-plane + resync-period 300 +! +no dcbx application +! +no ip dhcp relay information option +no ip dhcp relay always-on +no ip dhcp smart-relay global +! +no ip dhcp snooping +no ip dhcp snooping information option +ip dhcp snooping information option circuit-id type 0 format %p:%v +! +default switch forwarding-mode +! +vlan internal allocation policy ascending +! +email + no from-user + no server + no auth username + no auth password + no tls +! +errdisable detect cause arp-inspection +errdisable detect cause link-flap +no errdisable recovery cause arp-inspection +no errdisable recovery cause bpduguard +no errdisable recovery cause hitless-reload-down +no errdisable recovery cause link-flap +no errdisable recovery cause loopprotectguard +no errdisable recovery cause no-internal-vlan +no errdisable recovery cause portchannelguard +no errdisable recovery cause portsec +no errdisable recovery cause tapagg +no errdisable recovery cause uplink-failure-detection +no errdisable recovery cause xcvr-unsupported +errdisable recovery interval 300 +! +event-handler dhclient + trigger on-boot + action bash sudo /mnt/flash/initialize_ma1.sh + delay 20 + no asynchronous + timeout 10 +! +ip igmp snooping +no ip igmp snooping report-flooding +ip igmp snooping robustness-variable 2 +no ip igmp snooping restart query-interval +ip igmp snooping immediate-leave +default ip igmp snooping vlan 1 +default ip igmp snooping vlan 1 querier +no ip igmp snooping vlan 1 querier address +no ip igmp snooping vlan 1 querier query-interval +no ip igmp snooping vlan 1 querier max-response-time +no ip igmp snooping vlan 1 querier last-member-query-interval +no ip igmp snooping vlan 1 querier last-member-query-count +no ip igmp snooping vlan 1 querier startup-query-interval +no ip igmp snooping vlan 1 querier startup-query-count +no ip igmp snooping vlan 1 querier version +no ip igmp snooping vlan 1 max-groups +default ip igmp snooping vlan 1 immediate-leave +default ip igmp snooping vlan 20 +default ip igmp snooping vlan 20 querier +no ip igmp snooping vlan 20 querier address +no ip igmp snooping vlan 20 querier query-interval +no ip igmp snooping vlan 20 querier max-response-time +no ip igmp snooping vlan 20 querier last-member-query-interval +no ip igmp snooping vlan 20 querier last-member-query-count +no ip igmp snooping vlan 20 querier startup-query-interval +no ip igmp snooping vlan 20 querier startup-query-count +no ip igmp snooping vlan 20 querier version +no ip igmp snooping vlan 20 max-groups +default ip igmp snooping vlan 20 immediate-leave +default ip igmp snooping vlan 21 +default ip igmp snooping vlan 21 querier +no ip igmp snooping vlan 21 querier address +no ip igmp snooping vlan 21 querier query-interval +no ip igmp snooping vlan 21 querier max-response-time +no ip igmp snooping vlan 21 querier last-member-query-interval +no ip igmp snooping vlan 21 querier last-member-query-count +no ip igmp snooping vlan 21 querier startup-query-interval +no ip igmp snooping vlan 21 querier startup-query-count +no ip igmp snooping vlan 21 querier version +no ip igmp snooping vlan 21 max-groups +default ip igmp snooping vlan 21 immediate-leave +default ip igmp snooping vlan 22 +default ip igmp snooping vlan 22 querier +no ip igmp snooping vlan 22 querier address +no ip igmp snooping vlan 22 querier query-interval +no ip igmp snooping vlan 22 querier max-response-time +no ip igmp snooping vlan 22 querier last-member-query-interval +no ip igmp snooping vlan 22 querier last-member-query-count +no ip igmp snooping vlan 22 querier startup-query-interval +no ip igmp snooping vlan 22 querier startup-query-count +no ip igmp snooping vlan 22 querier version +no ip igmp snooping vlan 22 max-groups +default ip igmp snooping vlan 22 immediate-leave +default ip igmp snooping vlan 30 +default ip igmp snooping vlan 30 querier +no ip igmp snooping vlan 30 querier address +no ip igmp snooping vlan 30 querier query-interval +no ip igmp snooping vlan 30 querier max-response-time +no ip igmp snooping vlan 30 querier last-member-query-interval +no ip igmp snooping vlan 30 querier last-member-query-count +no ip igmp snooping vlan 30 querier startup-query-interval +no ip igmp snooping vlan 30 querier startup-query-count +no ip igmp snooping vlan 30 querier version +no ip igmp snooping vlan 30 max-groups +default ip igmp snooping vlan 30 immediate-leave +default ip igmp snooping vlan 40 +default ip igmp snooping vlan 40 querier +no ip igmp snooping vlan 40 querier address +no ip igmp snooping vlan 40 querier query-interval +no ip igmp snooping vlan 40 querier max-response-time +no ip igmp snooping vlan 40 querier last-member-query-interval +no ip igmp snooping vlan 40 querier last-member-query-count +no ip igmp snooping vlan 40 querier startup-query-interval +no ip igmp snooping vlan 40 querier startup-query-count +no ip igmp snooping vlan 40 querier version +no ip igmp snooping vlan 40 max-groups +default ip igmp snooping vlan 40 immediate-leave +no ip igmp snooping querier +no ip igmp snooping querier address +ip igmp snooping querier query-interval 125 +ip igmp snooping querier max-response-time 10 +ip igmp snooping querier last-member-query-interval 1 +no ip igmp snooping querier last-member-query-count +no ip igmp snooping querier startup-query-interval +no ip igmp snooping querier startup-query-count +no ip igmp snooping querier version +! +default logging event congestion-drops +! +no service interface inactive expose +! +no service interface unconnected expose +! +default load-interval default +! +transceiver qsfp default-mode 4x10G +! +ip pim log-neighbor-changes +no ip pim bfd +no ip pim ssm range +ip pim sparse-mode sg-expiry-timer 210 +ip pim spt-threshold 0 +! +ip msdp timer 30 +! +no ip pim rp-candidate +no ip pim bsr-holdtime +no ip pim bsr-sztimeout +no ip pim bsr-candidate +no ip pim bsr rp-candidate advertisement-filter +! +no ip pim register-source +! +lacp system-priority 32768 +! +no queue-monitor length +no queue-monitor length notifying +! +queue-monitor length global-buffer thresholds 512 256 +no queue-monitor length mirror +! +queue-monitor length global-buffer +! +errdisable flap-setting cause link-flap max-flaps 5 time 10 +! +lldp timer 30 +lldp holdtime 120 +lldp reinit 2 +lldp tlv-select link-aggregation +lldp tlv-select management-address +lldp tlv-select max-frame-size +lldp tlv-select port-description +lldp tlv-select port-vlan +lldp tlv-select system-capabilities +lldp tlv-select system-description +lldp tlv-select system-name +lldp run +no lldp management-address +! +logging on +logging buffered 32 debugging +logging trap informational +logging console errors +no logging synchronous +logging format timestamp traditional +no logging format hostname fqdn +logging facility local4 +no logging source-interface +! +logging level AAA debugging +logging level ACCOUNTING debugging +logging level ACL debugging +logging level AGENT debugging +logging level ALE debugging +logging level ARP debugging +logging level BFD debugging +logging level BGP debugging +logging level CAPACITY debugging +logging level CAPI debugging +logging level CLEAR debugging +logging level DATAPLANE debugging +logging level DOT1X debugging +logging level ENVMON debugging +logging level ETH debugging +logging level EVENTMON debugging +logging level EXTENSION debugging +logging level FHRP debugging +logging level FLOW debugging +logging level FORWARDING debugging +logging level FRU debugging +logging level FWK debugging +logging level GMP debugging +logging level HARDWARE debugging +logging level IGMP debugging +logging level IGMPSNOOPING debugging +logging level INTF debugging +logging level IP6ROUTING debugging +logging level IRA debugging +logging level ISIS debugging +logging level KERNELFIB debugging +logging level LACP debugging +logging level LAG debugging +logging level LAUNCHER debugging +logging level LINEPROTO debugging +logging level LLDP debugging +logging level LOGMGR debugging +logging level LOOPBACK debugging +logging level LOOPPROTECT debugging +logging level MAPREDUCEMONITOR debugging +logging level MDIO debugging +logging level MIRRORING debugging +logging level MLAG debugging +logging level MMODE debugging +logging level MROUTE debugging +logging level MRP debugging +logging level MSDP debugging +logging level MSRP debugging +logging level MVRP debugging +logging level NAT debugging +logging level OPENFLOW debugging +logging level OSPF debugging +logging level OSPF3 debugging +logging level PFC debugging +logging level PIM debugging +logging level PIMBSR debugging +logging level PORTSECURITY debugging +logging level PTP debugging +logging level PWRMGMT debugging +logging level QOS debugging +logging level QUEUEMONITOR debugging +logging level REACHABILITYMONITOR debugging +logging level REDUNDANCY debugging +logging level RIB debugging +logging level ROUTING debugging +logging level SECURITY debugging +logging level SERVERMONITOR debugging +logging level SPANTREE debugging +logging level STAGEMGR debugging +logging level SYS debugging +logging level SYSDB debugging +logging level TAPAGG debugging +logging level TCP debugging +logging level TRANSCEIVER debugging +logging level TUNNEL debugging +logging level VM debugging +logging level VMTRACERSESS debugging +logging level VMWAREVI debugging +logging level VMWAREVS debugging +logging level VRF debugging +logging level VRRP debugging +logging level VXLAN debugging +logging level XMPP debugging +logging level ZTP debugging +! +logging event link-status global +! +no ip virtual-router mac-address mlag-peer +! +no msrp streams load-file +! +no hostname +no ip domain lookup source-interface +no ip name-server +no ip domain-name +no ip host +no ipv6 host +! +no ntp trusted-key +no ntp authenticate +no ntp serve all +! +power poll-interval 5 +! +no radius-server key +radius-server timeout 5 +radius-server retransmit 3 +no radius-server deadtime +no radius-server attribute 32 include-in-access-req format +! +sflow sample 1048576 +sflow polling-interval 2 +no sflow source +no sflow source-interface +sflow sample output interface +sflow extension switch +sflow extension router +no sflow sample rewrite dscp +no sflow run +! +no sflow extension bgp +! +no snmp-server engineID local +no snmp-server chassis-id +no snmp-server contact +no snmp-server location +no snmp-server source-interface +default snmp-server enable traps +default snmp-server enable traps bgp +default snmp-server enable traps bgp arista-backward-transition +default snmp-server enable traps bgp arista-established +default snmp-server enable traps bgp backward-transition +default snmp-server enable traps bgp established +default snmp-server enable traps entity +default snmp-server enable traps entity arista-ent-sensor-alarm +default snmp-server enable traps entity ent-config-change +default snmp-server enable traps entity ent-state-oper-disabled +default snmp-server enable traps entity ent-state-oper-enabled +default snmp-server enable traps lldp +default snmp-server enable traps lldp rem-tables-change +default snmp-server enable traps msdp +default snmp-server enable traps msdp backward-transition +default snmp-server enable traps msdp established +default snmp-server enable traps ospf +default snmp-server enable traps ospf if-auth-failure +default snmp-server enable traps ospf if-config-error +default snmp-server enable traps ospf if-state-change +default snmp-server enable traps ospf nbr-state-change +default snmp-server enable traps pim +default snmp-server enable traps pim neighbor-loss +default snmp-server enable traps snmp +default snmp-server enable traps snmp authentication +default snmp-server enable traps snmp link-down +default snmp-server enable traps snmp link-up +default snmp-server enable traps snmpConfigManEvent +default snmp-server enable traps snmpConfigManEvent arista-config-man-event +default snmp-server enable traps switchover +default snmp-server enable traps switchover arista-redundancy-switch-over-notif +default snmp-server enable traps test +default snmp-server enable traps test arista-test-notification +default snmp-server enable traps vrrp +default snmp-server enable traps vrrp trap-new-master +snmp-server vrf default +! +spanning-tree mode mstp +spanning-tree hello-time 2000 +spanning-tree max-age 20 +spanning-tree forward-time 15 +spanning-tree transmit hold-count 6 +spanning-tree max-hops 20 +no spanning-tree mst pvst border +no spanning-tree portfast bpduguard default +no spanning-tree portfast bpdufilter default +spanning-tree bridge assurance +no spanning-tree loopguard default +no spanning-tree portchannel guard misconfig +spanning-tree bpduguard rate-limit default +logging event spanning-tree global +spanning-tree mst 0 priority 32768 +! +spanning-tree mst configuration + no name + revision 0 +! +no service sequence-numbers +no service running-config timestamp +! +no tacacs-server key +tacacs-server timeout 5 +! +aaa authentication login default local +no aaa authentication login console +aaa authentication enable default local +no aaa authentication policy on-success log +no aaa authentication policy on-failure log +no aaa authorization console +aaa authorization exec default local +no aaa authorization commands all default +aaa authorization config-commands +no aaa accounting exec console +no aaa accounting commands all console +no aaa accounting exec default +no aaa accounting system default +no aaa accounting dot1x default +no aaa accounting commands all default +! +no enable secret +aaa root secret 5 $1$rocf65Tl$ePLSZB6dgP1SG5rG/XsbD/ +no aaa authentication policy local allow-nopassword-remote-login +no aaa authorization policy local default-role +! +username admin privilege 15 role network-admin secret 5 $1$h67i2ZFw$82tSTs0XITPorHfEdXnSU. +username vagrant privilege 15 role network-admin secret 5 $1$Q8bvfX3E$P61EO6yNiQEn0RUUeyWmX/ +! +role network-admin + 10 permit command .* +! +role network-operator + 10 deny mode exec command configure|bash|python-shell|\| + 20 permit mode exec command .* +! +tap aggregation + no mode + no service-policy type tapagg mac access-list match ip +! +environment overheat action shutdown +environment insufficient-fans action shutdown +environment fan-speed auto +! +clock timezone UTC +! +no virtual-cable +! +vlan 1 + name default + state active + no private-vlan + no mac-address-table sharing +! +vlan 20 + name prod + state active + no private-vlan + no mac-address-table sharing +! +vlan 21 + name VLAN0021 + state active + no private-vlan + no mac-address-table sharing +! +vlan 22 + name VLAN0022 + state active + no private-vlan + no mac-address-table sharing +! +vlan 30 + name devel + state active + no private-vlan + no mac-address-table sharing +! +vlan 40 + name VLAN0040 + state active + no private-vlan + no mac-address-table sharing +! +interface Ethernet1 + no description + no shutdown + default load-interval + logging event link-status use-global + no dcbx mode + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport access vlan 1 + switchport trunk native vlan 30 + switchport trunk allowed vlan 20-22,40 + no switchport asym vlan + switchport mode trunk + switchport dot1q ethertype 0x8100 + no switchport trunk private-vlan secondary + switchport mac address learning + no switchport private-vlan mapping + switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no channel-group + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no msrp + no mvrp + no switchport port-security + switchport port-security maximum 1 + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable + no spanning-tree portfast + spanning-tree portfast auto + no spanning-tree link-type + no spanning-tree bpduguard + no spanning-tree bpdufilter + no spanning-tree cost + spanning-tree port-priority 128 + no spanning-tree guard + no spanning-tree bpduguard rate-limit + logging event spanning-tree use-global + switchport tap native vlan 1 + no switchport tap identity + no switchport tap mpls pop all + switchport tap allowed vlan 1-4094 + switchport tool allowed vlan 1-4094 + no switchport tool identity + no switchport tap truncation + no switchport tool truncation + no switchport tap default group + no switchport tap default interface + no switchport tool group + no switchport tool dot1q remove outer +! +interface Ethernet2 + no description + no shutdown + default load-interval + logging event link-status use-global + no dcbx mode + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport access vlan 30 + switchport trunk native vlan 1 + switchport trunk allowed vlan 1-4094 + no switchport asym vlan + switchport mode access + switchport dot1q ethertype 0x8100 + no switchport trunk private-vlan secondary + switchport mac address learning + no switchport private-vlan mapping + switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no channel-group + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no msrp + no mvrp + no switchport port-security + switchport port-security maximum 1 + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable + no spanning-tree portfast + spanning-tree portfast auto + no spanning-tree link-type + no spanning-tree bpduguard + no spanning-tree bpdufilter + no spanning-tree cost + spanning-tree port-priority 128 + no spanning-tree guard + no spanning-tree bpduguard rate-limit + logging event spanning-tree use-global + switchport tap native vlan 1 + no switchport tap identity + no switchport tap mpls pop all + switchport tap allowed vlan 1-4094 + switchport tool allowed vlan 1-4094 + no switchport tool identity + no switchport tap truncation + no switchport tool truncation + no switchport tap default group + no switchport tap default interface + no switchport tool group + no switchport tool dot1q remove outer +! +interface Management1 + no description + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 10.0.2.15/24 + no ip verify unicast + default arp timeout 300 + default ipv6 nd cache expire 300 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + ipv6 nd ra suppress all + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + lldp transmit + lldp receive + default ntp serve +! +mac address-table aging-time 300 +! +monitor hadoop + shutdown +! +no ip fhrp accept-mode +! +no ip virtual-router mac-address +ip virtual-router mac-address advertisement-interval 30 +! +no ipv6 hardware fib nexthop-index +! +no ip routing +ip icmp redirect +no ip icmp source-interface +ip hardware fib route unprogrammed parent-drop +no ip hardware fib route delete delay +ip hardware fib next-hop update event bfd +no ip hardware fib maximum routes +no ip hardware forwarding mpls gre-key +no ip hardware fib next-hop sharing +ipv6 icmp redirect +no ip hardware fib maximum routes-v6 +! +no ip multicast-routing +ip multicast multipath deterministic +ip mfib max-fastdrops 1024 +no ip multicast count +ip mfib activity polling-interval 60 +! +ip mfib cache-entries unresolved max 4000 +ip mfib packet-buffers unresolved max 3 +! +ip as-path regex-mode asn +! +no ipv6 unicast-routing +! +control-plane + ip access-group default-control-plane-acl in + ipv6 access-group default-control-plane-acl in +! +mac address-table notification host-flap logging +mac address-table notification host-flap detection window 15 +! +mlag configuration + no domain-id + heartbeat-interval 4000 + no local-interface + no peer-address + no peer-link + reload-delay 0 + no reload-delay non-mlag + no reload-delay mode + no shutdown +! +monitor loop-protection + rate-limit 1000 + transmit-interval 5 + disabled-time 604800 +! +no mpls ip +! +no ip ftp client source-interface +no ip http client source-interface +no ip ssh client source-interface +no ip telnet client source-interface +no ip tftp client source-interface +! +no qos random-detect ecn global-buffer +qos map cos 0 1 2 3 4 5 6 7 to traffic-class 8 +qos map dscp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to cos 3 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to uc-tx-queue 4 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4 +! +policy-map type control-plane copp-system-policy + class copp-system-bpdu + shape pps 6000 + bandwidth pps 5000 + class copp-system-arp + shape pps 25000 + bandwidth pps 1000 + class copp-system-igmp + shape pps 5000 + bandwidth pps 4000 + class copp-system-default + no shape + no bandwidth +! +no ip radius source-interface +! +monitor reachability + shutdown + probe receiver max-streams 50000 + probe checkpoint-interval 60 + destination port 49152 + default ignore-checksum + default preserve-streams +! +router pim bidirectional + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate +! +no ip tacacs source-interface +! +no vxlan vni notation dotted +! +no banner login +no banner motd +! +system coredump compressed +! +no dot1x system-auth-control +! +management api http-commands + protocol https port 443 + no protocol http port 80 + no protocol http localhost port 8080 + no protocol unix-socket + no protocol https certificate + no protocol https ssl profile + no cors allowed-origin + protocol https cipher aes256-cbc aes128-cbc + protocol https key-exchange rsa diffie-hellman-ephemeral-rsa + protocol https mac hmac-sha1 + qos dscp 0 + no shutdown + vrf default + no shutdown +! +management cim-provider + shutdown + http 7778 + https 7779 + idle-timeout 90 + default live-time + default trace + default ssl certificate + default ssl key +! +management console + idle-timeout 0 +! +management cvx + shutdown + no server host + no source-interface + no server port + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 +! +management defaults + secret hash md5 +! +management security + no entropy source hardware + no password minimum length +! +management ssh + idle-timeout 0 + authentication mode keyboard-interactive + server-port 22 + hostkey server rsa dsa + no fips restrictions + no hostkey client strict-checking + no shutdown + login timeout 120 + log-level info +! +management telnet + shutdown + idle-timeout 0 +! +management xmpp + shutdown + vrf default + session privilege 1 +! +! +end diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/replace.txt b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/replace.txt new file mode 100644 index 00000000..d88df38a --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/replace.txt @@ -0,0 +1,19 @@ +default interface Ethernet2 +interface Ethernet2 + switchport native vlan 20 + switchport access vlan 1 + switchport trunk vlan 30 + switchport mode trunk + exit +default interface Management1 +interface Management1 + ip address 10.0.2.15/24 + mtu 1500 + exit +default interface Ethernet1 +interface Ethernet1 + switchport native vlan 30 + switchport access vlan 20 + switchport trunk vlan 1-4094 + switchport mode access + exit diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/translation.txt b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/translation.txt new file mode 100644 index 00000000..204046f2 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/l2_ports/translation.txt @@ -0,0 +1,16 @@ +interface Ethernet2 + switchport native vlan 1 + switchport access vlan 30 + switchport trunk vlan 1-4094 + switchport mode access + exit +interface Management1 + ip address 10.0.2.15/24 + mtu 1500 + exit +interface Ethernet1 + switchport native vlan 30 + switchport access vlan 1 + switchport trunk vlan 20-22,40 + switchport mode trunk + exit diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/candidate.json b/test/integration/test_profiles/eos/openconfig-vlan/config/default/candidate.json new file mode 100644 index 00000000..e487b924 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/candidate.json @@ -0,0 +1,25 @@ +{ + "vlans": { + "vlan": { + "1": { + "config": { + "name": "default" + }, + "vlan-id": "1" + }, + "20": { + "config": { + "name": "prod" + }, + "vlan-id": "20" + }, + "31": { + "config": { + "name": "devel", + "status": "SUSPENDED" + }, + "vlan-id": "31" + } + } + } +} diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/expected.json b/test/integration/test_profiles/eos/openconfig-vlan/config/default/expected.json new file mode 100644 index 00000000..e8f1fe9e --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/expected.json @@ -0,0 +1,25 @@ +{ + "vlans": { + "vlan": { + "1": { + "config": { + "name": "default" + }, + "vlan-id": "1" + }, + "20": { + "config": { + "name": "prod", + "status": "SUSPENDED" + }, + "vlan-id": "20" + }, + "30": { + "config": { + "name": "devel" + }, + "vlan-id": "30" + } + } + } +} diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/merge.txt b/test/integration/test_profiles/eos/openconfig-vlan/config/default/merge.txt new file mode 100644 index 00000000..7f9bbb15 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/merge.txt @@ -0,0 +1,8 @@ +vlan 31 + state suspend + name devel + exit +vlan 20 + default state + exit +no vlan 30 diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/mocked/cli.1.show_running_config_all.0 b/test/integration/test_profiles/eos/openconfig-vlan/config/default/mocked/cli.1.show_running_config_all.0 new file mode 100644 index 00000000..0a472684 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/mocked/cli.1.show_running_config_all.0 @@ -0,0 +1,960 @@ +! Command: show running-config all +! device: localhost (vEOS, EOS-4.15.2.1F) +! +! boot system flash:/vEOS-lab.swi +! +hardware access-list ipv6 implicit-permit icmpv6 all +! +no deep-inspection payload l2 skip +no deep-inspection payload l4 skip +! +agent fatal-error action reload +! +bfd slow-timer 2000 +bfd interval 300 min_rx 300 multiplier 3 default +! +prompt %H%R%v%P +no service configuration session max completed +no service configuration session max pending +! +schedule config max-concurrent-jobs 1 +schedule tech-support interval 60 max-log-files 100 command show tech-support +! +no logging event storm-control discards global +no logging event storm-control discards interval +! +cvx + shutdown + port 9979 + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 + service hsc + vtep flood list type any + service openstack + shutdown + grace-period 60 + name-resolution interval 21600 + service vxlan + shutdown + vtep mac-learning control-plane + resync-period 300 +! +no dcbx application +! +no ip dhcp relay information option +no ip dhcp relay always-on +no ip dhcp smart-relay global +! +no ip dhcp snooping +no ip dhcp snooping information option +ip dhcp snooping information option circuit-id type 0 format %p:%v +! +default switch forwarding-mode +! +vlan internal allocation policy ascending +! +email + no from-user + no server + no auth username + no auth password + no tls +! +errdisable detect cause arp-inspection +errdisable detect cause link-flap +no errdisable recovery cause arp-inspection +no errdisable recovery cause bpduguard +no errdisable recovery cause hitless-reload-down +no errdisable recovery cause link-flap +no errdisable recovery cause loopprotectguard +no errdisable recovery cause no-internal-vlan +no errdisable recovery cause portchannelguard +no errdisable recovery cause portsec +no errdisable recovery cause tapagg +no errdisable recovery cause uplink-failure-detection +no errdisable recovery cause xcvr-unsupported +errdisable recovery interval 300 +! +event-handler dhclient + trigger on-boot + action bash sudo /mnt/flash/initialize_ma1.sh + delay 20 + no asynchronous + timeout 10 +! +ip igmp snooping +no ip igmp snooping report-flooding +ip igmp snooping robustness-variable 2 +no ip igmp snooping restart query-interval +ip igmp snooping immediate-leave +default ip igmp snooping vlan 1 +default ip igmp snooping vlan 1 querier +no ip igmp snooping vlan 1 querier address +no ip igmp snooping vlan 1 querier query-interval +no ip igmp snooping vlan 1 querier max-response-time +no ip igmp snooping vlan 1 querier last-member-query-interval +no ip igmp snooping vlan 1 querier last-member-query-count +no ip igmp snooping vlan 1 querier startup-query-interval +no ip igmp snooping vlan 1 querier startup-query-count +no ip igmp snooping vlan 1 querier version +no ip igmp snooping vlan 1 max-groups +default ip igmp snooping vlan 1 immediate-leave +default ip igmp snooping vlan 20 +default ip igmp snooping vlan 20 querier +no ip igmp snooping vlan 20 querier address +no ip igmp snooping vlan 20 querier query-interval +no ip igmp snooping vlan 20 querier max-response-time +no ip igmp snooping vlan 20 querier last-member-query-interval +no ip igmp snooping vlan 20 querier last-member-query-count +no ip igmp snooping vlan 20 querier startup-query-interval +no ip igmp snooping vlan 20 querier startup-query-count +no ip igmp snooping vlan 20 querier version +no ip igmp snooping vlan 20 max-groups +default ip igmp snooping vlan 20 immediate-leave +default ip igmp snooping vlan 30 +default ip igmp snooping vlan 30 querier +no ip igmp snooping vlan 30 querier address +no ip igmp snooping vlan 30 querier query-interval +no ip igmp snooping vlan 30 querier max-response-time +no ip igmp snooping vlan 30 querier last-member-query-interval +no ip igmp snooping vlan 30 querier last-member-query-count +no ip igmp snooping vlan 30 querier startup-query-interval +no ip igmp snooping vlan 30 querier startup-query-count +no ip igmp snooping vlan 30 querier version +no ip igmp snooping vlan 30 max-groups +default ip igmp snooping vlan 30 immediate-leave +no ip igmp snooping querier +no ip igmp snooping querier address +ip igmp snooping querier query-interval 125 +ip igmp snooping querier max-response-time 10 +ip igmp snooping querier last-member-query-interval 1 +no ip igmp snooping querier last-member-query-count +no ip igmp snooping querier startup-query-interval +no ip igmp snooping querier startup-query-count +no ip igmp snooping querier version +! +default logging event congestion-drops +! +no service interface inactive expose +! +no service interface unconnected expose +! +default load-interval default +! +transceiver qsfp default-mode 4x10G +! +ip pim log-neighbor-changes +no ip pim bfd +no ip pim ssm range +ip pim sparse-mode sg-expiry-timer 210 +ip pim spt-threshold 0 +! +ip msdp timer 30 +! +no ip pim rp-candidate +no ip pim bsr-holdtime +no ip pim bsr-sztimeout +no ip pim bsr-candidate +no ip pim bsr rp-candidate advertisement-filter +! +no ip pim register-source +! +lacp system-priority 32768 +! +no queue-monitor length +no queue-monitor length notifying +! +queue-monitor length global-buffer thresholds 512 256 +no queue-monitor length mirror +! +queue-monitor length global-buffer +! +errdisable flap-setting cause link-flap max-flaps 5 time 10 +! +lldp timer 30 +lldp holdtime 120 +lldp reinit 2 +lldp tlv-select link-aggregation +lldp tlv-select management-address +lldp tlv-select max-frame-size +lldp tlv-select port-description +lldp tlv-select port-vlan +lldp tlv-select system-capabilities +lldp tlv-select system-description +lldp tlv-select system-name +lldp run +no lldp management-address +! +logging on +logging buffered 32 debugging +logging trap informational +logging console errors +no logging synchronous +logging format timestamp traditional +no logging format hostname fqdn +logging facility local4 +no logging source-interface +! +logging level AAA debugging +logging level ACCOUNTING debugging +logging level ACL debugging +logging level AGENT debugging +logging level ALE debugging +logging level ARP debugging +logging level BFD debugging +logging level BGP debugging +logging level CAPACITY debugging +logging level CAPI debugging +logging level CLEAR debugging +logging level DATAPLANE debugging +logging level DOT1X debugging +logging level ENVMON debugging +logging level ETH debugging +logging level EVENTMON debugging +logging level EXTENSION debugging +logging level FHRP debugging +logging level FLOW debugging +logging level FORWARDING debugging +logging level FRU debugging +logging level FWK debugging +logging level GMP debugging +logging level HARDWARE debugging +logging level IGMP debugging +logging level IGMPSNOOPING debugging +logging level INTF debugging +logging level IP6ROUTING debugging +logging level IRA debugging +logging level ISIS debugging +logging level KERNELFIB debugging +logging level LACP debugging +logging level LAG debugging +logging level LAUNCHER debugging +logging level LINEPROTO debugging +logging level LLDP debugging +logging level LOGMGR debugging +logging level LOOPBACK debugging +logging level LOOPPROTECT debugging +logging level MAPREDUCEMONITOR debugging +logging level MDIO debugging +logging level MIRRORING debugging +logging level MLAG debugging +logging level MMODE debugging +logging level MROUTE debugging +logging level MRP debugging +logging level MSDP debugging +logging level MSRP debugging +logging level MVRP debugging +logging level NAT debugging +logging level OPENFLOW debugging +logging level OSPF debugging +logging level OSPF3 debugging +logging level PFC debugging +logging level PIM debugging +logging level PIMBSR debugging +logging level PORTSECURITY debugging +logging level PTP debugging +logging level PWRMGMT debugging +logging level QOS debugging +logging level QUEUEMONITOR debugging +logging level REACHABILITYMONITOR debugging +logging level REDUNDANCY debugging +logging level RIB debugging +logging level ROUTING debugging +logging level SECURITY debugging +logging level SERVERMONITOR debugging +logging level SPANTREE debugging +logging level STAGEMGR debugging +logging level SYS debugging +logging level SYSDB debugging +logging level TAPAGG debugging +logging level TCP debugging +logging level TRANSCEIVER debugging +logging level TUNNEL debugging +logging level VM debugging +logging level VMTRACERSESS debugging +logging level VMWAREVI debugging +logging level VMWAREVS debugging +logging level VRF debugging +logging level VRRP debugging +logging level VXLAN debugging +logging level XMPP debugging +logging level ZTP debugging +! +logging event link-status global +! +no ip virtual-router mac-address mlag-peer +! +no msrp streams load-file +! +no hostname +no ip domain lookup source-interface +no ip name-server +no ip domain-name +no ip host +no ipv6 host +! +no ntp trusted-key +no ntp authenticate +no ntp serve all +! +power poll-interval 5 +! +no radius-server key +radius-server timeout 5 +radius-server retransmit 3 +no radius-server deadtime +no radius-server attribute 32 include-in-access-req format +! +sflow sample 1048576 +sflow polling-interval 2 +no sflow source +no sflow source-interface +sflow sample output interface +sflow extension switch +sflow extension router +no sflow sample rewrite dscp +no sflow run +! +no sflow extension bgp +! +no snmp-server engineID local +no snmp-server chassis-id +no snmp-server contact +no snmp-server location +no snmp-server source-interface +default snmp-server enable traps +default snmp-server enable traps bgp +default snmp-server enable traps bgp arista-backward-transition +default snmp-server enable traps bgp arista-established +default snmp-server enable traps bgp backward-transition +default snmp-server enable traps bgp established +default snmp-server enable traps entity +default snmp-server enable traps entity arista-ent-sensor-alarm +default snmp-server enable traps entity ent-config-change +default snmp-server enable traps entity ent-state-oper-disabled +default snmp-server enable traps entity ent-state-oper-enabled +default snmp-server enable traps lldp +default snmp-server enable traps lldp rem-tables-change +default snmp-server enable traps msdp +default snmp-server enable traps msdp backward-transition +default snmp-server enable traps msdp established +default snmp-server enable traps ospf +default snmp-server enable traps ospf if-auth-failure +default snmp-server enable traps ospf if-config-error +default snmp-server enable traps ospf if-state-change +default snmp-server enable traps ospf nbr-state-change +default snmp-server enable traps pim +default snmp-server enable traps pim neighbor-loss +default snmp-server enable traps snmp +default snmp-server enable traps snmp authentication +default snmp-server enable traps snmp link-down +default snmp-server enable traps snmp link-up +default snmp-server enable traps snmpConfigManEvent +default snmp-server enable traps snmpConfigManEvent arista-config-man-event +default snmp-server enable traps switchover +default snmp-server enable traps switchover arista-redundancy-switch-over-notif +default snmp-server enable traps test +default snmp-server enable traps test arista-test-notification +default snmp-server enable traps vrrp +default snmp-server enable traps vrrp trap-new-master +snmp-server vrf default +! +spanning-tree mode mstp +spanning-tree hello-time 2000 +spanning-tree max-age 20 +spanning-tree forward-time 15 +spanning-tree transmit hold-count 6 +spanning-tree max-hops 20 +no spanning-tree mst pvst border +no spanning-tree portfast bpduguard default +no spanning-tree portfast bpdufilter default +spanning-tree bridge assurance +no spanning-tree loopguard default +no spanning-tree portchannel guard misconfig +spanning-tree bpduguard rate-limit default +logging event spanning-tree global +spanning-tree mst 0 priority 32768 +! +spanning-tree mst configuration + no name + revision 0 +! +no service sequence-numbers +no service running-config timestamp +! +no tacacs-server key +tacacs-server timeout 5 +! +aaa authentication login default local +no aaa authentication login console +aaa authentication enable default local +no aaa authentication policy on-success log +no aaa authentication policy on-failure log +no aaa authorization console +aaa authorization exec default local +no aaa authorization commands all default +aaa authorization config-commands +no aaa accounting exec console +no aaa accounting commands all console +no aaa accounting exec default +no aaa accounting system default +no aaa accounting dot1x default +no aaa accounting commands all default +! +no enable secret +aaa root secret 5 $1$rocf65Tl$ePLSZB6dgP1SG5rG/XsbD/ +no aaa authentication policy local allow-nopassword-remote-login +no aaa authorization policy local default-role +! +username admin privilege 15 role network-admin secret 5 $1$h67i2ZFw$82tSTs0XITPorHfEdXnSU. +username vagrant privilege 15 role network-admin secret 5 $1$Q8bvfX3E$P61EO6yNiQEn0RUUeyWmX/ +! +role network-admin + 10 permit command .* +! +role network-operator + 10 deny mode exec command configure|bash|python-shell|\| + 20 permit mode exec command .* +! +tap aggregation + no mode + no service-policy type tapagg mac access-list match ip +! +environment overheat action shutdown +environment insufficient-fans action shutdown +environment fan-speed auto +! +clock timezone UTC +! +no virtual-cable +! +vlan 1 + name default + state active + no private-vlan + no mac-address-table sharing +! +vlan 20 + name prod + state suspend + no private-vlan + no mac-address-table sharing +! +vlan 30 + name devel + state active + no private-vlan + no mac-address-table sharing +! +interface Ethernet1 + no description + no shutdown + default load-interval + logging event link-status use-global + no dcbx mode + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport access vlan 1 + switchport trunk native vlan 30 + switchport trunk allowed vlan 20 + no switchport asym vlan + switchport mode trunk + switchport dot1q ethertype 0x8100 + no switchport trunk private-vlan secondary + switchport mac address learning + no switchport private-vlan mapping + switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no channel-group + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no msrp + no mvrp + no switchport port-security + switchport port-security maximum 1 + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable + no spanning-tree portfast + spanning-tree portfast auto + no spanning-tree link-type + no spanning-tree bpduguard + no spanning-tree bpdufilter + no spanning-tree cost + spanning-tree port-priority 128 + no spanning-tree guard + no spanning-tree bpduguard rate-limit + logging event spanning-tree use-global + switchport tap native vlan 1 + no switchport tap identity + no switchport tap mpls pop all + switchport tap allowed vlan 1-4094 + switchport tool allowed vlan 1-4094 + no switchport tool identity + no switchport tap truncation + no switchport tool truncation + no switchport tap default group + no switchport tap default interface + no switchport tool group + no switchport tool dot1q remove outer +! +interface Ethernet2 + no description + no shutdown + default load-interval + logging event link-status use-global + no dcbx mode + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + switchport access vlan 30 + switchport trunk native vlan 1 + switchport trunk allowed vlan 1-4094 + no switchport asym vlan + switchport mode access + switchport dot1q ethertype 0x8100 + no switchport trunk private-vlan secondary + switchport mac address learning + no switchport private-vlan mapping + switchport + default encapsulation dot1q vlan + no l2-protocol encapsulation dot1q vlan 0 + snmp trap link-status + no channel-group + lacp rate normal + lacp port-priority 32768 + lldp transmit + lldp receive + no msrp + no mvrp + no switchport port-security + switchport port-security maximum 1 + default qos trust + qos cos 5 + qos dscp 2 + no shape rate + mc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + mc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 0 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 1 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 2 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 3 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 4 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 5 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 6 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + ! + uc-tx-queue 7 + priority strict + no bandwidth percent + no shape rate + no bandwidth guaranteed + sflow enable + no spanning-tree portfast + spanning-tree portfast auto + no spanning-tree link-type + no spanning-tree bpduguard + no spanning-tree bpdufilter + no spanning-tree cost + spanning-tree port-priority 128 + no spanning-tree guard + no spanning-tree bpduguard rate-limit + logging event spanning-tree use-global + switchport tap native vlan 1 + no switchport tap identity + no switchport tap mpls pop all + switchport tap allowed vlan 1-4094 + switchport tool allowed vlan 1-4094 + no switchport tool identity + no switchport tap truncation + no switchport tool truncation + no switchport tap default group + no switchport tap default interface + no switchport tool group + no switchport tool dot1q remove outer +! +interface Management1 + no description + no shutdown + default load-interval + mtu 1500 + logging event link-status use-global + no mac-address + no link-debounce + no flowcontrol send + no flowcontrol receive + no mac timestamp + no speed + no l2 mtu + default logging event congestion-drops + default unidirectional + no traffic-loopback + default error-correction encoding + no error-correction reed-solomon bypass + snmp trap link-status + no ip proxy-arp + no ip local-proxy-arp + ip address 10.0.2.15/24 + no ip verify unicast + default arp timeout 300 + default ipv6 nd cache expire 300 + bfd interval 300 min_rx 300 multiplier 3 + no bfd echo + no ipv6 enable + no ipv6 address + no ipv6 verify unicast + ipv6 nd ra suppress all + ipv6 nd ra interval msec 200000 + ipv6 nd ra lifetime 1800 + no ipv6 nd ra mtu suppress + no ipv6 nd managed-config-flag + no ipv6 nd other-config-flag + ipv6 nd reachable-time 0 + ipv6 nd router-preference medium + ipv6 nd ra dns-servers lifetime 300 + ipv6 nd ra dns-suffixes lifetime 300 + ipv6 nd ra hop-limit 64 + lldp transmit + lldp receive + default ntp serve +! +mac address-table aging-time 300 +! +monitor hadoop + shutdown +! +no ip fhrp accept-mode +! +no ip virtual-router mac-address +ip virtual-router mac-address advertisement-interval 30 +! +no ipv6 hardware fib nexthop-index +! +no ip routing +ip icmp redirect +no ip icmp source-interface +ip hardware fib route unprogrammed parent-drop +no ip hardware fib route delete delay +ip hardware fib next-hop update event bfd +no ip hardware fib maximum routes +no ip hardware forwarding mpls gre-key +no ip hardware fib next-hop sharing +ipv6 icmp redirect +no ip hardware fib maximum routes-v6 +! +no ip multicast-routing +ip multicast multipath deterministic +ip mfib max-fastdrops 1024 +no ip multicast count +ip mfib activity polling-interval 60 +! +ip mfib cache-entries unresolved max 4000 +ip mfib packet-buffers unresolved max 3 +! +ip as-path regex-mode asn +! +no ipv6 unicast-routing +! +control-plane + ip access-group default-control-plane-acl in + ipv6 access-group default-control-plane-acl in +! +mac address-table notification host-flap logging +mac address-table notification host-flap detection window 15 +! +mlag configuration + no domain-id + heartbeat-interval 4000 + no local-interface + no peer-address + no peer-link + reload-delay 0 + no reload-delay non-mlag + no reload-delay mode + no shutdown +! +monitor loop-protection + rate-limit 1000 + transmit-interval 5 + disabled-time 604800 +! +no mpls ip +! +no ip ftp client source-interface +no ip http client source-interface +no ip ssh client source-interface +no ip telnet client source-interface +no ip tftp client source-interface +! +no qos random-detect ecn global-buffer +qos map cos 0 1 2 3 4 5 6 7 to traffic-class 8 +qos map dscp 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 to traffic-class 9 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to cos 3 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to uc-tx-queue 4 +qos map traffic-class 0 1 2 3 4 5 6 7 8 9 10 11 to mc-tx-queue 4 +! +policy-map type control-plane copp-system-policy + class copp-system-bpdu + shape pps 6000 + bandwidth pps 5000 + class copp-system-arp + shape pps 25000 + bandwidth pps 1000 + class copp-system-igmp + shape pps 5000 + bandwidth pps 4000 + class copp-system-default + no shape + no bandwidth +! +no ip radius source-interface +! +monitor reachability + shutdown + probe receiver max-streams 50000 + probe checkpoint-interval 60 + destination port 49152 + default ignore-checksum + default preserve-streams +! +router pim bidirectional + ip pim log-neighbor-changes + ip pim group-expiry-timer 210 + no ip pim rp-candidate +! +no ip tacacs source-interface +! +no vxlan vni notation dotted +! +no banner login +no banner motd +! +system coredump compressed +! +no dot1x system-auth-control +! +management api http-commands + protocol https port 443 + no protocol http port 80 + no protocol http localhost port 8080 + no protocol unix-socket + no protocol https certificate + no protocol https ssl profile + no cors allowed-origin + protocol https cipher aes256-cbc aes128-cbc + protocol https key-exchange rsa diffie-hellman-ephemeral-rsa + protocol https mac hmac-sha1 + qos dscp 0 + no shutdown + vrf default + no shutdown +! +management cim-provider + shutdown + http 7778 + https 7779 + idle-timeout 90 + default live-time + default trace + default ssl certificate + default ssl key +! +management console + idle-timeout 0 +! +management cvx + shutdown + no server host + no source-interface + no server port + heartbeat-interval 20 + heartbeat-timeout 60 + no ssl profile + service debug + no shutdown + interval 1 +! +management defaults + secret hash md5 +! +management security + no entropy source hardware + no password minimum length +! +management ssh + idle-timeout 0 + authentication mode keyboard-interactive + server-port 22 + hostkey server rsa dsa + no fips restrictions + no hostkey client strict-checking + no shutdown + login timeout 120 + log-level info +! +management telnet + shutdown + idle-timeout 0 +! +management xmpp + shutdown + vrf default + session privilege 1 +! +! +end diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/replace.txt b/test/integration/test_profiles/eos/openconfig-vlan/config/default/replace.txt new file mode 100644 index 00000000..e8ad9f1c --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/replace.txt @@ -0,0 +1,14 @@ +no vlan 1 +vlan 1 + name default + exit +no vlan 31 +vlan 31 + state suspend + name devel + exit +no vlan 20 +vlan 20 + name prod + exit +no vlan 30 diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/translation.txt b/test/integration/test_profiles/eos/openconfig-vlan/config/default/translation.txt new file mode 100644 index 00000000..a71f94c1 --- /dev/null +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/translation.txt @@ -0,0 +1,10 @@ +vlan 1 + name default + exit +vlan 30 + name devel + exit +vlan 20 + state suspend + name prod + exit From e74a3901b518660ab16cce9bdf5b9bb78d2538d8 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 24 Jul 2017 13:50:21 +0200 Subject: [PATCH 142/153] Adapt older tests to new openconfig-vlan extensions --- .../openconfig-if-ethernet/ethernet.yaml | 21 +++++++++++++++++++ .../config/default/candidate.json | 12 +++++++++++ .../config/default/expected.json | 12 +++++++++++ .../config/default/replace.txt | 4 ++++ .../config/default/translation.txt | 4 ++++ .../eos/replace.expected | 4 ++++ .../eos/expected.json | 12 +++++++++++ 7 files changed, 69 insertions(+) create mode 100644 napalm_yang/mappings/eos/parsers/config/openconfig-if-ethernet/ethernet.yaml diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ethernet/ethernet.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ethernet/ethernet.yaml new file mode 100644 index 00000000..0698ecc3 --- /dev/null +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ethernet/ethernet.yaml @@ -0,0 +1,21 @@ +--- +metadata: + prefix: "oc-ethernet" + processor: TextTree + +ethernet: + _process: unnecessary + config: + _process: unnecessary + auto-negotiate: + _process: not_implemented + duplex-mode: + _process: not_implemented + enable-flow-control: + _process: not_implemented + mac-address: + _process: not_implemented + port-speed: + _process: not_implemented + state: + _process: not_implemented diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/candidate.json b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/candidate.json index 611681b1..074b3c68 100644 --- a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/candidate.json +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/candidate.json @@ -7,6 +7,18 @@ "enabled": true, "type": "ethernetCsmacd" }, + "ethernet": { + "switched-vlan": { + "config": { + "access-vlan": 1, + "interface-mode": "ACCESS", + "native-vlan": 1, + "trunk-vlans": [ + "1..4094" + ] + } + } + }, "name": "Ethernet1", "routed-vlan": { "ipv4": { diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/expected.json b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/expected.json index c539ced5..e4cc9ab9 100644 --- a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/expected.json +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/expected.json @@ -7,6 +7,18 @@ "enabled": true, "type": "ethernetCsmacd" }, + "ethernet": { + "switched-vlan": { + "config": { + "access-vlan": 1, + "interface-mode": "ACCESS", + "native-vlan": 1, + "trunk-vlans": [ + "1..4094" + ] + } + } + }, "name": "Ethernet1", "routed-vlan": { "ipv4": { diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/replace.txt b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/replace.txt index e83fa897..40af721c 100644 --- a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/replace.txt +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/replace.txt @@ -30,6 +30,10 @@ interface Management1 exit default interface Ethernet1 interface Ethernet1 + switchport native vlan 1 + switchport access vlan 1 + switchport trunk vlan 1-4094 + switchport mode access description Changed description exit no interface Loopback0 diff --git a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/translation.txt b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/translation.txt index c2fb39dc..2aea5b01 100644 --- a/test/integration/test_profiles/eos/openconfig-interfaces/config/default/translation.txt +++ b/test/integration/test_profiles/eos/openconfig-interfaces/config/default/translation.txt @@ -24,6 +24,10 @@ interface Management1 mtu 1500 exit interface Ethernet1 + switchport native vlan 1 + switchport access vlan 1 + switchport trunk vlan 1-4094 + switchport mode access description This is a description exit interface Loopback1 diff --git a/test/integration/tutorial_data/test_advanced_manipulation/eos/replace.expected b/test/integration/tutorial_data/test_advanced_manipulation/eos/replace.expected index 4ef3155b..dbcc0559 100644 --- a/test/integration/tutorial_data/test_advanced_manipulation/eos/replace.expected +++ b/test/integration/tutorial_data/test_advanced_manipulation/eos/replace.expected @@ -9,6 +9,10 @@ interface Port-Channel1.1 exit default interface Ethernet1 interface Ethernet1 + switchport native vlan 1 + switchport access vlan 1 + switchport trunk vlan 1-4094 + switchport mode access description This is a description exit default interface Ethernet2 diff --git a/test/integration/tutorial_data/test_populating_from_file/eos/expected.json b/test/integration/tutorial_data/test_populating_from_file/eos/expected.json index 57c23c58..ace4f6d3 100644 --- a/test/integration/tutorial_data/test_populating_from_file/eos/expected.json +++ b/test/integration/tutorial_data/test_populating_from_file/eos/expected.json @@ -142,6 +142,18 @@ } } }, + "ethernet": { + "switched-vlan": { + "config": { + "trunk-vlans": [ + "1..4094" + ], + "interface-mode": "ACCESS", + "native-vlan": 1, + "access-vlan": 1 + } + } + }, "config": { "type": "ethernetCsmacd", "enabled": true, From 6d3ed1e3876a24a84b328c8e6a82aa111a89059a Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 24 Jul 2017 21:24:05 +0200 Subject: [PATCH 143/153] Migrate ios parser to TextTree --- .../config/napalm-if-ip/secondary.yaml | 6 +-- .../parsers/config/openconfig-if-ip/ipv4.yaml | 17 +++++---- .../openconfig-interfaces/interfaces.yaml | 38 ++++++++++--------- .../config/openconfig-vlan/routed-vlan.yaml | 2 +- .../parsers/config/openconfig-vlan/vlan.yaml | 5 ++- .../mocked/cli.1.show_running_config_all.0 | 2 +- 6 files changed, 37 insertions(+), 33 deletions(-) diff --git a/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml b/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml index 058db2c4..fb9e4c70 100644 --- a/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml +++ b/napalm_yang/mappings/ios/parsers/config/napalm-if-ip/secondary.yaml @@ -1,9 +1,9 @@ --- metadata: prefix: "napalm-ip" - processor: TextParser + processor: TextTree secondary: _process: - - mode: value - value: "{{ extra_vars.secondary != None }}" + - mode: is_present + path: "secondary" diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml index 863e7ee4..0af092c1 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml @@ -1,34 +1,35 @@ --- metadata: - processor: TextParser + processor: TextTree ipv4: _process: unnecessary config: _process: unnecessary enabled: - _process: # TODO look at this one, I think this is different depending on IOS version + _process: - mode: is_absent - regexp: "(?P^\\s*switchport mode.*$)" + path: "switchport" mtu: _process: not_implemented addresses: _process: unnecessary address: _process: - - regexp: "(?Pip address (?P(?P.*)) (?P([0-255]|\\.)*)(?P secondary)*)$" + - path: "ip.address.?prefix.?mask" + regexp: "^(?P\\d+\\.\\d+\\.\\d+\\.\\d+)" + key: prefix ip: _process: unnecessary config: _process: unnecessary ip: _process: - - mode: value - value: "{{ extra_vars.ip }}" + - path: prefix prefix-length: _process: - - mode: value - value: "{{ extra_vars.prefix|netmask_to_cidr }}" + - path: mask + post_process_filter: "{{ value|netmask_to_cidr }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index a9b77dc5..a82de774 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -1,6 +1,6 @@ --- metadata: - processor: TextParser + processor: TextTree execute: - method: cli kwargs: @@ -9,7 +9,8 @@ interfaces: _process: unnecessary interface: _process: - - regexp: "(?Pinterface (?P((\\w|-)*\\d+(\\/\\d+)*))\n(?:.|\n)*?^!$)" + - path: interface + regexp: "^(?P(\\w|-)*\\d+(\\/\\d+)*)$" from: root_interfaces.0 name: _process: unnecessary @@ -28,30 +29,31 @@ interfaces: type: _process: - mode: map - regexp: "interface (?P(\\w|-)*)\\d+" + value: "{{ interface_key }}" + regexp: "(?P(\\w|-)*)\\d+" map: - FastEthernet: ethernetCsmacd - GigabitEthernet: ethernetCsmacd - Management: ethernetCsmacd - Loopback: softwareLoopback - Port-Channel: ieee8023adLag - Port-channel: ieee8023adLag - Vlan: l3ipvlan + fastethernet: ethernetCsmacd + gigabitethernet: ethernetCsmacd + management: ethernetCsmacd + loopback: softwareLoopback + port-channel: ieee8023adLag + vlan: l3ipvlan enabled: _process: - - mode: is_present - regexp: "(?Pno shutdown)" + - mode: is_absent + path: "shutdown" description: _process: - - regexp: "description (?P.*)" + - path: description mtu: _process: - - regexp: "mtu (?P[0-9]+)" + - path: ip.mtu subinterfaces: _process: unnecessary subinterface: _process: - - regexp: "(?Pinterface {{interface_key}}\\.(?P\\d+(\\/\\d+)*)\\n(?:.|\\n)*?^!$)" + - path: interface + regexp: "{{interface_key}}\\.(?P\\d+)" from: root_interfaces.0 index: _process: unnecessary @@ -65,8 +67,8 @@ interfaces: value: "{{ interface_key }}.{{ subinterface_key}}" enabled: _process: - - mode: is_present - regexp: "(?Pno shutdown)" + - mode: is_absent + path: "shutdown" description: _process: - - regexp: "description (?P.*)" + - path: description diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/routed-vlan.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/routed-vlan.yaml index 75bbfd67..dbe4e7a9 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/routed-vlan.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/routed-vlan.yaml @@ -1,7 +1,7 @@ --- metadata: prefix: "oc-vlan" - processor: TextParser + processor: TextTree routed-vlan: _process: unnecessary diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml index 364e66a9..4ffb3101 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-vlan/vlan.yaml @@ -1,7 +1,7 @@ --- metadata: prefix: "oc-vlan" - processor: TextParser + processor: TextTree vlan: _process: unnecessary @@ -9,4 +9,5 @@ vlan: _process: unnecessary vlan-id: _process: - - regexp: "^\\W*encapsulation dot1q (?P[0-9]+)" + - path: "encapsulation.dot1Q" + regexp: "^(?P\\d+)$" diff --git a/test/integration/test_profiles/ios/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 b/test/integration/test_profiles/ios/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 index 566f6235..1a46c67b 100644 --- a/test/integration/test_profiles/ios/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 +++ b/test/integration/test_profiles/ios/openconfig-interfaces/config/default/mocked/cli.1.show_running_config_all.0 @@ -2896,7 +2896,7 @@ interface GigabitEthernet2.1 description another subiface platform ring rx 512 platform ring tx 256 - encapsulation dot1Q 1 native + encapsulation dot1Q 1 ip address 172.20.0.1 255.255.255.0 secondary ip address 192.168.1.1 255.255.255.0 ip redirects From ab90eb44d179d30f42a5a6d0696e638d1a0671ab Mon Sep 17 00:00:00 2001 From: David Barroso Date: Mon, 24 Jul 2017 21:52:08 +0200 Subject: [PATCH 144/153] Just for shows. This commit has to be reverted --- napalm_yang/helpers.py | 3 +-- .../ios/parsers/config/openconfig-if-ip/ipv4.yaml | 4 ++-- napalm_yang/parsers/jsonp.py | 10 +++++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index c20e3e9c..3caa1b6d 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -28,7 +28,6 @@ def config_logging(level=logging.DEBUG, stream=sys.stdout): logger.addHandler(ch) - def find_yang_file(profile, filename, path): """ Find the necessary file for the given test case. @@ -106,7 +105,7 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, kwargs["negating"] = negating for k, v in rule.items(): - if k.startswith('post_process_'): + if k.startswith('post_process_') or k == "jinja_key": # don't process post processing rules now, they'll be processed on a second pass rule[k] = v else: diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml index 0af092c1..747a3035 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml @@ -17,8 +17,8 @@ ipv4: address: _process: - path: "ip.address.?prefix.?mask" - regexp: "^(?P\\d+\\.\\d+\\.\\d+\\.\\d+)" - key: prefix + regexp: "^(?P\\d+.*)" + jinja_key: "{{ prefix }}/{{ mask }}" ip: _process: unnecessary config: diff --git a/napalm_yang/parsers/jsonp.py b/napalm_yang/parsers/jsonp.py index 2d2543bf..68fd0033 100644 --- a/napalm_yang/parsers/jsonp.py +++ b/napalm_yang/parsers/jsonp.py @@ -34,7 +34,15 @@ def init_native(cls, native): def _parse_list_default(cls, mapping, data, key=None): def _iterator(d, key_element): # key_element is necessary when we have lists of dicts - if key_element and d: + if "jinja_key" in mapping and d: + for v in d: + try: + k = cls._parse_post_process_filter(mapping["jinja_key"], **v) + except Exception as e: + k = "{}".format(e) + print(666, k) + yield k, v + elif key_element and d: if key_element in d: # xmltodict returns a dict when there is only one element d = [d] From de0770f2f6f621336e9e3d0f371de64fe2acdbef Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 25 Jul 2017 10:15:51 +0200 Subject: [PATCH 145/153] Treat keys consistently --- napalm_yang/helpers.py | 2 +- .../network-instances.yaml | 10 ++--- .../parsers/config/openconfig-if-ip/ipv4.yaml | 4 +- .../includes/static_routes.yaml | 2 +- .../network-instances.yaml | 10 ++--- napalm_yang/parsers/jsonp.py | 42 +++++++++---------- 6 files changed, 33 insertions(+), 37 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index 3caa1b6d..de331931 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -105,7 +105,7 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, kwargs["negating"] = negating for k, v in rule.items(): - if k.startswith('post_process_') or k == "jinja_key": + if k.startswith('post_process_') or k == "key": # don't process post processing rules now, they'll be processed on a second pass rule[k] = v else: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 406ba7ca..6c4599d1 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -318,15 +318,13 @@ network-instances: _process: - path: "router.?protocol.?process_id" from: root_network-instances.0 - regexp: "(?Pbgp)" - key: protocol - composite_key: 2 + regexp: "(?Pbgp bgp)" + key: "{{ protocol }} {{ protocol }}" when: "{{ network_instance_key == 'global' }}" - path: "router.?protocol.?process_id.vrf.{{ network_instance_key }}" from: root_network-instances.0 - regexp: "(?Pbgp)" - key: protocol - composite_key: 2 + regexp: "(?Pbgp bgp)" + key: "{{ protocol }} {{ protocol }}" when: "{{ network_instance_key != 'global' }}" - mode: manual block: "root_network-instances.0.ip.route" diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml index 747a3035..0af092c1 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml @@ -17,8 +17,8 @@ ipv4: address: _process: - path: "ip.address.?prefix.?mask" - regexp: "^(?P\\d+.*)" - jinja_key: "{{ prefix }}/{{ mask }}" + regexp: "^(?P\\d+\\.\\d+\\.\\d+\\.\\d+)" + key: prefix ip: _process: unnecessary config: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index a188c776..82c24d8d 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -4,7 +4,7 @@ _process: when: "{{ protocol_key != 'static static' }}" static: _process: - - path: "" + - path: "route" key: name config: _process: unnecessary diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml index 67218338..7f0d5d60 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -12,8 +12,8 @@ network-instances: from: root_network-instances.0 network-instance: _process: - - path: "" - key_value: "global" + - path: "configuration" + key: "{{ 'global' }}" from: root_network-instances.0 - path: "instance" key: name @@ -319,10 +319,10 @@ network-instances: _process: unnecessary protocol: _process: - - path: "protocols" - composite_key: 2 + - path: "protocols.?protocol" + key: "{{ protocol }} {{ protocol }}" - path: "routing-options.static" - key_value: "static static" + key: "{{ 'static static' }}" bgp: !include includes/bgp.yaml config: _process: not_implemented diff --git a/napalm_yang/parsers/jsonp.py b/napalm_yang/parsers/jsonp.py index 68fd0033..774379fd 100644 --- a/napalm_yang/parsers/jsonp.py +++ b/napalm_yang/parsers/jsonp.py @@ -32,44 +32,42 @@ def init_native(cls, native): @classmethod def _parse_list_default(cls, mapping, data, key=None): - def _iterator(d, key_element): - # key_element is necessary when we have lists of dicts - if "jinja_key" in mapping and d: - for v in d: - try: - k = cls._parse_post_process_filter(mapping["jinja_key"], **v) - except Exception as e: - k = "{}".format(e) - print(666, k) - yield k, v - elif key_element and d: - if key_element in d: + def _eval_key(key_mapping, **kwargs): + if "{{" in key_mapping: + try: + return cls._parse_post_process_filter(key_mapping, **kwargs) + except Exception as e: + return "{}".format(e) + else: + return get_element_with_cdata(kwargs, key_mapping) + + def _iterator(d, key_mapping): + if key_mapping and d: + if isinstance(d, dict): # xmltodict returns a dict when there is only one element d = [d] - for v in d: - k = get_element_with_cdata(v, key_element) + if not isinstance(v, dict): + # Nothing to resolve + k = _eval_key(key_mapping) + else: + k = _eval_key(key_mapping, **v) yield k, v elif d: + # If there is no key_mapping we can only assume it's a dict + # so the key is implicit for k, v in d.items(): yield k, v def _process_key_value(key, value, regexp, mapping): - key_value = mapping.get('key_value') - composite_key = mapping.get('composite_key') extra_vars = {} - if key_value: - key = key_value - elif regexp: + if regexp: match = regexp.match(key) if match: key = match.group('value') extra_vars = match.groupdict() else: return None, {} - - if composite_key: - key = " ".join([key for _ in range(0, composite_key)]) return key, extra_vars d = cls.resolve_path(data, mapping["path"], mapping.get("default")) From 1e5fd7ab8a2225cd3f72a5d034822e37c0683e48 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 25 Jul 2017 19:00:36 +0200 Subject: [PATCH 146/153] Don't resolve key,value in rules when not specified explicitly --- napalm_yang/helpers.py | 10 ++++++---- napalm_yang/parser.py | 8 +++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/napalm_yang/helpers.py b/napalm_yang/helpers.py index de331931..fe2dc56f 100644 --- a/napalm_yang/helpers.py +++ b/napalm_yang/helpers.py @@ -82,10 +82,11 @@ def _resolve_rule(rule, **kwargs): def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, - parse_bookmarks=None, replacing=False, merging=False, negating=False): + parse_bookmarks=None, replacing=False, merging=False, negating=False, + process_all=True): if isinstance(rule, list): return [resolve_rule(r, attribute, keys, extra_vars, translation_model, parse_bookmarks, - replacing, merging, negating) for r in rule] + replacing, merging, negating, process_all) for r in rule] elif isinstance(rule, str): if rule in ["unnecessary"]: return [{"mode": "skip", "reason": rule}] @@ -105,8 +106,9 @@ def resolve_rule(rule, attribute, keys, extra_vars=None, translation_model=None, kwargs["negating"] = negating for k, v in rule.items(): - if k.startswith('post_process_') or k == "key": - # don't process post processing rules now, they'll be processed on a second pass + if k in ["key", "value"] and not process_all: + # don't process keys or values as we will do it at "processing time" + # instead of ahead of time rule[k] = v else: rule[k] = _resolve_rule(v, **kwargs) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index 3dba7afc..e3f392ce 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -95,7 +95,8 @@ def _parse(self, attribute, model, mapping): def _parse_container(self, attribute, model, mapping): mapping["_process"] = helpers.resolve_rule(mapping["_process"], attribute, self.keys, - self.extra_vars, None, self.bookmarks) + self.extra_vars, None, self.bookmarks, + process_all=False) # Saving state old_parent_key = self.keys["parent_key"] @@ -138,7 +139,7 @@ def _parse_list(self, attribute, model, mapping): mapping_copy = copy.deepcopy(mapping) mapping_copy["_process"] = helpers.resolve_rule(mapping_copy["_process"], attribute, self.keys, self.extra_vars, None, - self.bookmarks) + self.bookmarks, process_all=False) # Saving state to restore them later old_parent_key = self.keys["parent_key"] old_parent_bookmark = self.bookmarks["parent"] @@ -182,7 +183,8 @@ def _parse_list(self, attribute, model, mapping): def _parse_leaf(self, attribute, model, mapping): mapping["_process"] = helpers.resolve_rule(mapping["_process"], attribute, self.keys, - self.extra_vars, None, self.bookmarks) + self.extra_vars, None, self.bookmarks, + process_all=False) # We can't set attributes that are keys if model._is_keyval: From 2466a6ef91fda0c7f0914c2679c112f3a3a87b21 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 25 Jul 2017 19:04:23 +0200 Subject: [PATCH 147/153] Parsers are instantiated with extra_vars and keys references --- napalm_yang/parser.py | 7 ++-- napalm_yang/parsers/base.py | 55 +++++++++++++------------------- napalm_yang/parsers/jsonp.py | 38 ++++++++++------------ napalm_yang/parsers/text.py | 23 ++++++------- napalm_yang/parsers/text_tree.py | 6 ++-- napalm_yang/parsers/xml.py | 6 ++-- test/unit/test_parser.py | 12 +++---- test/unit/test_text_tree.py | 2 +- 8 files changed, 64 insertions(+), 85 deletions(-) diff --git a/napalm_yang/parser.py b/napalm_yang/parser.py index e3f392ce..883b4724 100644 --- a/napalm_yang/parser.py +++ b/napalm_yang/parser.py @@ -48,7 +48,8 @@ def __init__(self, model, device=None, profile=None, is_config=None, raise Exception("I don't have any data to operate with") if self.mapping: - self.parser = get_parser(self.mapping["metadata"]["processor"]) + self.parser = get_parser(self.mapping["metadata"]["processor"])(self.keys, + self.extra_vars) self.bookmarks = bookmarks or {} @@ -171,7 +172,7 @@ def _parse_list(self, attribute, model, mapping): # example, ipv4.config.enabled is present in both interfaces and subinterfaces self.keys["parent_key"] = key self.bookmarks["parent"] = block - self.extra_vars = extra_vars + self.extra_vars["parent"] = extra_vars element_mapping = copy.deepcopy(mapping) self._parse(key, obj, element_mapping) @@ -192,7 +193,7 @@ def _parse_leaf(self, attribute, model, mapping): value = self.parser.parse_leaf(mapping["_process"], self.bookmarks) - if value is not None and (value != model.default() or isinstance(value, bool)): + if value is not None: setter = getattr(model._parent, "_set_{}".format(attribute)) try: setter(value) diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 290625e1..1f8ea2cd 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -5,8 +5,11 @@ class BaseParser(object): - @classmethod - def resolve_path(cls, my_dict, path, default=None, check_presence=False): + def __init__(self, keys, extra_vars): + self.keys = keys + self.extra_vars = extra_vars + + def resolve_path(self, my_dict, path, default=None, check_presence=False): if path is None: return @@ -32,7 +35,7 @@ def resolve_path(cls, my_dict, path, default=None, check_presence=False): for k, v in iterator: if k.startswith("#"): continue - r = cls.resolve_path(v, ".".join(path_split[i+1:]), default, check_presence) + r = self.resolve_path(v, ".".join(path_split[i+1:]), default, check_presence) if isinstance(r, list): for rr in r: rr[p[1:]] = k @@ -64,43 +67,36 @@ def resolve_path(cls, my_dict, path, default=None, check_presence=False): return result - @classmethod - def init_native(cls, native): + def init_native(self, native): return native - @classmethod - def parse_list(cls, mapping, bookmarks): + def parse_list(self, mapping, bookmarks): for m in mapping: # parent will change as the tree is processed so we save it # so we can restore it parent = bookmarks["parent"] - data = cls.resolve_path(bookmarks, m.get("from", "parent")) + data = self.resolve_path(bookmarks, m.get("from", "parent")) method_name = "_parse_list_{}".format(m.get("mode", "default")) if method_name == "_parse_list_manual": - m["block"] = cls.resolve_path(bookmarks, m["block"], - default=m["block"]) + m["block"] = self.resolve_path(bookmarks, m["block"], + default=m["block"]) - post_process_filter = m.pop("post_process_filter", None) - for key, block, extra_vars in getattr(cls, method_name)(m, data): - if post_process_filter: - key = cls._parse_post_process_filter(post_process_filter, extra_vars, key=key) + for key, block, extra_vars in getattr(self, method_name)(m, data): yield key, block, extra_vars # we restore the parent bookmarks["parent"] = parent - @classmethod - def _parse_list_manual(cls, mapping, data): + def _parse_list_manual(self, mapping, data): yield mapping["key"], mapping["block"], mapping["extra_vars"] - @classmethod - def parse_leaf(cls, mapping, bookmarks): + def parse_leaf(self, mapping, bookmarks): for m in mapping: - data = cls.resolve_path(bookmarks, m.get("from", "parent")) + data = self.resolve_path(bookmarks, m.get("from", "parent")) method_name = "_parse_leaf_{}".format(m.get("mode", "default")) - result = getattr(cls, method_name)(m, data) + result = getattr(self, method_name)(m, data) if result is not None: post_process_filter = m.pop("post_process_filter", None) @@ -112,15 +108,14 @@ def parse_leaf(cls, mapping, bookmarks): pass return result - @classmethod - def parse_container(cls, mapping, bookmarks): + def parse_container(self, mapping, bookmarks): for m in mapping: # parent will change as the tree is processed so we save it # so we can restore it parent = bookmarks["parent"] - data = cls.resolve_path(bookmarks, m.get("from", "parent")) + data = self.resolve_path(bookmarks, m.get("from", "parent")) method_name = "_parse_container_{}".format(m.get("mode", "default")) - result, extra_vars = getattr(cls, method_name)(m, data) + result, extra_vars = getattr(self, method_name)(m, data) if result or extra_vars: break @@ -128,18 +123,15 @@ def parse_container(cls, mapping, bookmarks): bookmarks["parent"] = parent return result, extra_vars - @classmethod - def _parse_leaf_skip(cls, mapping, bookmarks): + def _parse_leaf_skip(self, mapping, bookmarks): return _parse_leaf_gate = _parse_leaf_skip - @classmethod - def _parse_container_skip(cls, mapping, bookmarks): + def _parse_container_skip(self, mapping, bookmarks): return "", {} - @classmethod - def _parse_list_skip(cls, mapping, bookmarks): + def _parse_list_skip(self, mapping, bookmarks): return {} _parse_list_gate = _parse_list_skip @@ -148,8 +140,7 @@ def _parse_list_skip(cls, mapping, bookmarks): def _parse_leaf_value(cls, mapping, bookmarks): return mapping["value"] - @classmethod - def _parse_container_gate(cls, mapping, bookmarks): + def _parse_container_gate(self, mapping, bookmarks): """This basically stops parsing the tree by returning None""" return None, {} diff --git a/napalm_yang/parsers/jsonp.py b/napalm_yang/parsers/jsonp.py index 774379fd..81c5b830 100644 --- a/napalm_yang/parsers/jsonp.py +++ b/napalm_yang/parsers/jsonp.py @@ -19,8 +19,7 @@ def get_element_with_cdata(dictionary, element): class JSONParser(BaseParser): - @classmethod - def init_native(cls, native): + def init_native(self, native): resp = [] for k in native: if isinstance(k, dict): @@ -30,12 +29,11 @@ def init_native(cls, native): return resp - @classmethod - def _parse_list_default(cls, mapping, data, key=None): + def _parse_list_default(self, mapping, data, key=None): def _eval_key(key_mapping, **kwargs): if "{{" in key_mapping: try: - return cls._parse_post_process_filter(key_mapping, **kwargs) + return self._parse_post_process_filter(key_mapping, **kwargs) except Exception as e: return "{}".format(e) else: @@ -70,7 +68,7 @@ def _process_key_value(key, value, regexp, mapping): return None, {} return key, extra_vars - d = cls.resolve_path(data, mapping["path"], mapping.get("default")) + d = self.resolve_path(data, mapping["path"], mapping.get("default")) regexp = mapping.get('regexp') if regexp: @@ -83,15 +81,17 @@ def _process_key_value(key, value, regexp, mapping): if key: yield key, v, extra_vars - @classmethod - def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): if "value" in mapping: d = mapping["value"] elif "path" in mapping: d = cls.resolve_path(data, mapping["path"], mapping.get("default"), check_presence) + def _parse_leaf_default(self, mapping, data, check_default=True, check_presence=False): else: d = None + if "value" in mapping: + d = self._parse_post_process_filter(mapping["value"], value=d) + if d and not check_presence: regexp = mapping.get('regexp', None) if regexp: @@ -108,24 +108,20 @@ def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=F return return - @classmethod - def _parse_container_default(cls, mapping, data): - d = cls.resolve_path(data, mapping["path"], mapping.get("default")) + def _parse_container_default(self, mapping, data): + d = self.resolve_path(data, mapping["path"], mapping.get("default")) return d, {} - @classmethod - def _parse_leaf_map(cls, mapping, data): - v = cls._parse_leaf_default(mapping, data) + def _parse_leaf_map(self, mapping, data): + v = self._parse_leaf_default(mapping, data) if v: return mapping['map'][v.lower()] else: return - @classmethod - def _parse_leaf_is_present(cls, mapping, data): - return cls._parse_leaf_default(mapping, data, - check_default=False, check_presence=True) is True + def _parse_leaf_is_present(self, mapping, data): + return self._parse_leaf_default(mapping, data, + check_default=False, check_presence=True) is True - @classmethod - def _parse_leaf_is_absent(cls, mapping, data): - return not cls._parse_leaf_is_present(mapping, data) + def _parse_leaf_is_absent(self, mapping, data): + return not self._parse_leaf_is_present(mapping, data) diff --git a/napalm_yang/parsers/text.py b/napalm_yang/parsers/text.py index e7f80796..b4118452 100644 --- a/napalm_yang/parsers/text.py +++ b/napalm_yang/parsers/text.py @@ -5,8 +5,7 @@ class TextParser(BaseParser): - @classmethod - def _parse_list_default(cls, mapping, data): + def _parse_list_default(self, mapping, data): block_matches = re.finditer(mapping["regexp"], data, re.MULTILINE + re.I) for match in block_matches: @@ -25,14 +24,13 @@ def _parse_list_default(cls, mapping, data): key = extra_vars.pop("key") if post_process_filter: - key = cls._parse_post_process_filter(post_process_filter, key, extra_vars) + key = self._parse_post_process_filter(post_process_filter, key, extra_vars) extra_vars["_get_duplicates"] = mapping.get("flat", False) yield key, block, extra_vars - @classmethod - def _parse_leaf_default(cls, mapping, data, check_default=True): + def _parse_leaf_default(self, mapping, data, check_default=True): match = re.search(mapping["regexp"], data, re.MULTILINE + re.I) if match: @@ -42,17 +40,14 @@ def _parse_leaf_default(cls, mapping, data, check_default=True): else: return None - @classmethod - def _parse_leaf_is_present(cls, mapping, data): - value = cls._parse_leaf_default(mapping, data, check_default=False) + def _parse_leaf_is_present(self, mapping, data): + value = self._parse_leaf_default(mapping, data, check_default=False) return bool(value) - @classmethod - def _parse_leaf_is_absent(cls, mapping, data): - value = cls._parse_leaf_default(mapping, data, check_default=False) + def _parse_leaf_is_absent(self, mapping, data): + value = self._parse_leaf_default(mapping, data, check_default=False) return not bool(value) - @classmethod - def _parse_leaf_map(cls, mapping, data): - value = cls._parse_leaf_default(mapping, data) + def _parse_leaf_map(self, mapping, data): + value = self._parse_leaf_default(mapping, data) return mapping["map"][value] diff --git a/napalm_yang/parsers/text_tree.py b/napalm_yang/parsers/text_tree.py index 3f64d860..d5a5503b 100644 --- a/napalm_yang/parsers/text_tree.py +++ b/napalm_yang/parsers/text_tree.py @@ -89,8 +89,7 @@ def parse_indented_config(config, current_indent=0, previous_indent=0, nested=Fa class TextTree(JSONParser): - @classmethod - def init_native(cls, native): + def init_native(self, native): resp = [] for n in native: if isinstance(n, dict): @@ -105,8 +104,7 @@ def init_native(cls, native): return resp - @classmethod - def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): + def _parse_leaf_default(self, mapping, data, check_default=True, check_presence=False): extra_path = "#standalone" if check_presence else "#text" if "path" in mapping: mapping["path"] = "{}.{}".format(mapping["path"], extra_path) diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index a4a29ed3..6b0d3f1d 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -7,8 +7,7 @@ class XMLParser(JSONParser): - @classmethod - def init_native(cls, native): + def init_native(self, native): resp = [] for n in native: if isinstance(n, dict): @@ -18,8 +17,7 @@ def init_native(cls, native): return resp - @classmethod - def _parse_leaf_default(cls, mapping, data, check_default=True, check_presence=False): + def _parse_leaf_default(self, mapping, data, check_default=True, check_presence=False): attribute = mapping.get("attribute", None) if attribute: attribute = "@{}".format(attribute) diff --git a/test/unit/test_parser.py b/test/unit/test_parser.py index b68fbfcc..77d78f91 100644 --- a/test/unit/test_parser.py +++ b/test/unit/test_parser.py @@ -10,7 +10,7 @@ def test_resolve_path_dict(self): } } path = "simple.path" - result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + result = napalm_yang.parsers.base.BaseParser({}, {}).resolve_path(data, path) assert result == 123 def test_resolve_path_list(self): @@ -20,7 +20,7 @@ def test_resolve_path_list(self): ] } path = "simple.0.path" - result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + result = napalm_yang.parsers.base.BaseParser({}, {}).resolve_path(data, path) assert result == 123 def test_extract_value_simple(self): @@ -43,7 +43,7 @@ def test_extract_value_simple(self): } } path = "group.?name" - result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + result = napalm_yang.parsers.base.BaseParser({}, {}).resolve_path(data, path) expected = [ {'data': {'whatever': 1}, 'name': 'group_1', @@ -73,7 +73,7 @@ def test_extract_value_nested(self): } } path = "group.?name.subgroup.?subname" - result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + result = napalm_yang.parsers.base.BaseParser({}, {}).resolve_path(data, path) expected = [ {'name': 'group_1', 'path': 2, 'subname': 'subgroup_1', "data": {"whatever": 1}}, {'name': 'group_1', 'path': 3, 'subname': 'subgroup_2', "data": {"whatever": 1}}, @@ -92,7 +92,7 @@ def test_extract_value_nested_list(self): "subgroup": [{"name": "subgroup_3", "path": 5}, {"name": "subgroup_4", "path": 6}]}]} path = "group.?group:name.subgroup.?subgroup:name" - result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + result = napalm_yang.parsers.base.BaseParser({}, {}).resolve_path(data, path) expected = [ {'data': {'whatever': 1}, 'group': 'group_1', 'name': 'group_1', 'path': 2, 'subgroup': 'subgroup_1'}, @@ -120,7 +120,7 @@ def test_junos_neighbor(self): "name": {"#text": "172.20.0.1"}, "peer-as": {"#text": "65200"}}}]} path = "group.?peer_group:name.neighbor.?neighbor:name" - result = napalm_yang.parsers.base.BaseParser.resolve_path(data, path) + result = napalm_yang.parsers.base.BaseParser({}, {}).resolve_path(data, path) expected = [ {'name': {'#text': 'my_other_peers'}, 'neighbor': '172.20.0.1', diff --git a/test/unit/test_text_tree.py b/test/unit/test_text_tree.py index b7445624..32fbf9c3 100644 --- a/test/unit/test_text_tree.py +++ b/test/unit/test_text_tree.py @@ -23,7 +23,7 @@ def test_text_tree_parser(self, case): with open(path, 'r') as f: original = [f.read()] - parsed = napalm_yang.parsers.text_tree.TextTree.init_native(original) + parsed = napalm_yang.parsers.text_tree.TextTree({}, {}).init_native(original) result = json.dumps(parsed, indent=4) # with open(expected, 'w') as f: From c3bfb39b04b1da38aa84ed0591177ad99825bc30 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 25 Jul 2017 19:05:51 +0200 Subject: [PATCH 148/153] pass to the post-processor keys and extra_vars and try to literal_eval result --- napalm_yang/parsers/base.py | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/napalm_yang/parsers/base.py b/napalm_yang/parsers/base.py index 1f8ea2cd..cdf78d16 100644 --- a/napalm_yang/parsers/base.py +++ b/napalm_yang/parsers/base.py @@ -99,13 +99,10 @@ def parse_leaf(self, mapping, bookmarks): result = getattr(self, method_name)(m, data) if result is not None: - post_process_filter = m.pop("post_process_filter", None) - if post_process_filter: - result = cls._parse_post_process_filter(post_process_filter, value=result) - try: - result = ast.literal_eval(result) - except ValueError: - pass + try: + result = ast.literal_eval(result) + except (ValueError, SyntaxError): + pass return result def parse_container(self, mapping, bookmarks): @@ -136,15 +133,10 @@ def _parse_list_skip(self, mapping, bookmarks): _parse_list_gate = _parse_list_skip - @classmethod - def _parse_leaf_value(cls, mapping, bookmarks): - return mapping["value"] - def _parse_container_gate(self, mapping, bookmarks): """This basically stops parsing the tree by returning None""" return None, {} - @classmethod - def _parse_post_process_filter(cls, post_process_filter, extra_vars={}, **kwargs): - kwargs["extra_vars"] = extra_vars - return template(post_process_filter, **kwargs) + def _parse_post_process_filter(self, post_process_filter, **kwargs): + kwargs.update(self.keys) + return template(post_process_filter, extra_vars=self.extra_vars, **kwargs) From 017445697cdb70f8482490c0004581efc6c5f23d Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 25 Jul 2017 19:06:41 +0200 Subject: [PATCH 149/153] path might not be necessary in some cases where value is specified --- napalm_yang/parsers/xml.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/napalm_yang/parsers/xml.py b/napalm_yang/parsers/xml.py index 6b0d3f1d..992d0a29 100644 --- a/napalm_yang/parsers/xml.py +++ b/napalm_yang/parsers/xml.py @@ -19,9 +19,11 @@ def init_native(self, native): def _parse_leaf_default(self, mapping, data, check_default=True, check_presence=False): attribute = mapping.get("attribute", None) - if attribute: + path = mapping.get("path", None) + if attribute and path: attribute = "@{}".format(attribute) mapping["path"] = "{}.{}".format(mapping["path"], attribute) - elif not check_presence: + elif not check_presence and path: + attribute = "#text" mapping["path"] = "{}.{}".format(mapping["path"], "#text") return super()._parse_leaf_default(mapping, data, check_default, check_presence) From ac941206ce527dd46a62b7f993ec5708a88954da Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 25 Jul 2017 19:07:00 +0200 Subject: [PATCH 150/153] decouple path from value --- napalm_yang/parsers/jsonp.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/napalm_yang/parsers/jsonp.py b/napalm_yang/parsers/jsonp.py index 81c5b830..fe74255b 100644 --- a/napalm_yang/parsers/jsonp.py +++ b/napalm_yang/parsers/jsonp.py @@ -81,11 +81,9 @@ def _process_key_value(key, value, regexp, mapping): if key: yield key, v, extra_vars - if "value" in mapping: - d = mapping["value"] - elif "path" in mapping: - d = cls.resolve_path(data, mapping["path"], mapping.get("default"), check_presence) def _parse_leaf_default(self, mapping, data, check_default=True, check_presence=False): + if "path" in mapping: + d = self.resolve_path(data, mapping["path"], mapping.get("default"), check_presence) else: d = None From ecf7b953678ac61c3defc68677d05e78e2454a3c Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 25 Jul 2017 19:07:22 +0200 Subject: [PATCH 151/153] Adapt to new behavior of value --- .../eos/parsers/config/openconfig-if-ip/ipv4.yaml | 6 ++---- .../parsers/config/openconfig-interfaces/interfaces.yaml | 3 +-- .../config/openconfig-network-instance/includes/bgp.yaml | 3 +-- .../includes/static_routes.yaml | 6 ++---- .../openconfig-network-instance/network-instances.yaml | 9 +++------ .../parsers/config/openconfig-vlan/switched-vlan.yaml | 2 +- .../ios/parsers/config/openconfig-if-ip/ipv4.yaml | 2 +- .../parsers/config/openconfig-interfaces/interfaces.yaml | 3 +-- .../junos/parsers/config/openconfig-if-ip/ipv4.yaml | 6 ++---- .../parsers/config/openconfig-interfaces/interfaces.yaml | 6 ++---- .../config/openconfig-network-instance/includes/bgp.yaml | 3 +-- .../includes/static_routes.yaml | 6 ++---- .../openconfig-network-instance/network-instances.yaml | 6 ++---- .../parsers/state/openconfig-interfaces/interfaces.yaml | 3 +-- .../eos/openconfig-vlan/config/default/candidate.json | 3 ++- .../eos/openconfig-vlan/config/default/expected.json | 6 ++++-- .../eos/openconfig-vlan/config/default/translation.txt | 2 ++ 17 files changed, 30 insertions(+), 45 deletions(-) diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml index 6f69a2f7..621d8d56 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -24,12 +24,10 @@ ipv4: _process: unnecessary ip: _process: - - mode: value - value: "{{ extra_vars.ip }}" + - value: "{{ extra_vars.address.ip }}" prefix-length: _process: - - mode: value - value: "{{ extra_vars.prefix }}" + - value: "{{ extra_vars.address.prefix }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml index 9250a5fa..28dbd4e5 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -62,8 +62,7 @@ interfaces: _process: unnecessary name: _process: - - mode: value - value: "{{ interface_key }}.{{ subinterface_key}}" + - value: "{{ interface_key }}.{{ subinterface_key}}" enabled: _process: - mode: is_absent diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml index 92e6295e..4da03585 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -629,8 +629,7 @@ neighbors: regexp: "(?P\\d+)" neighbor-address: _process: - - mode: value - value: "{{ neighbor_key }}" + - value: "{{ neighbor_key }}" peer-as: _process: - path: remote-as diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index f6fddeef..e7bb4975 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -13,8 +13,7 @@ static: _process: unnecessary prefix: _process: - - mode: value - value: "{{ static_key }}" + - value: "{{ static_key }}" set-tag: _process: not_implemented next-hops: @@ -31,8 +30,7 @@ static: - regexp: "(?P\\d+)" next-hop: _process: - - mode: value - value: "{{ next_hop_key }}" + - value: "{{ next_hop_key }}" recurse: _process: not_implemented index: diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml index 6c4599d1..9c6270c1 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -24,8 +24,7 @@ network-instances: - path: "description" enabled: _process: - - mode: value - value: true + - value: "true" enabled-address-families: _process: not_implemented mtu: @@ -39,11 +38,9 @@ network-instances: _process: not_implemented type: _process: - - mode: value - value: DEFAULT_INSTANCE + - value: DEFAULT_INSTANCE when: "{{ network_instance_key == 'global' }}" - - mode: value - value: L3VRF + - value: L3VRF when: "{{ network_instance_key != 'global' }}" connection-points: _process: not_implemented diff --git a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/switched-vlan.yaml b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/switched-vlan.yaml index ff953f26..765624f5 100644 --- a/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/switched-vlan.yaml +++ b/napalm_yang/mappings/eos/parsers/config/openconfig-vlan/switched-vlan.yaml @@ -23,6 +23,6 @@ switched-vlan: trunk-vlans: _process: - path: switchport.trunk.allowed.vlan - post_process_filter: "{{ value|vlan_range_to_oc }}" + value: "{{ value|vlan_range_to_oc }}" state: _process: not_implemented diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml index 0af092c1..3f9cbc92 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-if-ip/ipv4.yaml @@ -29,7 +29,7 @@ ipv4: prefix-length: _process: - path: mask - post_process_filter: "{{ value|netmask_to_cidr }}" + value: "{{ value|netmask_to_cidr }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml index a82de774..f2216278 100644 --- a/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/ios/parsers/config/openconfig-interfaces/interfaces.yaml @@ -63,8 +63,7 @@ interfaces: _process: unnecessary name: _process: - - mode: value - value: "{{ interface_key }}.{{ subinterface_key}}" + - value: "{{ interface_key }}.{{ subinterface_key}}" enabled: _process: - mode: is_absent diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml index 606f610c..f59f7fce 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-if-ip/ipv4.yaml @@ -27,12 +27,10 @@ ipv4: _process: unnecessary ip: _process: - - mode: value - value: "{{ extra_vars.ip }}" + - value: "{{ extra_vars.address.ip }}" prefix-length: _process: - - mode: value - value: "{{ extra_vars.prefix }}" + - value: "{{ extra_vars.address.prefix }}" vrrp: _process: not_implemented vrrp-group: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml index 22a3e878..0b568777 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-interfaces/interfaces.yaml @@ -28,8 +28,7 @@ interfaces: _process: unnecessary name: _process: - - mode: value - value: "{{ interface_key }}" + - value: "{{ interface_key }}" type: _process: - mode: map @@ -68,8 +67,7 @@ interfaces: _process: not_implemented name: _process: - - mode: value - value: "{{ subinterface_key }}" + - value: "{{ subinterface_key }}" enabled: _process: - mode: is_absent diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml index c4af5a37..b0f08412 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/bgp.yaml @@ -628,8 +628,7 @@ neighbors: - path: "local-as.as-number" neighbor-address: _process: - - mode: value - value: "{{ neighbor_key }}" + - value: "{{ neighbor_key }}" peer-as: _process: - path: "peer-as" diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml index 82c24d8d..2ce18ba9 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/includes/static_routes.yaml @@ -10,8 +10,7 @@ static: _process: unnecessary prefix: _process: - - mode: value - value: "{{ static_key }}" + - value: "{{ static_key }}" set-tag: _process: not_implemented next-hops: @@ -29,8 +28,7 @@ static: - path: "metric" next-hop: _process: - - mode: value - value: "{{ next_hop_key }}" + - value: "{{ next_hop_key }}" recurse: _process: not_implemented index: diff --git a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml index 7f0d5d60..07c7c281 100644 --- a/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml +++ b/napalm_yang/mappings/junos/parsers/config/openconfig-network-instance/network-instances.yaml @@ -25,8 +25,7 @@ network-instances: - path: description enabled: _process: - - mode: value - value: true + - value: "true" enabled-address-families: _process: not_implemented mtu: @@ -39,8 +38,7 @@ network-instances: _process: not_implemented type: _process: - - mode: value - value: DEFAULT_INSTANCE + - value: DEFAULT_INSTANCE when: "{{ network_instance_key == 'global' }}" - mode: map path: instance-type diff --git a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml index 25c3785e..d951c16b 100644 --- a/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml +++ b/napalm_yang/mappings/junos/parsers/state/openconfig-interfaces/interfaces.yaml @@ -153,8 +153,7 @@ interfaces: _process: not_implemented name: _process: - - mode: value - value: "{{ subinterface_key }}" + - value: "{{ subinterface_key }}" oper-status: _process: not_implemented counters: diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/candidate.json b/test/integration/test_profiles/eos/openconfig-vlan/config/default/candidate.json index e487b924..452065df 100644 --- a/test/integration/test_profiles/eos/openconfig-vlan/config/default/candidate.json +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/candidate.json @@ -3,7 +3,8 @@ "vlan": { "1": { "config": { - "name": "default" + "name": "default", + "status": "ACTIVE" }, "vlan-id": "1" }, diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/expected.json b/test/integration/test_profiles/eos/openconfig-vlan/config/default/expected.json index e8f1fe9e..d589d18c 100644 --- a/test/integration/test_profiles/eos/openconfig-vlan/config/default/expected.json +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/expected.json @@ -3,7 +3,8 @@ "vlan": { "1": { "config": { - "name": "default" + "name": "default", + "status": "ACTIVE" }, "vlan-id": "1" }, @@ -16,7 +17,8 @@ }, "30": { "config": { - "name": "devel" + "name": "devel", + "status": "ACTIVE" }, "vlan-id": "30" } diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/translation.txt b/test/integration/test_profiles/eos/openconfig-vlan/config/default/translation.txt index a71f94c1..4c19b0b9 100644 --- a/test/integration/test_profiles/eos/openconfig-vlan/config/default/translation.txt +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/translation.txt @@ -1,7 +1,9 @@ vlan 1 + state active name default exit vlan 30 + state active name devel exit vlan 20 From 07c0b0752a4362af449e190444f01c17ca60a8a8 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Tue, 25 Jul 2017 19:08:14 +0200 Subject: [PATCH 152/153] Missing line --- .../test_profiles/eos/openconfig-vlan/config/default/replace.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test/integration/test_profiles/eos/openconfig-vlan/config/default/replace.txt b/test/integration/test_profiles/eos/openconfig-vlan/config/default/replace.txt index e8ad9f1c..08b78487 100644 --- a/test/integration/test_profiles/eos/openconfig-vlan/config/default/replace.txt +++ b/test/integration/test_profiles/eos/openconfig-vlan/config/default/replace.txt @@ -1,5 +1,6 @@ no vlan 1 vlan 1 + state active name default exit no vlan 31 From 29d862ec69d1e704732c49e7be68a27e322bf758 Mon Sep 17 00:00:00 2001 From: David Barroso Date: Fri, 4 Aug 2017 19:14:41 +0200 Subject: [PATCH 153/153] Bump version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 0b5be1e2..14af13ef 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ setup( name="napalm-yang", - version="0.0.6", + version="0.0.7", packages=find_packages(), author="David Barroso", author_email="dbarrosop@dravetech.com",