diff --git a/changes/692.added b/changes/692.added new file mode 100644 index 00000000..8fcbc898 --- /dev/null +++ b/changes/692.added @@ -0,0 +1 @@ +Add Rad ETX config parser. diff --git a/docs/dev/include_parser_list.md b/docs/dev/include_parser_list.md index d830487f..11a3b4e4 100644 --- a/docs/dev/include_parser_list.md +++ b/docs/dev/include_parser_list.md @@ -22,5 +22,6 @@ | nokia_sros | netutils.config.parser.NokiaConfigParser | | nvidia_onyx | netutils.config.parser.NvidiaOnyxConfigParser | | paloalto_panos | netutils.config.parser.PaloAltoNetworksConfigParser | +| rad_etx | netutils.config.parser.RadEtxConfigParser | | ruckus_fastiron | netutils.config.parser.FastironConfigParser | | ubiquiti_airos | netutils.config.parser.UbiquitiAirOSConfigParser | \ No newline at end of file diff --git a/docs/user/lib_mapper/netutilsparser.md b/docs/user/lib_mapper/netutilsparser.md index d4170d76..daaf62c8 100644 --- a/docs/user/lib_mapper/netutilsparser.md +++ b/docs/user/lib_mapper/netutilsparser.md @@ -22,5 +22,6 @@ | nokia_sros | → | nokia_sros | | nvidia_onyx | → | nvidia_onyx | | paloalto_panos | → | paloalto_panos | +| rad_etx | → | rad_etx | | ruckus_fastiron | → | ruckus_fastiron | | ubiquiti_airos | → | ubiquiti_airos | \ No newline at end of file diff --git a/docs/user/lib_mapper/netutilsparser_reverse.md b/docs/user/lib_mapper/netutilsparser_reverse.md index 309e2be2..2edf097a 100644 --- a/docs/user/lib_mapper/netutilsparser_reverse.md +++ b/docs/user/lib_mapper/netutilsparser_reverse.md @@ -23,5 +23,6 @@ | nokia_sros | → | nokia_sros | | nvidia_onyx | → | nvidia_onyx | | paloalto_panos | → | paloalto_panos | +| rad_etx | → | rad_etx | | ruckus_fastiron | → | ruckus_fastiron | | ubiquiti_airos | → | ubiquiti_airos | \ No newline at end of file diff --git a/netutils/config/compliance.py b/netutils/config/compliance.py index 8dd1c94e..3990334a 100644 --- a/netutils/config/compliance.py +++ b/netutils/config/compliance.py @@ -29,6 +29,7 @@ "nokia_sros": parser.NokiaConfigParser, "nvidia_onyx": parser.NvidiaOnyxConfigParser, "paloalto_panos": parser.PaloAltoNetworksConfigParser, + "rad_etx": parser.RadEtxConfigParser, "ruckus_fastiron": parser.FastironConfigParser, "ubiquiti_airos": parser.UbiquitiAirOSConfigParser, } diff --git a/netutils/config/parser.py b/netutils/config/parser.py index fb9d74cf..32a511be 100644 --- a/netutils/config/parser.py +++ b/netutils/config/parser.py @@ -1862,3 +1862,32 @@ def build_config_relationship(self) -> t.List[ConfigLine]: self.config_lines.append(ConfigLine(line, ())) return self.config_lines + + +class RadEtxConfigParser(BaseSpaceConfigParser): + """Rad ETX config parser.""" + + comment_chars: t.List[str] = ["#", "configure", "admin", "file"] + banner_start: t.List[str] = [] + + @property + def banner_end(self) -> str: + """Demarcate End of Banner char(s).""" + raise NotImplementedError("Rad ETX platform doesn't have a banner.") + + @property + def config_lines_only(self) -> str: + """Remove spaces and comments from config lines. + + Returns: + The non-space and non-comment lines from ``config``. + """ + if self._config is None: + config_lines = ( + line.removeprefix(" ") # Rad ETX uses 8 spaces for initial indentation + for line in self.config.splitlines() + # if line and not self.is_comment(line) and not line.isspace() and not self.is_exit_or_exit_all(line) + if line and not self.is_comment(line) and not line.isspace() + ) + self._config = "\n".join(config_lines) + return self._config diff --git a/netutils/data_files/oui_mappings.py b/netutils/data_files/oui_mappings.py index 0d9af798..4ae40ceb 100644 --- a/netutils/data_files/oui_mappings.py +++ b/netutils/data_files/oui_mappings.py @@ -1,4 +1,5 @@ """Dictionary object to store OUI information.""" + # pylint: disable=too-many-lines import typing diff --git a/netutils/lib_mapper.py b/netutils/lib_mapper.py index 02fe5717..f5308ae4 100644 --- a/netutils/lib_mapper.py +++ b/netutils/lib_mapper.py @@ -425,6 +425,7 @@ "nokia_sros": "nokia_sros", "nvidia_onyx": "nvidia_onyx", "paloalto_panos": "paloalto_panos", + "rad_etx": "rad_etx", "ruckus_fastiron": "ruckus_fastiron", "ubiquiti_airos": "ubiquiti_airos", } @@ -596,6 +597,7 @@ "nokia_sros": "nokia_sros", "nvidia_onyx": "nvidia_onyx", "paloalto_panos": "paloalto_panos", + "rad_etx": "rad_etx", "ruckus_fastiron": "ruckus_fastiron", "ubiquiti_airos": "ubiquiti_airos", } diff --git a/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_backup.txt b/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_backup.txt new file mode 100644 index 00000000..b0f3495e --- /dev/null +++ b/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_backup.txt @@ -0,0 +1,732 @@ + configure + echo "Terminal Configuration" + # Terminal Configuration + terminal + timeout forever + exit + echo "System Configuration" + # System Configuration + system + name "ETX001" + echo "LLDP Configuration" + # LLDP Configuration + lldp + no shutdown + exit + exit + echo "Management configuration" + # Management configuration + management + login-user "net-creds-1" + level su + password "abcdefghijklmnopqrstuvwxyz123456789abcde" hash + no shutdown + exit + login-user "net-creds-2" + level oper + password "abcdefghijklmnopqrstuvwxyz123456789zyxwv" hash + no shutdown + exit + echo "SNMP Configuration" + # SNMP Configuration + snmp + user "snmpv2" none-auth + no shutdown + exit + access-group "snmpv2" snmpv2c no-auth-no-priv + read-view "ntc" + write-view "ntc" + notify-view "ntc" + no shutdown + exit + access-group "v2_read" snmpv2c no-auth-no-priv + write-view "ntc" + exit + security-to-group snmpv2c sec-name "snmpv2" + group-name "snmpv2" + no shutdown + exit + community "ntccommunity" + name "ntccommunity" + sec-name "v2_write" + no shutdown + exit + community "public" + name "public" + sec-name "v2_read" + no shutdown + exit + community "read" + name "private" + sec-name "v2_read" + no shutdown + exit + community "trap" + name "private" + sec-name "v2_trap" + no shutdown + exit + community "trapCommunity" + name "trapCommunity" + sec-name "v2_trap" + no shutdown + exit + community "write" + name "private" + sec-name "v2_write" + no shutdown + exit + target-params "example1" + message-processing-model snmpv2c + version snmpv2c + security name "v2_trap" level no-auth-no-priv + no shutdown + exit + target-params "example2" + message-processing-model snmpv2c + version snmpv2c + security name "v2_trap" level no-auth-no-priv + no shutdown + exit + config-change-notification + exit + exit + echo "Port Configuration" + # Port Configuration + port + l2cp-profile "network" + mac "01-80-c2-00-00-02" peer + mac "01-80-c2-00-00-0e" peer + exit + l2cp-profile "EXAMPLE-ONE" + mac "01-80-c2-00-00-01" discard + exit + l2cp-profile "EXAMPLE-TWO" + mac "01-80-c2-00-00-02" peer + mac "01-80-c2-00-00-0e" peer + exit + l2cp-profile "EXAMPLE-THREE" + mac "01-80-c2-00-00-00" discard + mac "01-80-c2-00-00-01" discard + mac "01-80-c2-00-00-02" discard + mac "01-80-c2-00-00-03" discard + mac "01-80-c2-00-00-04" discard + mac "01-80-c2-00-00-05" discard + mac "01-80-c2-00-00-06" discard + mac "01-80-c2-00-00-07" discard + mac "01-80-c2-00-00-08" discard + mac "01-80-c2-00-00-09" discard + mac "01-80-c2-00-00-0a" discard + mac "01-80-c2-00-00-0b" discard + mac "01-80-c2-00-00-0c" discard + mac "01-80-c2-00-00-0d" discard + mac "01-80-c2-00-00-0e" discard + mac "01-80-c2-00-00-0f" discard + mac "01-80-c2-00-00-10" discard + mac "01-80-c2-00-00-20" discard + mac "01-80-c2-00-00-21" discard + mac "01-80-c2-00-00-22" discard + mac "01-80-c2-00-00-23" discard + mac "01-80-c2-00-00-24" discard + mac "01-80-c2-00-00-25" discard + mac "01-80-c2-00-00-26" discard + mac "01-80-c2-00-00-27" discard + mac "01-80-c2-00-00-28" discard + mac "01-80-c2-00-00-29" discard + mac "01-80-c2-00-00-2a" discard + mac "01-80-c2-00-00-2b" discard + mac "01-80-c2-00-00-2c" discard + mac "01-80-c2-00-00-2d" discard + mac "01-80-c2-00-00-2e" discard + mac "01-80-c2-00-00-2f" discard + mac "01-00-0c-cc-cc-cc" discard + mac "01-00-0c-cc-cc-cd" discard + default discard + exit + l2cp-profile "EXAMPLE-FOUR" + exit + ethernet 1/1 + shutdown + no auto-negotiation + speed-duplex 1000-full-duplex + egress-mtu 9200 + l2cp profile "network" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 1/2 + shutdown + name "description for eth1/2" + egress-mtu 9000 + exit + ethernet 1/3 + name "description for eth1/3" + speed-duplex 1000-full-duplex + egress-mtu 12000 + l2cp profile "network" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 1/4 + name "description for eth1/4" + tag-ethernet-type 0x88a8 + egress-mtu 12000 + l2cp profile "EXAMPLE-THREE" + exit + ethernet 1/5 + name "description for eth1/5" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 1/6 + name "description for eth1/6" + egress-mtu 9000 + exit + ethernet 1/7 + name "description for eth1/7" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 1/8 + name "description for eth1/8" + egress-mtu 9008 + l2cp profile "EXAMPLE-THREE" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 1/10 + name "description for eth1/9" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 3/1 + shutdown + exit + ethernet 3/2 + name "description for eth3/2" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 4/1 + name "description for eth4/1" + egress-mtu 12000 + l2cp profile "network" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 4/2 + name "description for eth4/2" + exit + echo "Service Virtual Interface- Port Configuration" + # Service Virtual Interface- Port Configuration + svi 1 + name "1" + no shutdown + exit + svi 3 + name "3" + exit + echo "LAG - Port Configuration" + # LAG - Port Configuration + lag 1 + shutdown + bind ethernet 1/1 + bind ethernet 1/2 + anchor-port ethernet 1/1 + exit + lag 7 + shutdown + no anchor-port + exit + exit + echo "Bridge Configuration" + # Bridge Configuration + bridge 1 + name "MGMT" + echo "Bridge Port Configuration" + # Bridge Port Configuration + port 1 + name "svi 1" + no shutdown + exit + port 2 + name "example" + no shutdown + exit + port 3 + name "example" + no shutdown + exit + port 4 + name "example" + no shutdown + exit + port 5 + name "example" + no shutdown + exit + echo "VLAN Configuration" + # VLAN Configuration + vlan 99 + exit + exit + echo "Flows Configuration" + # Flows Configuration + flows + rate-sampling-window 1 + echo "Classifier Profile Configuration" + # Classifier Profile Configuration + classifier-profile "mgmt" match-any + match untagged + exit + classifier-profile "CP-ONE" match-any + match vlan 1103 + exit + classifier-profile "CP-TWO" match-any + match vlan 1103 + exit + classifier-profile "CP-THREE" match-any + match vlan 1201 + exit + classifier-profile "CP-FOUR" match-any + match vlan 1201 + exit + classifier-profile "CP-FIVE" match-any + match vlan 1103 + exit + classifier-profile "CP-SIX" match-any + match vlan 1103 + exit + classifier-profile "CP-SEVEN" match-any + match vlan 1155 dst-ip 192.168.192.2 to-dst-ip 192.168.192.2 + exit + classifier-profile "CP-EIGHT" match-any + match all + exit + classifier-profile "CP-NINE" match-any + match all + exit + classifier-profile "CP-TEN" match-any + match vlan 1155 + exit + classifier-profile "CP-ELEVEN" match-any + match vlan 1202 + exit + classifier-profile "CP-TWELVE" match-any + match all + exit + classifier-profile "CP-A" match-any + match vlan 22 + exit + classifier-profile "CP-B" match-any + match all + exit + classifier-profile "CP-C" match-any + match vlan 777 + exit + classifier-profile "CP-D" match-any + match all + exit + classifier-profile "CP-E" match-any + match vlan 1102 + exit + classifier-profile "CP-F" match-any + match vlan 88 + exit + classifier-profile "CP-G" match-any + match vlan 88 + exit + echo "Flow Configuration" + # Flow Configuration + flow "flow1" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port svi 1 + egress-port bridge-port 1 1 + reverse-direction + no shutdown + exit + flow "flow2" + classifier "CP-THREE" + policer profile "50m" + mark all + vlan 1201 + p-bit 1 + exit + ingress-port ethernet 3/1 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "R" + no shutdown + exit + flow "flow3" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port ethernet 4/1 + egress-port bridge-port 1 2 + reverse-direction block 0/1 + no shutdown + exit + flow "flow4" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port ethernet 1/1 + egress-port bridge-port 1 4 + reverse-direction block 0/1 + no shutdown + exit + flow "flow5" + classifier "CP-ONE" + no policer + ingress-port ethernet 1/3 + egress-port ethernet 4/1 queue-map-profile "MTU" block 0/1 + service-name "Q" + no shutdown + exit + flow "flow6" + classifier "CP-TWO" + no policer + ingress-port ethernet 4/1 + egress-port ethernet 1/3 queue-map-profile "MTU" block 0/1 + service-name "P" + no shutdown + exit + flow "flow7" + classifier "CP-FOUR" + no policer + mark all + vlan 1201 + exit + ingress-port ethernet 4/1 + egress-port ethernet 3/1 queue 1 block 0/1 + service-name "O" + no shutdown + exit + flow "flow8" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port ethernet 1/8 + egress-port bridge-port 1 5 + reverse-direction block 0/1 + no shutdown + exit + flow "flow9" + shutdown + classifier "mgmt" + policer profile "Policer1" + vlan-tag push vlan 1111 p-bit fixed 4 + ingress-port ethernet 3/1 + egress-port ethernet 4/2 queue 1 block 0/1 + service-name "N" + pm-collection interval 300 + exit + flow "flow10" + classifier "CP-EIGHT" + policer profile "10m" + vlan-tag push vlan 1202 p-bit fixed 3 + ingress-port ethernet 3/2 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "M" + no shutdown + exit + flow "flow11" + classifier "CP-ELEVEN" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 3/2 queue 1 block 0/1 + service-name "L" + no shutdown + exit + flow "flow12" + shutdown + classifier "CP-FIVE" + no policer + ingress-port ethernet 1/3 + egress-port ethernet 4/1 queue-map-profile "MTU" block 0/1 + service-name "K" + exit + flow "flow13" + classifier "CP-SEVEN" + policer profile "2g" + mark all + mac swap + ip swap + exit + ingress-port ethernet 4/1 + egress-port ethernet 4/1 queue 0 block 0/1 + no shutdown + exit + flow "flow14" + shutdown + classifier "CP-SIX" + no policer + ingress-port ethernet 4/1 + egress-port ethernet 1/3 queue-map-profile "MTU" block 0/1 + service-name "J" + exit + flow "flow15" + classifier "CP-NINE" + policer profile "2g" + vlan-tag push vlan 1155 p-bit fixed 1 + ingress-port ethernet 1/5 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "I" + no shutdown + exit + flow "flow16" + classifier "CP-TEN" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/5 queue 1 block 0/1 + service-name "H" + no shutdown + exit + flow "flow17" + classifier "CP-D" + policer profile "100m" + vlan-tag push vlan 1102 p-bit fixed 1 + ingress-port ethernet 1/7 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "G" + no shutdown + exit + flow "flow18" + classifier "CP-TWELVE" + policer profile "50m" + vlan-tag push vlan 22 p-bit fixed 3 + ingress-port ethernet 1/8 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "F" + no shutdown + exit + flow "flow19" + classifier "CP-A" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/8 queue 1 block 0/1 + service-name "E" + no shutdown + exit + flow "flow20" + classifier "CP-E" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/7 queue 1 block 0/1 + service-name "D" + no shutdown + exit + flow "flow21" + classifier "CP-B" + policer profile "100_Mbps" + vlan-tag push vlan 777 p-bit fixed 3 + ingress-port ethernet 1/10 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "C" + no shutdown + exit + flow "flow22" + classifier "CP-C" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/10 queue 1 block 0/1 + service-name "B" + no shutdown + exit + flow "flow23" + classifier "CP-F" + no policer + ingress-port ethernet 1/3 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "A" + no shutdown + exit + flow "flow24" + classifier "CP-G" + no policer + ingress-port ethernet 4/1 + egress-port ethernet 1/3 queue 1 block 0/1 + service-name "A" + no shutdown + exit + exit + router 1 + name "Router#1" + interface 1 + name "ROUTER:DESCRIPTION" + bind svi 1 + dhcp + dhcp-client + client-id mac + exit + no shutdown + exit + static-route 0.0.0.0/0 address 1.1.1.1 metric 1 + exit + exit + configure + oam + echo "OAM CFM Configuration" + # OAM CFM Configuration + cfm + md-level-mip 2 + measurement-bin-profile "cfm1" + thresholds 8000,10000,11200,14000 + exit + measurement-bin-profile "cfm2" + thresholds 1600,2000,2400,3000 + exit + measurement-bin-profile "cfm3" + thresholds 20000,25000,28000,35000 + exit + measurement-bin-profile "cfm4" + thresholds 3200,4000,6400,8000 + exit + measurement-bin-profile "cfm5" + thresholds 61600,77000,110400,138000 + exit + measurement-bin-profile "cfm5" + thresholds 8000,10000 + exit + measurement-bin-profile "cfm6" + thresholds 16000,20000,32000,40000 + exit + measurement-bin-profile "cfm7" + thresholds 6400,8000 + exit + measurement-bin-profile "cfm8" + thresholds 60000,75000,120000,150000 + exit + measurement-bin-profile "cfm9" + thresholds 32000,40000 + exit + measurement-bin-profile "cfma" + thresholds 92000,115000,184000,230000 + exit + measurement-bin-profile "cfmb" + thresholds 32000,40000 + exit + measurement-bin-profile "cfmc" + thresholds 29600,37000,59200,74000 + exit + measurement-bin-profile "cfmd" + thresholds 100000,110400,125000,138000 + exit + measurement-bin-profile "cfme" + thresholds 184000,230000,368000,460000 + exit + measurement-bin-profile "cfmf" + thresholds 8000,10000,40000,50000 + exit + measurement-bin-profile "cfmg" + thresholds 9600,12000 + exit + measurement-bin-profile "cfmh" + thresholds 40000,50000 + exit + measurement-bin-profile "cfmi" + thresholds 59200,74000 + exit + measurement-bin-profile "cfmj" + thresholds 9600,12000 + exit + measurement-bin-profile "cfmk" + thresholds 200000,250000 + exit + measurement-bin-profile "cfml" + thresholds 40000,50000 + exit + measurement-bin-profile "cfmm" + thresholds 368000,460000 + exit + measurement-bin-profile "cfmn" + thresholds 40000,50000 + exit + maintenance-domain 1 + name string "MD1" + maintenance-association 1 + name string "MA1" + mep 1 + no bind + client-md-level 4 + exit + exit + exit + maintenance-domain 2 + md-level 2 + name string "ABC-DEF" + maintenance-association 2 + name string "MA2" + mep 1 + bind ethernet 1/8 + flow uni-direction rx "MA2-out" + flow uni-direction tx "MA2-in" + remote-mep 2 + direction up + customer-tags-excluded + client-md-level 3 + no shutdown + service 1 + classification priority-bit 3 + lmm-interval 100ms + dest-ne 1 + no delay + no loss + remote mep-id 2 + exit + no shutdown + exit + exit + exit + exit + maintenance-domain 3 + name string "ABC-DEF" + maintenance-association 2 + name string "MD3" + mep 2 + bind ethernet 1/10 + flow uni-direction rx "MD3-out" + flow uni-direction tx "MD3-in" + remote-mep 1 + ccm-priority 3 + direction up + customer-tags-excluded + client-md-level 4 + no shutdown + service 1 + delay-threshold 26000 + delay-var-threshold 8000 + classification priority-bit 3 + dest-ne 1 + loss single-ended slm + remote mep-id 1 + delay-measurement-bin profile "cfm1" + delay-var-measurement-bin profile "cfm2" + exit + no shutdown + exit + exit + exit + exit + exit + exit + exit diff --git a/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_feature.py b/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_feature.py new file mode 100644 index 00000000..08fc3e41 --- /dev/null +++ b/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_feature.py @@ -0,0 +1,5 @@ +features = [ + {"name": "terminal", "ordered": False, "section": ["terminal"]}, + {"name": "management", "ordered": False, "section": ["management"]}, + {"name": "router", "ordered": False, "section": ["router"]}, +] diff --git a/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_intended.txt b/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_intended.txt new file mode 100644 index 00000000..6c142aa2 --- /dev/null +++ b/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_intended.txt @@ -0,0 +1,732 @@ + configure + echo "Terminal Configuration" + # Terminal Configuration + terminal + timeout soon + exit + echo "System Configuration" + # System Configuration + system + name "ETX001" + echo "LLDP Configuration" + # LLDP Configuration + lldp + no shutdown + exit + exit + echo "Management configuration" + # Management configuration + management + login-user "net-creds-1" + level oper + password "abcdefghijklmnopqrstuvwxyz123456789abcde" hash + no shutdown + exit + login-user "net-creds-2" + level su + password "abcdefghijklmnopqrstuvwxyz123456789zyxwv" hash + no shutdown + exit + echo "SNMP Configuration" + # SNMP Configuration + snmp + user "snmpv2" none-auth + no shutdown + exit + access-group "snmpv2" snmpv2c no-auth-no-priv + read-view "ntc2" + write-view "ntc2" + notify-view "ntc2" + no shutdown + exit + access-group "v2_read" snmpv2c no-auth-no-priv + write-view "ntc2" + exit + security-to-group snmpv2c sec-name "snmpv2" + group-name "snmpv2" + no shutdown + exit + community "ntccommunity" + name "ntccommunity" + sec-name "v2_write" + no shutdown + exit + community "public" + name "public" + sec-name "v2_read" + no shutdown + exit + community "read" + name "private" + sec-name "v2_read" + no shutdown + exit + community "trap" + name "private" + sec-name "v2_trap" + no shutdown + exit + community "trapCommunity" + name "trapCommunity" + sec-name "v2_trap" + no shutdown + exit + community "write" + name "private" + sec-name "v2_write" + no shutdown + exit + target-params "example1" + message-processing-model snmpv2c + version snmpv2c + security name "v2_trap" level no-auth-no-priv + no shutdown + exit + target-params "example2" + message-processing-model snmpv2c + version snmpv2c + security name "v2_trap" level no-auth-no-priv + no shutdown + exit + config-change-notification + exit + exit + echo "Port Configuration" + # Port Configuration + port + l2cp-profile "network" + mac "01-80-c2-00-00-02" peer + mac "01-80-c2-00-00-0e" peer + exit + l2cp-profile "EXAMPLE-ONE" + mac "01-80-c2-00-00-01" discard + exit + l2cp-profile "EXAMPLE-TWO" + mac "01-80-c2-00-00-02" peer + mac "01-80-c2-00-00-0e" peer + exit + l2cp-profile "EXAMPLE-THREE" + mac "01-80-c2-00-00-00" discard + mac "01-80-c2-00-00-01" discard + mac "01-80-c2-00-00-02" discard + mac "01-80-c2-00-00-03" discard + mac "01-80-c2-00-00-04" discard + mac "01-80-c2-00-00-05" discard + mac "01-80-c2-00-00-06" discard + mac "01-80-c2-00-00-07" discard + mac "01-80-c2-00-00-08" discard + mac "01-80-c2-00-00-09" discard + mac "01-80-c2-00-00-0a" discard + mac "01-80-c2-00-00-0b" discard + mac "01-80-c2-00-00-0c" discard + mac "01-80-c2-00-00-0d" discard + mac "01-80-c2-00-00-0e" discard + mac "01-80-c2-00-00-0f" discard + mac "01-80-c2-00-00-10" discard + mac "01-80-c2-00-00-20" discard + mac "01-80-c2-00-00-21" discard + mac "01-80-c2-00-00-22" discard + mac "01-80-c2-00-00-23" discard + mac "01-80-c2-00-00-24" discard + mac "01-80-c2-00-00-25" discard + mac "01-80-c2-00-00-26" discard + mac "01-80-c2-00-00-27" discard + mac "01-80-c2-00-00-28" discard + mac "01-80-c2-00-00-29" discard + mac "01-80-c2-00-00-2a" discard + mac "01-80-c2-00-00-2b" discard + mac "01-80-c2-00-00-2c" discard + mac "01-80-c2-00-00-2d" discard + mac "01-80-c2-00-00-2e" discard + mac "01-80-c2-00-00-2f" discard + mac "01-00-0c-cc-cc-cc" discard + mac "01-00-0c-cc-cc-cd" discard + default discard + exit + l2cp-profile "EXAMPLE-FOUR" + exit + ethernet 1/1 + shutdown + no auto-negotiation + speed-duplex 1000-full-duplex + egress-mtu 9200 + l2cp profile "network" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 1/2 + shutdown + name "description for eth1/2" + egress-mtu 9000 + exit + ethernet 1/3 + name "description for eth1/3" + speed-duplex 1000-full-duplex + egress-mtu 12000 + l2cp profile "network" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 1/4 + name "description for eth1/4" + tag-ethernet-type 0x88a8 + egress-mtu 12000 + l2cp profile "EXAMPLE-THREE" + exit + ethernet 1/5 + name "description for eth1/5" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 1/6 + name "description for eth1/6" + egress-mtu 9000 + exit + ethernet 1/7 + name "description for eth1/7" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 1/8 + name "description for eth1/8" + egress-mtu 9008 + l2cp profile "EXAMPLE-THREE" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 1/10 + name "description for eth1/9" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 3/1 + shutdown + exit + ethernet 3/2 + name "description for eth3/2" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 4/1 + name "description for eth4/1" + egress-mtu 12000 + l2cp profile "network" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 4/2 + name "description for eth4/2" + exit + echo "Service Virtual Interface- Port Configuration" + # Service Virtual Interface- Port Configuration + svi 1 + name "1" + no shutdown + exit + svi 3 + name "3" + exit + echo "LAG - Port Configuration" + # LAG - Port Configuration + lag 1 + shutdown + bind ethernet 1/1 + bind ethernet 1/2 + anchor-port ethernet 1/1 + exit + lag 7 + shutdown + no anchor-port + exit + exit + echo "Bridge Configuration" + # Bridge Configuration + bridge 1 + name "MGMT" + echo "Bridge Port Configuration" + # Bridge Port Configuration + port 1 + name "svi 1" + no shutdown + exit + port 2 + name "example" + no shutdown + exit + port 3 + name "example" + no shutdown + exit + port 4 + name "example" + no shutdown + exit + port 5 + name "example" + no shutdown + exit + echo "VLAN Configuration" + # VLAN Configuration + vlan 99 + exit + exit + echo "Flows Configuration" + # Flows Configuration + flows + rate-sampling-window 1 + echo "Classifier Profile Configuration" + # Classifier Profile Configuration + classifier-profile "mgmt" match-any + match untagged + exit + classifier-profile "CP-ONE" match-any + match vlan 1103 + exit + classifier-profile "CP-TWO" match-any + match vlan 1103 + exit + classifier-profile "CP-THREE" match-any + match vlan 1201 + exit + classifier-profile "CP-FOUR" match-any + match vlan 1201 + exit + classifier-profile "CP-FIVE" match-any + match vlan 1103 + exit + classifier-profile "CP-SIX" match-any + match vlan 1103 + exit + classifier-profile "CP-SEVEN" match-any + match vlan 1155 dst-ip 192.168.192.2 to-dst-ip 192.168.192.2 + exit + classifier-profile "CP-EIGHT" match-any + match all + exit + classifier-profile "CP-NINE" match-any + match all + exit + classifier-profile "CP-TEN" match-any + match vlan 1155 + exit + classifier-profile "CP-ELEVEN" match-any + match vlan 1202 + exit + classifier-profile "CP-TWELVE" match-any + match all + exit + classifier-profile "CP-A" match-any + match vlan 22 + exit + classifier-profile "CP-B" match-any + match all + exit + classifier-profile "CP-C" match-any + match vlan 777 + exit + classifier-profile "CP-D" match-any + match all + exit + classifier-profile "CP-E" match-any + match vlan 1102 + exit + classifier-profile "CP-F" match-any + match vlan 88 + exit + classifier-profile "CP-G" match-any + match vlan 88 + exit + echo "Flow Configuration" + # Flow Configuration + flow "flow1" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port svi 1 + egress-port bridge-port 1 1 + reverse-direction + no shutdown + exit + flow "flow2" + classifier "CP-THREE" + policer profile "50m" + mark all + vlan 1201 + p-bit 1 + exit + ingress-port ethernet 3/1 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "R" + no shutdown + exit + flow "flow3" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port ethernet 4/1 + egress-port bridge-port 1 2 + reverse-direction block 0/1 + no shutdown + exit + flow "flow4" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port ethernet 1/1 + egress-port bridge-port 1 4 + reverse-direction block 0/1 + no shutdown + exit + flow "flow5" + classifier "CP-ONE" + no policer + ingress-port ethernet 1/3 + egress-port ethernet 4/1 queue-map-profile "MTU" block 0/1 + service-name "Q" + no shutdown + exit + flow "flow6" + classifier "CP-TWO" + no policer + ingress-port ethernet 4/1 + egress-port ethernet 1/3 queue-map-profile "MTU" block 0/1 + service-name "P" + no shutdown + exit + flow "flow7" + classifier "CP-FOUR" + no policer + mark all + vlan 1201 + exit + ingress-port ethernet 4/1 + egress-port ethernet 3/1 queue 1 block 0/1 + service-name "O" + no shutdown + exit + flow "flow8" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port ethernet 1/8 + egress-port bridge-port 1 5 + reverse-direction block 0/1 + no shutdown + exit + flow "flow9" + shutdown + classifier "mgmt" + policer profile "Policer1" + vlan-tag push vlan 1111 p-bit fixed 4 + ingress-port ethernet 3/1 + egress-port ethernet 4/2 queue 1 block 0/1 + service-name "N" + pm-collection interval 300 + exit + flow "flow10" + classifier "CP-EIGHT" + policer profile "10m" + vlan-tag push vlan 1202 p-bit fixed 3 + ingress-port ethernet 3/2 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "M" + no shutdown + exit + flow "flow11" + classifier "CP-ELEVEN" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 3/2 queue 1 block 0/1 + service-name "L" + no shutdown + exit + flow "flow12" + shutdown + classifier "CP-FIVE" + no policer + ingress-port ethernet 1/3 + egress-port ethernet 4/1 queue-map-profile "MTU" block 0/1 + service-name "K" + exit + flow "flow13" + classifier "CP-SEVEN" + policer profile "2g" + mark all + mac swap + ip swap + exit + ingress-port ethernet 4/1 + egress-port ethernet 4/1 queue 0 block 0/1 + no shutdown + exit + flow "flow14" + shutdown + classifier "CP-SIX" + no policer + ingress-port ethernet 4/1 + egress-port ethernet 1/3 queue-map-profile "MTU" block 0/1 + service-name "J" + exit + flow "flow15" + classifier "CP-NINE" + policer profile "2g" + vlan-tag push vlan 1155 p-bit fixed 1 + ingress-port ethernet 1/5 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "I" + no shutdown + exit + flow "flow16" + classifier "CP-TEN" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/5 queue 1 block 0/1 + service-name "H" + no shutdown + exit + flow "flow17" + classifier "CP-D" + policer profile "100m" + vlan-tag push vlan 1102 p-bit fixed 1 + ingress-port ethernet 1/7 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "G" + no shutdown + exit + flow "flow18" + classifier "CP-TWELVE" + policer profile "50m" + vlan-tag push vlan 22 p-bit fixed 3 + ingress-port ethernet 1/8 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "F" + no shutdown + exit + flow "flow19" + classifier "CP-A" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/8 queue 1 block 0/1 + service-name "E" + no shutdown + exit + flow "flow20" + classifier "CP-E" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/7 queue 1 block 0/1 + service-name "D" + no shutdown + exit + flow "flow21" + classifier "CP-B" + policer profile "100_Mbps" + vlan-tag push vlan 777 p-bit fixed 3 + ingress-port ethernet 1/10 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "C" + no shutdown + exit + flow "flow22" + classifier "CP-C" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/10 queue 1 block 0/1 + service-name "B" + no shutdown + exit + flow "flow23" + classifier "CP-F" + no policer + ingress-port ethernet 1/3 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "A" + no shutdown + exit + flow "flow24" + classifier "CP-G" + no policer + ingress-port ethernet 4/1 + egress-port ethernet 1/3 queue 1 block 0/1 + service-name "A" + no shutdown + exit + exit + router 1 + name "Router#1" + interface 1 + name "ROUTER:DESCRIPTION:INTENDED" + bind svi 11 + dhcp + dhcp-client + client-id mac + exit + no shutdown + exit + static-route 0.0.0.0/0 address 1.1.1.1 metric 1 + exit + exit + configure + oam + echo "OAM CFM Configuration" + # OAM CFM Configuration + cfm + md-level-mip 2 + measurement-bin-profile "cfm1" + thresholds 8000,10000,11200,14000 + exit + measurement-bin-profile "cfm2" + thresholds 1600,2000,2400,3000 + exit + measurement-bin-profile "cfm3" + thresholds 20000,25000,28000,35000 + exit + measurement-bin-profile "cfm4" + thresholds 3200,4000,6400,8000 + exit + measurement-bin-profile "cfm5" + thresholds 61600,77000,110400,138000 + exit + measurement-bin-profile "cfm5" + thresholds 8000,10000 + exit + measurement-bin-profile "cfm6" + thresholds 16000,20000,32000,40000 + exit + measurement-bin-profile "cfm7" + thresholds 6400,8000 + exit + measurement-bin-profile "cfm8" + thresholds 60000,75000,120000,150000 + exit + measurement-bin-profile "cfm9" + thresholds 32000,40000 + exit + measurement-bin-profile "cfma" + thresholds 92000,115000,184000,230000 + exit + measurement-bin-profile "cfmb" + thresholds 32000,40000 + exit + measurement-bin-profile "cfmc" + thresholds 29600,37000,59200,74000 + exit + measurement-bin-profile "cfmd" + thresholds 100000,110400,125000,138000 + exit + measurement-bin-profile "cfme" + thresholds 184000,230000,368000,460000 + exit + measurement-bin-profile "cfmf" + thresholds 8000,10000,40000,50000 + exit + measurement-bin-profile "cfmg" + thresholds 9600,12000 + exit + measurement-bin-profile "cfmh" + thresholds 40000,50000 + exit + measurement-bin-profile "cfmi" + thresholds 59200,74000 + exit + measurement-bin-profile "cfmj" + thresholds 9600,12000 + exit + measurement-bin-profile "cfmk" + thresholds 200000,250000 + exit + measurement-bin-profile "cfml" + thresholds 40000,50000 + exit + measurement-bin-profile "cfmm" + thresholds 368000,460000 + exit + measurement-bin-profile "cfmn" + thresholds 40000,50000 + exit + maintenance-domain 1 + name string "MD1" + maintenance-association 1 + name string "MA1" + mep 1 + no bind + client-md-level 4 + exit + exit + exit + maintenance-domain 2 + md-level 2 + name string "ABC-DEF" + maintenance-association 2 + name string "MA2" + mep 1 + bind ethernet 1/8 + flow uni-direction rx "MA2-out" + flow uni-direction tx "MA2-in" + remote-mep 2 + direction up + customer-tags-excluded + client-md-level 3 + no shutdown + service 1 + classification priority-bit 3 + lmm-interval 100ms + dest-ne 1 + no delay + no loss + remote mep-id 2 + exit + no shutdown + exit + exit + exit + exit + maintenance-domain 3 + name string "ABC-DEF" + maintenance-association 2 + name string "MD3" + mep 2 + bind ethernet 1/10 + flow uni-direction rx "MD3-out" + flow uni-direction tx "MD3-in" + remote-mep 1 + ccm-priority 3 + direction up + customer-tags-excluded + client-md-level 4 + no shutdown + service 1 + delay-threshold 26000 + delay-var-threshold 8000 + classification priority-bit 3 + dest-ne 1 + loss single-ended slm + remote mep-id 1 + delay-measurement-bin profile "cfm1" + delay-var-measurement-bin profile "cfm2" + exit + no shutdown + exit + exit + exit + exit + exit + exit + exit diff --git a/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_received.json b/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_received.json new file mode 100644 index 00000000..ef25f5b7 --- /dev/null +++ b/tests/unit/mock/config/compliance/compliance/rad_etx/etx_basic_received.json @@ -0,0 +1,32 @@ +{ + "management": { + "actual": "management\n login-user \"net-creds-1\"\n level su\n password \"abcdefghijklmnopqrstuvwxyz123456789abcde\" hash\n no shutdown\n exit\n login-user \"net-creds-2\"\n level oper\n password \"abcdefghijklmnopqrstuvwxyz123456789zyxwv\" hash\n no shutdown\n exit\n echo \"SNMP Configuration\"\n snmp\n user \"snmpv2\" none-auth\n no shutdown\n exit\n access-group \"snmpv2\" snmpv2c no-auth-no-priv\n read-view \"ntc\"\n write-view \"ntc\"\n notify-view \"ntc\"\n no shutdown\n exit\n access-group \"v2_read\" snmpv2c no-auth-no-priv\n write-view \"ntc\"\n exit\n security-to-group snmpv2c sec-name \"snmpv2\"\n group-name \"snmpv2\"\n no shutdown\n exit\n community \"ntccommunity\"\n name \"ntccommunity\"\n sec-name \"v2_write\"\n no shutdown\n exit\n community \"public\"\n name \"public\"\n sec-name \"v2_read\"\n no shutdown\n exit\n community \"read\"\n name \"private\"\n sec-name \"v2_read\"\n no shutdown\n exit\n community \"trap\"\n name \"private\"\n sec-name \"v2_trap\"\n no shutdown\n exit\n community \"trapCommunity\"\n name \"trapCommunity\"\n sec-name \"v2_trap\"\n no shutdown\n exit\n community \"write\"\n name \"private\"\n sec-name \"v2_write\"\n no shutdown\n exit\n target-params \"example1\"\n message-processing-model snmpv2c\n version snmpv2c\n security name \"v2_trap\" level no-auth-no-priv\n no shutdown\n exit\n target-params \"example2\"\n message-processing-model snmpv2c\n version snmpv2c\n security name \"v2_trap\" level no-auth-no-priv\n no shutdown\n exit\n config-change-notification\n exit", + "cannot_parse": true, + "compliant": false, + "extra": "access-group \"snmpv2\" snmpv2c no-auth-no-priv\n read-view \"ntc\"\n write-view \"ntc\"\n notify-view \"ntc\"\naccess-group \"v2_read\" snmpv2c no-auth-no-priv\n write-view \"ntc\"", + "intended": "management\n login-user \"net-creds-1\"\n level oper\n password \"abcdefghijklmnopqrstuvwxyz123456789abcde\" hash\n no shutdown\n exit\n login-user \"net-creds-2\"\n level su\n password \"abcdefghijklmnopqrstuvwxyz123456789zyxwv\" hash\n no shutdown\n exit\n echo \"SNMP Configuration\"\n snmp\n user \"snmpv2\" none-auth\n no shutdown\n exit\n access-group \"snmpv2\" snmpv2c no-auth-no-priv\n read-view \"ntc2\"\n write-view \"ntc2\"\n notify-view \"ntc2\"\n no shutdown\n exit\n access-group \"v2_read\" snmpv2c no-auth-no-priv\n write-view \"ntc2\"\n exit\n security-to-group snmpv2c sec-name \"snmpv2\"\n group-name \"snmpv2\"\n no shutdown\n exit\n community \"ntccommunity\"\n name \"ntccommunity\"\n sec-name \"v2_write\"\n no shutdown\n exit\n community \"public\"\n name \"public\"\n sec-name \"v2_read\"\n no shutdown\n exit\n community \"read\"\n name \"private\"\n sec-name \"v2_read\"\n no shutdown\n exit\n community \"trap\"\n name \"private\"\n sec-name \"v2_trap\"\n no shutdown\n exit\n community \"trapCommunity\"\n name \"trapCommunity\"\n sec-name \"v2_trap\"\n no shutdown\n exit\n community \"write\"\n name \"private\"\n sec-name \"v2_write\"\n no shutdown\n exit\n target-params \"example1\"\n message-processing-model snmpv2c\n version snmpv2c\n security name \"v2_trap\" level no-auth-no-priv\n no shutdown\n exit\n target-params \"example2\"\n message-processing-model snmpv2c\n version snmpv2c\n security name \"v2_trap\" level no-auth-no-priv\n no shutdown\n exit\n config-change-notification\n exit", + "missing": "access-group \"snmpv2\" snmpv2c no-auth-no-priv\n read-view \"ntc2\"\n write-view \"ntc2\"\n notify-view \"ntc2\"\naccess-group \"v2_read\" snmpv2c no-auth-no-priv\n write-view \"ntc2\"", + "ordered_compliant": false, + "unordered_compliant": false + }, + "router": { + "actual": "router 1\n name \"Router#1\"\n interface 1\n name \"ROUTER:DESCRIPTION\"\n bind svi 1\n dhcp\n dhcp-client\n client-id mac\n exit\n no shutdown\n exit\n static-route 0.0.0.0/0 address 1.1.1.1 metric 1", + "cannot_parse": true, + "compliant": false, + "extra": "name \"ROUTER:DESCRIPTION\"\nbind svi 1", + "intended": "router 1\n name \"Router#1\"\n interface 1\n name \"ROUTER:DESCRIPTION:INTENDED\"\n bind svi 11\n dhcp\n dhcp-client\n client-id mac\n exit\n no shutdown\n exit\n static-route 0.0.0.0/0 address 1.1.1.1 metric 1", + "missing": "name \"ROUTER:DESCRIPTION:INTENDED\"\nbind svi 11", + "ordered_compliant": false, + "unordered_compliant": false + }, + "terminal": { + "actual": "terminal\n timeout forever", + "cannot_parse": true, + "compliant": false, + "extra": "terminal\n timeout forever", + "intended": "terminal\n timeout soon", + "missing": "terminal\n timeout soon", + "ordered_compliant": false, + "unordered_compliant": false + } +} diff --git a/tests/unit/mock/config/parser/base/rad_etx/etx_full_received.py b/tests/unit/mock/config/parser/base/rad_etx/etx_full_received.py new file mode 100644 index 00000000..7aeeef9d --- /dev/null +++ b/tests/unit/mock/config/parser/base/rad_etx/etx_full_received.py @@ -0,0 +1,1454 @@ +from netutils.config.parser import ConfigLine + +data = [ + ConfigLine(config_line='echo "Terminal Configuration"', parents=()), + ConfigLine(config_line="terminal", parents=()), + ConfigLine(config_line=" timeout forever", parents=("terminal",)), + ConfigLine(config_line="exit", parents=()), + ConfigLine(config_line='echo "System Configuration"', parents=()), + ConfigLine(config_line="system", parents=()), + ConfigLine(config_line=' name "ETX001"', parents=("system",)), + ConfigLine(config_line=' echo "LLDP Configuration"', parents=("system",)), + ConfigLine(config_line=" lldp", parents=("system",)), + ConfigLine(config_line=" no shutdown", parents=("system", " lldp")), + ConfigLine(config_line=" exit", parents=("system",)), + ConfigLine(config_line="exit", parents=()), + ConfigLine(config_line='echo "Management configuration"', parents=()), + ConfigLine(config_line="management", parents=()), + ConfigLine(config_line=' login-user "net-creds-1"', parents=("management",)), + ConfigLine(config_line=" level su", parents=("management", ' login-user "net-creds-1"')), + ConfigLine( + config_line=' password "abcdefghijklmnopqrstuvwxyz123456789abcde" hash', + parents=("management", ' login-user "net-creds-1"'), + ), + ConfigLine(config_line=" no shutdown", parents=("management", ' login-user "net-creds-1"')), + ConfigLine(config_line=" exit", parents=("management",)), + ConfigLine(config_line=' login-user "net-creds-2"', parents=("management",)), + ConfigLine(config_line=" level oper", parents=("management", ' login-user "net-creds-2"')), + ConfigLine( + config_line=' password "abcdefghijklmnopqrstuvwxyz123456789zyxwv" hash', + parents=("management", ' login-user "net-creds-2"'), + ), + ConfigLine(config_line=" no shutdown", parents=("management", ' login-user "net-creds-2"')), + ConfigLine(config_line=" exit", parents=("management",)), + ConfigLine(config_line=' echo "SNMP Configuration"', parents=("management",)), + ConfigLine(config_line=" snmp", parents=("management",)), + ConfigLine(config_line=' user "snmpv2" none-auth', parents=("management", " snmp")), + ConfigLine( + config_line=" no shutdown", parents=("management", " snmp", ' user "snmpv2" none-auth') + ), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' access-group "snmpv2" snmpv2c no-auth-no-priv', parents=("management", " snmp")), + ConfigLine( + config_line=' read-view "ntc"', + parents=("management", " snmp", ' access-group "snmpv2" snmpv2c no-auth-no-priv'), + ), + ConfigLine( + config_line=' write-view "ntc"', + parents=("management", " snmp", ' access-group "snmpv2" snmpv2c no-auth-no-priv'), + ), + ConfigLine( + config_line=' notify-view "ntc"', + parents=("management", " snmp", ' access-group "snmpv2" snmpv2c no-auth-no-priv'), + ), + ConfigLine( + config_line=" no shutdown", + parents=("management", " snmp", ' access-group "snmpv2" snmpv2c no-auth-no-priv'), + ), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine( + config_line=' access-group "v2_read" snmpv2c no-auth-no-priv', parents=("management", " snmp") + ), + ConfigLine( + config_line=' write-view "ntc"', + parents=("management", " snmp", ' access-group "v2_read" snmpv2c no-auth-no-priv'), + ), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' security-to-group snmpv2c sec-name "snmpv2"', parents=("management", " snmp")), + ConfigLine( + config_line=' group-name "snmpv2"', + parents=("management", " snmp", ' security-to-group snmpv2c sec-name "snmpv2"'), + ), + ConfigLine( + config_line=" no shutdown", + parents=("management", " snmp", ' security-to-group snmpv2c sec-name "snmpv2"'), + ), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' community "ntccommunity"', parents=("management", " snmp")), + ConfigLine( + config_line=' name "ntccommunity"', + parents=("management", " snmp", ' community "ntccommunity"'), + ), + ConfigLine( + config_line=' sec-name "v2_write"', + parents=("management", " snmp", ' community "ntccommunity"'), + ), + ConfigLine( + config_line=" no shutdown", parents=("management", " snmp", ' community "ntccommunity"') + ), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' community "public"', parents=("management", " snmp")), + ConfigLine( + config_line=' name "public"', parents=("management", " snmp", ' community "public"') + ), + ConfigLine( + config_line=' sec-name "v2_read"', parents=("management", " snmp", ' community "public"') + ), + ConfigLine(config_line=" no shutdown", parents=("management", " snmp", ' community "public"')), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' community "read"', parents=("management", " snmp")), + ConfigLine( + config_line=' name "private"', parents=("management", " snmp", ' community "read"') + ), + ConfigLine( + config_line=' sec-name "v2_read"', parents=("management", " snmp", ' community "read"') + ), + ConfigLine(config_line=" no shutdown", parents=("management", " snmp", ' community "read"')), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' community "trap"', parents=("management", " snmp")), + ConfigLine( + config_line=' name "private"', parents=("management", " snmp", ' community "trap"') + ), + ConfigLine( + config_line=' sec-name "v2_trap"', parents=("management", " snmp", ' community "trap"') + ), + ConfigLine(config_line=" no shutdown", parents=("management", " snmp", ' community "trap"')), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' community "trapCommunity"', parents=("management", " snmp")), + ConfigLine( + config_line=' name "trapCommunity"', + parents=("management", " snmp", ' community "trapCommunity"'), + ), + ConfigLine( + config_line=' sec-name "v2_trap"', + parents=("management", " snmp", ' community "trapCommunity"'), + ), + ConfigLine( + config_line=" no shutdown", parents=("management", " snmp", ' community "trapCommunity"') + ), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' community "write"', parents=("management", " snmp")), + ConfigLine( + config_line=' name "private"', parents=("management", " snmp", ' community "write"') + ), + ConfigLine( + config_line=' sec-name "v2_write"', parents=("management", " snmp", ' community "write"') + ), + ConfigLine(config_line=" no shutdown", parents=("management", " snmp", ' community "write"')), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' target-params "example1"', parents=("management", " snmp")), + ConfigLine( + config_line=" message-processing-model snmpv2c", + parents=("management", " snmp", ' target-params "example1"'), + ), + ConfigLine( + config_line=" version snmpv2c", + parents=("management", " snmp", ' target-params "example1"'), + ), + ConfigLine( + config_line=' security name "v2_trap" level no-auth-no-priv', + parents=("management", " snmp", ' target-params "example1"'), + ), + ConfigLine( + config_line=" no shutdown", parents=("management", " snmp", ' target-params "example1"') + ), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=' target-params "example2"', parents=("management", " snmp")), + ConfigLine( + config_line=" message-processing-model snmpv2c", + parents=("management", " snmp", ' target-params "example2"'), + ), + ConfigLine( + config_line=" version snmpv2c", + parents=("management", " snmp", ' target-params "example2"'), + ), + ConfigLine( + config_line=' security name "v2_trap" level no-auth-no-priv', + parents=("management", " snmp", ' target-params "example2"'), + ), + ConfigLine( + config_line=" no shutdown", parents=("management", " snmp", ' target-params "example2"') + ), + ConfigLine(config_line=" exit", parents=("management", " snmp")), + ConfigLine(config_line=" config-change-notification", parents=("management", " snmp")), + ConfigLine(config_line=" exit", parents=("management",)), + ConfigLine(config_line="exit", parents=()), + ConfigLine(config_line='echo "Port Configuration"', parents=()), + ConfigLine(config_line="port", parents=()), + ConfigLine(config_line=' l2cp-profile "network"', parents=("port",)), + ConfigLine(config_line=' mac "01-80-c2-00-00-02" peer', parents=("port", ' l2cp-profile "network"')), + ConfigLine(config_line=' mac "01-80-c2-00-00-0e" peer', parents=("port", ' l2cp-profile "network"')), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=' l2cp-profile "EXAMPLE-ONE"', parents=("port",)), + ConfigLine( + config_line=' mac "01-80-c2-00-00-01" discard', parents=("port", ' l2cp-profile "EXAMPLE-ONE"') + ), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=' l2cp-profile "EXAMPLE-TWO"', parents=("port",)), + ConfigLine(config_line=' mac "01-80-c2-00-00-02" peer', parents=("port", ' l2cp-profile "EXAMPLE-TWO"')), + ConfigLine(config_line=' mac "01-80-c2-00-00-0e" peer', parents=("port", ' l2cp-profile "EXAMPLE-TWO"')), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=' l2cp-profile "EXAMPLE-THREE"', parents=("port",)), + ConfigLine( + config_line=' mac "01-80-c2-00-00-00" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-01" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-02" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-03" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-04" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-05" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-06" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-07" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-08" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-09" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-0a" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-0b" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-0c" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-0d" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-0e" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-0f" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-10" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-20" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-21" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-22" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-23" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-24" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-25" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-26" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-27" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-28" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-29" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-2a" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-2b" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-2c" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-2d" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-2e" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-80-c2-00-00-2f" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-00-0c-cc-cc-cc" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine( + config_line=' mac "01-00-0c-cc-cc-cd" discard', parents=("port", ' l2cp-profile "EXAMPLE-THREE"') + ), + ConfigLine(config_line=" default discard", parents=("port", ' l2cp-profile "EXAMPLE-THREE"')), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=' l2cp-profile "EXAMPLE-FOUR"', parents=("port",)), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 1/1", parents=("port",)), + ConfigLine(config_line=" shutdown", parents=("port", " ethernet 1/1")), + ConfigLine(config_line=" no auto-negotiation", parents=("port", " ethernet 1/1")), + ConfigLine(config_line=" speed-duplex 1000-full-duplex", parents=("port", " ethernet 1/1")), + ConfigLine(config_line=" egress-mtu 9200", parents=("port", " ethernet 1/1")), + ConfigLine(config_line=' l2cp profile "network"', parents=("port", " ethernet 1/1")), + ConfigLine(config_line=" lldp", parents=("port", " ethernet 1/1")), + ConfigLine( + config_line=" nearest-bridge-mode tx-rx", parents=("port", " ethernet 1/1", " lldp") + ), + ConfigLine( + config_line=" nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address", + parents=("port", " ethernet 1/1", " lldp"), + ), + ConfigLine( + config_line=" nearest-bridge-802.3 max-frame-size", + parents=("port", " ethernet 1/1", " lldp"), + ), + ConfigLine(config_line=" exit", parents=("port", " ethernet 1/1")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 1/2", parents=("port",)), + ConfigLine(config_line=" shutdown", parents=("port", " ethernet 1/2")), + ConfigLine(config_line=' name "description for eth1/2"', parents=("port", " ethernet 1/2")), + ConfigLine(config_line=" egress-mtu 9000", parents=("port", " ethernet 1/2")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 1/3", parents=("port",)), + ConfigLine(config_line=' name "description for eth1/3"', parents=("port", " ethernet 1/3")), + ConfigLine(config_line=" speed-duplex 1000-full-duplex", parents=("port", " ethernet 1/3")), + ConfigLine(config_line=" egress-mtu 12000", parents=("port", " ethernet 1/3")), + ConfigLine(config_line=' l2cp profile "network"', parents=("port", " ethernet 1/3")), + ConfigLine(config_line=" lldp", parents=("port", " ethernet 1/3")), + ConfigLine( + config_line=" nearest-bridge-mode tx-rx", parents=("port", " ethernet 1/3", " lldp") + ), + ConfigLine( + config_line=" nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address", + parents=("port", " ethernet 1/3", " lldp"), + ), + ConfigLine( + config_line=" nearest-bridge-802.3 max-frame-size", + parents=("port", " ethernet 1/3", " lldp"), + ), + ConfigLine(config_line=" exit", parents=("port", " ethernet 1/3")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 1/4", parents=("port",)), + ConfigLine(config_line=' name "description for eth1/4"', parents=("port", " ethernet 1/4")), + ConfigLine(config_line=" tag-ethernet-type 0x88a8", parents=("port", " ethernet 1/4")), + ConfigLine(config_line=" egress-mtu 12000", parents=("port", " ethernet 1/4")), + ConfigLine(config_line=' l2cp profile "EXAMPLE-THREE"', parents=("port", " ethernet 1/4")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 1/5", parents=("port",)), + ConfigLine(config_line=' name "description for eth1/5"', parents=("port", " ethernet 1/5")), + ConfigLine(config_line=" egress-mtu 12000", parents=("port", " ethernet 1/5")), + ConfigLine(config_line=' l2cp profile "EXAMPLE-ONE"', parents=("port", " ethernet 1/5")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 1/6", parents=("port",)), + ConfigLine(config_line=' name "description for eth1/6"', parents=("port", " ethernet 1/6")), + ConfigLine(config_line=" egress-mtu 9000", parents=("port", " ethernet 1/6")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 1/7", parents=("port",)), + ConfigLine(config_line=' name "description for eth1/7"', parents=("port", " ethernet 1/7")), + ConfigLine(config_line=" egress-mtu 12000", parents=("port", " ethernet 1/7")), + ConfigLine(config_line=' l2cp profile "EXAMPLE-ONE"', parents=("port", " ethernet 1/7")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 1/8", parents=("port",)), + ConfigLine(config_line=' name "description for eth1/8"', parents=("port", " ethernet 1/8")), + ConfigLine(config_line=" egress-mtu 9008", parents=("port", " ethernet 1/8")), + ConfigLine(config_line=' l2cp profile "EXAMPLE-THREE"', parents=("port", " ethernet 1/8")), + ConfigLine(config_line=" lldp", parents=("port", " ethernet 1/8")), + ConfigLine( + config_line=" nearest-bridge-mode tx-rx", parents=("port", " ethernet 1/8", " lldp") + ), + ConfigLine( + config_line=" nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address", + parents=("port", " ethernet 1/8", " lldp"), + ), + ConfigLine( + config_line=" nearest-bridge-802.3 max-frame-size", + parents=("port", " ethernet 1/8", " lldp"), + ), + ConfigLine(config_line=" exit", parents=("port", " ethernet 1/8")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 1/10", parents=("port",)), + ConfigLine(config_line=' name "description for eth1/9"', parents=("port", " ethernet 1/10")), + ConfigLine(config_line=" egress-mtu 12000", parents=("port", " ethernet 1/10")), + ConfigLine(config_line=' l2cp profile "EXAMPLE-ONE"', parents=("port", " ethernet 1/10")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 3/1", parents=("port",)), + ConfigLine(config_line=" shutdown", parents=("port", " ethernet 3/1")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 3/2", parents=("port",)), + ConfigLine(config_line=' name "description for eth3/2"', parents=("port", " ethernet 3/2")), + ConfigLine(config_line=" egress-mtu 12000", parents=("port", " ethernet 3/2")), + ConfigLine(config_line=' l2cp profile "EXAMPLE-ONE"', parents=("port", " ethernet 3/2")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 4/1", parents=("port",)), + ConfigLine(config_line=' name "description for eth4/1"', parents=("port", " ethernet 4/1")), + ConfigLine(config_line=" egress-mtu 12000", parents=("port", " ethernet 4/1")), + ConfigLine(config_line=' l2cp profile "network"', parents=("port", " ethernet 4/1")), + ConfigLine(config_line=" lldp", parents=("port", " ethernet 4/1")), + ConfigLine( + config_line=" nearest-bridge-mode tx-rx", parents=("port", " ethernet 4/1", " lldp") + ), + ConfigLine( + config_line=" nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address", + parents=("port", " ethernet 4/1", " lldp"), + ), + ConfigLine( + config_line=" nearest-bridge-802.3 max-frame-size", + parents=("port", " ethernet 4/1", " lldp"), + ), + ConfigLine(config_line=" exit", parents=("port", " ethernet 4/1")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" ethernet 4/2", parents=("port",)), + ConfigLine(config_line=' name "description for eth4/2"', parents=("port", " ethernet 4/2")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=' echo "Service Virtual Interface- Port Configuration"', parents=("port",)), + ConfigLine(config_line=" svi 1", parents=("port",)), + ConfigLine(config_line=' name "1"', parents=("port", " svi 1")), + ConfigLine(config_line=" no shutdown", parents=("port", " svi 1")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" svi 3", parents=("port",)), + ConfigLine(config_line=' name "3"', parents=("port", " svi 3")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=' echo "LAG - Port Configuration"', parents=("port",)), + ConfigLine(config_line=" lag 1", parents=("port",)), + ConfigLine(config_line=" shutdown", parents=("port", " lag 1")), + ConfigLine(config_line=" bind ethernet 1/1", parents=("port", " lag 1")), + ConfigLine(config_line=" bind ethernet 1/2", parents=("port", " lag 1")), + ConfigLine(config_line=" anchor-port ethernet 1/1", parents=("port", " lag 1")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line=" lag 7", parents=("port",)), + ConfigLine(config_line=" shutdown", parents=("port", " lag 7")), + ConfigLine(config_line=" no anchor-port", parents=("port", " lag 7")), + ConfigLine(config_line=" exit", parents=("port",)), + ConfigLine(config_line="exit", parents=()), + ConfigLine(config_line='echo "Bridge Configuration"', parents=()), + ConfigLine(config_line="bridge 1", parents=()), + ConfigLine(config_line=' name "MGMT"', parents=("bridge 1",)), + ConfigLine(config_line=' echo "Bridge Port Configuration"', parents=("bridge 1",)), + ConfigLine(config_line=" port 1", parents=("bridge 1",)), + ConfigLine(config_line=' name "svi 1"', parents=("bridge 1", " port 1")), + ConfigLine(config_line=" no shutdown", parents=("bridge 1", " port 1")), + ConfigLine(config_line=" exit", parents=("bridge 1",)), + ConfigLine(config_line=" port 2", parents=("bridge 1",)), + ConfigLine(config_line=' name "example"', parents=("bridge 1", " port 2")), + ConfigLine(config_line=" no shutdown", parents=("bridge 1", " port 2")), + ConfigLine(config_line=" exit", parents=("bridge 1",)), + ConfigLine(config_line=" port 3", parents=("bridge 1",)), + ConfigLine(config_line=' name "example"', parents=("bridge 1", " port 3")), + ConfigLine(config_line=" no shutdown", parents=("bridge 1", " port 3")), + ConfigLine(config_line=" exit", parents=("bridge 1",)), + ConfigLine(config_line=" port 4", parents=("bridge 1",)), + ConfigLine(config_line=' name "example"', parents=("bridge 1", " port 4")), + ConfigLine(config_line=" no shutdown", parents=("bridge 1", " port 4")), + ConfigLine(config_line=" exit", parents=("bridge 1",)), + ConfigLine(config_line=" port 5", parents=("bridge 1",)), + ConfigLine(config_line=' name "example"', parents=("bridge 1", " port 5")), + ConfigLine(config_line=" no shutdown", parents=("bridge 1", " port 5")), + ConfigLine(config_line=" exit", parents=("bridge 1",)), + ConfigLine(config_line=' echo "VLAN Configuration"', parents=("bridge 1",)), + ConfigLine(config_line=" vlan 99", parents=("bridge 1",)), + ConfigLine(config_line=" exit", parents=("bridge 1",)), + ConfigLine(config_line="exit", parents=()), + ConfigLine(config_line='echo "Flows Configuration"', parents=()), + ConfigLine(config_line="flows", parents=()), + ConfigLine(config_line=" rate-sampling-window 1", parents=("flows",)), + ConfigLine(config_line=' echo "Classifier Profile Configuration"', parents=("flows",)), + ConfigLine(config_line=' classifier-profile "mgmt" match-any', parents=("flows",)), + ConfigLine(config_line=" match untagged", parents=("flows", ' classifier-profile "mgmt" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-ONE" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 1103", parents=("flows", ' classifier-profile "CP-ONE" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-TWO" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 1103", parents=("flows", ' classifier-profile "CP-TWO" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-THREE" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 1201", parents=("flows", ' classifier-profile "CP-THREE" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-FOUR" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 1201", parents=("flows", ' classifier-profile "CP-FOUR" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-FIVE" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 1103", parents=("flows", ' classifier-profile "CP-FIVE" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-SIX" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 1103", parents=("flows", ' classifier-profile "CP-SIX" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-SEVEN" match-any', parents=("flows",)), + ConfigLine( + config_line=" match vlan 1155 dst-ip 192.168.192.2 to-dst-ip 192.168.192.2", + parents=("flows", ' classifier-profile "CP-SEVEN" match-any'), + ), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-EIGHT" match-any', parents=("flows",)), + ConfigLine(config_line=" match all", parents=("flows", ' classifier-profile "CP-EIGHT" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-NINE" match-any', parents=("flows",)), + ConfigLine(config_line=" match all", parents=("flows", ' classifier-profile "CP-NINE" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-TEN" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 1155", parents=("flows", ' classifier-profile "CP-TEN" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-ELEVEN" match-any', parents=("flows",)), + ConfigLine( + config_line=" match vlan 1202", parents=("flows", ' classifier-profile "CP-ELEVEN" match-any') + ), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-TWELVE" match-any', parents=("flows",)), + ConfigLine(config_line=" match all", parents=("flows", ' classifier-profile "CP-TWELVE" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-A" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 22", parents=("flows", ' classifier-profile "CP-A" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-B" match-any', parents=("flows",)), + ConfigLine(config_line=" match all", parents=("flows", ' classifier-profile "CP-B" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-C" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 777", parents=("flows", ' classifier-profile "CP-C" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-D" match-any', parents=("flows",)), + ConfigLine(config_line=" match all", parents=("flows", ' classifier-profile "CP-D" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-E" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 1102", parents=("flows", ' classifier-profile "CP-E" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-F" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 88", parents=("flows", ' classifier-profile "CP-F" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' classifier-profile "CP-G" match-any', parents=("flows",)), + ConfigLine(config_line=" match vlan 88", parents=("flows", ' classifier-profile "CP-G" match-any')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' echo "Flow Configuration"', parents=("flows",)), + ConfigLine(config_line=' flow "flow1"', parents=("flows",)), + ConfigLine(config_line=' classifier "mgmt"', parents=("flows", ' flow "flow1"')), + ConfigLine(config_line=' policer profile "mgmt_policer"', parents=("flows", ' flow "flow1"')), + ConfigLine(config_line=" vlan-tag push vlan 99 p-bit fixed 7", parents=("flows", ' flow "flow1"')), + ConfigLine(config_line=" ingress-port svi 1", parents=("flows", ' flow "flow1"')), + ConfigLine(config_line=" egress-port bridge-port 1 1", parents=("flows", ' flow "flow1"')), + ConfigLine(config_line=" reverse-direction", parents=("flows", ' flow "flow1"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow1"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow2"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-THREE"', parents=("flows", ' flow "flow2"')), + ConfigLine(config_line=' policer profile "50m"', parents=("flows", ' flow "flow2"')), + ConfigLine(config_line=" mark all", parents=("flows", ' flow "flow2"')), + ConfigLine(config_line=" vlan 1201", parents=("flows", ' flow "flow2"', " mark all")), + ConfigLine(config_line=" p-bit 1", parents=("flows", ' flow "flow2"', " mark all")), + ConfigLine(config_line=" exit", parents=("flows", ' flow "flow2"')), + ConfigLine(config_line=" ingress-port ethernet 3/1", parents=("flows", ' flow "flow2"')), + ConfigLine(config_line=" egress-port ethernet 4/1 queue 1 block 0/1", parents=("flows", ' flow "flow2"')), + ConfigLine(config_line=' service-name "R"', parents=("flows", ' flow "flow2"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow2"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow3"', parents=("flows",)), + ConfigLine(config_line=' classifier "mgmt"', parents=("flows", ' flow "flow3"')), + ConfigLine(config_line=' policer profile "mgmt_policer"', parents=("flows", ' flow "flow3"')), + ConfigLine(config_line=" vlan-tag push vlan 99 p-bit fixed 7", parents=("flows", ' flow "flow3"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow3"')), + ConfigLine(config_line=" egress-port bridge-port 1 2", parents=("flows", ' flow "flow3"')), + ConfigLine(config_line=" reverse-direction block 0/1", parents=("flows", ' flow "flow3"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow3"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow4"', parents=("flows",)), + ConfigLine(config_line=' classifier "mgmt"', parents=("flows", ' flow "flow4"')), + ConfigLine(config_line=' policer profile "mgmt_policer"', parents=("flows", ' flow "flow4"')), + ConfigLine(config_line=" vlan-tag push vlan 99 p-bit fixed 7", parents=("flows", ' flow "flow4"')), + ConfigLine(config_line=" ingress-port ethernet 1/1", parents=("flows", ' flow "flow4"')), + ConfigLine(config_line=" egress-port bridge-port 1 4", parents=("flows", ' flow "flow4"')), + ConfigLine(config_line=" reverse-direction block 0/1", parents=("flows", ' flow "flow4"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow4"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow5"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-ONE"', parents=("flows", ' flow "flow5"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow5"')), + ConfigLine(config_line=" ingress-port ethernet 1/3", parents=("flows", ' flow "flow5"')), + ConfigLine( + config_line=' egress-port ethernet 4/1 queue-map-profile "MTU" block 0/1', + parents=("flows", ' flow "flow5"'), + ), + ConfigLine(config_line=' service-name "Q"', parents=("flows", ' flow "flow5"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow5"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow6"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-TWO"', parents=("flows", ' flow "flow6"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow6"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow6"')), + ConfigLine( + config_line=' egress-port ethernet 1/3 queue-map-profile "MTU" block 0/1', + parents=("flows", ' flow "flow6"'), + ), + ConfigLine(config_line=' service-name "P"', parents=("flows", ' flow "flow6"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow6"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow7"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-FOUR"', parents=("flows", ' flow "flow7"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow7"')), + ConfigLine(config_line=" mark all", parents=("flows", ' flow "flow7"')), + ConfigLine(config_line=" vlan 1201", parents=("flows", ' flow "flow7"', " mark all")), + ConfigLine(config_line=" exit", parents=("flows", ' flow "flow7"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow7"')), + ConfigLine(config_line=" egress-port ethernet 3/1 queue 1 block 0/1", parents=("flows", ' flow "flow7"')), + ConfigLine(config_line=' service-name "O"', parents=("flows", ' flow "flow7"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow7"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow8"', parents=("flows",)), + ConfigLine(config_line=' classifier "mgmt"', parents=("flows", ' flow "flow8"')), + ConfigLine(config_line=' policer profile "mgmt_policer"', parents=("flows", ' flow "flow8"')), + ConfigLine(config_line=" vlan-tag push vlan 99 p-bit fixed 7", parents=("flows", ' flow "flow8"')), + ConfigLine(config_line=" ingress-port ethernet 1/8", parents=("flows", ' flow "flow8"')), + ConfigLine(config_line=" egress-port bridge-port 1 5", parents=("flows", ' flow "flow8"')), + ConfigLine(config_line=" reverse-direction block 0/1", parents=("flows", ' flow "flow8"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow8"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow9"', parents=("flows",)), + ConfigLine(config_line=" shutdown", parents=("flows", ' flow "flow9"')), + ConfigLine(config_line=' classifier "mgmt"', parents=("flows", ' flow "flow9"')), + ConfigLine(config_line=' policer profile "Policer1"', parents=("flows", ' flow "flow9"')), + ConfigLine(config_line=" vlan-tag push vlan 1111 p-bit fixed 4", parents=("flows", ' flow "flow9"')), + ConfigLine(config_line=" ingress-port ethernet 3/1", parents=("flows", ' flow "flow9"')), + ConfigLine(config_line=" egress-port ethernet 4/2 queue 1 block 0/1", parents=("flows", ' flow "flow9"')), + ConfigLine(config_line=' service-name "N"', parents=("flows", ' flow "flow9"')), + ConfigLine(config_line=" pm-collection interval 300", parents=("flows", ' flow "flow9"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow10"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-EIGHT"', parents=("flows", ' flow "flow10"')), + ConfigLine(config_line=' policer profile "10m"', parents=("flows", ' flow "flow10"')), + ConfigLine(config_line=" vlan-tag push vlan 1202 p-bit fixed 3", parents=("flows", ' flow "flow10"')), + ConfigLine(config_line=" ingress-port ethernet 3/2", parents=("flows", ' flow "flow10"')), + ConfigLine( + config_line=" egress-port ethernet 4/1 queue 1 block 0/1", parents=("flows", ' flow "flow10"') + ), + ConfigLine(config_line=' service-name "M"', parents=("flows", ' flow "flow10"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow10"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow11"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-ELEVEN"', parents=("flows", ' flow "flow11"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow11"')), + ConfigLine(config_line=" vlan-tag pop vlan", parents=("flows", ' flow "flow11"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow11"')), + ConfigLine( + config_line=" egress-port ethernet 3/2 queue 1 block 0/1", parents=("flows", ' flow "flow11"') + ), + ConfigLine(config_line=' service-name "L"', parents=("flows", ' flow "flow11"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow11"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow12"', parents=("flows",)), + ConfigLine(config_line=" shutdown", parents=("flows", ' flow "flow12"')), + ConfigLine(config_line=' classifier "CP-FIVE"', parents=("flows", ' flow "flow12"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow12"')), + ConfigLine(config_line=" ingress-port ethernet 1/3", parents=("flows", ' flow "flow12"')), + ConfigLine( + config_line=' egress-port ethernet 4/1 queue-map-profile "MTU" block 0/1', + parents=("flows", ' flow "flow12"'), + ), + ConfigLine(config_line=' service-name "K"', parents=("flows", ' flow "flow12"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow13"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-SEVEN"', parents=("flows", ' flow "flow13"')), + ConfigLine(config_line=' policer profile "2g"', parents=("flows", ' flow "flow13"')), + ConfigLine(config_line=" mark all", parents=("flows", ' flow "flow13"')), + ConfigLine(config_line=" mac swap", parents=("flows", ' flow "flow13"', " mark all")), + ConfigLine(config_line=" ip swap", parents=("flows", ' flow "flow13"', " mark all")), + ConfigLine(config_line=" exit", parents=("flows", ' flow "flow13"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow13"')), + ConfigLine( + config_line=" egress-port ethernet 4/1 queue 0 block 0/1", parents=("flows", ' flow "flow13"') + ), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow13"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow14"', parents=("flows",)), + ConfigLine(config_line=" shutdown", parents=("flows", ' flow "flow14"')), + ConfigLine(config_line=' classifier "CP-SIX"', parents=("flows", ' flow "flow14"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow14"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow14"')), + ConfigLine( + config_line=' egress-port ethernet 1/3 queue-map-profile "MTU" block 0/1', + parents=("flows", ' flow "flow14"'), + ), + ConfigLine(config_line=' service-name "J"', parents=("flows", ' flow "flow14"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow15"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-NINE"', parents=("flows", ' flow "flow15"')), + ConfigLine(config_line=' policer profile "2g"', parents=("flows", ' flow "flow15"')), + ConfigLine(config_line=" vlan-tag push vlan 1155 p-bit fixed 1", parents=("flows", ' flow "flow15"')), + ConfigLine(config_line=" ingress-port ethernet 1/5", parents=("flows", ' flow "flow15"')), + ConfigLine( + config_line=" egress-port ethernet 4/1 queue 1 block 0/1", parents=("flows", ' flow "flow15"') + ), + ConfigLine(config_line=' service-name "I"', parents=("flows", ' flow "flow15"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow15"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow16"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-TEN"', parents=("flows", ' flow "flow16"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow16"')), + ConfigLine(config_line=" vlan-tag pop vlan", parents=("flows", ' flow "flow16"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow16"')), + ConfigLine( + config_line=" egress-port ethernet 1/5 queue 1 block 0/1", parents=("flows", ' flow "flow16"') + ), + ConfigLine(config_line=' service-name "H"', parents=("flows", ' flow "flow16"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow16"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow17"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-D"', parents=("flows", ' flow "flow17"')), + ConfigLine(config_line=' policer profile "100m"', parents=("flows", ' flow "flow17"')), + ConfigLine(config_line=" vlan-tag push vlan 1102 p-bit fixed 1", parents=("flows", ' flow "flow17"')), + ConfigLine(config_line=" ingress-port ethernet 1/7", parents=("flows", ' flow "flow17"')), + ConfigLine( + config_line=" egress-port ethernet 4/1 queue 1 block 0/1", parents=("flows", ' flow "flow17"') + ), + ConfigLine(config_line=' service-name "G"', parents=("flows", ' flow "flow17"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow17"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow18"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-TWELVE"', parents=("flows", ' flow "flow18"')), + ConfigLine(config_line=' policer profile "50m"', parents=("flows", ' flow "flow18"')), + ConfigLine(config_line=" vlan-tag push vlan 22 p-bit fixed 3", parents=("flows", ' flow "flow18"')), + ConfigLine(config_line=" ingress-port ethernet 1/8", parents=("flows", ' flow "flow18"')), + ConfigLine( + config_line=" egress-port ethernet 4/1 queue 1 block 0/1", parents=("flows", ' flow "flow18"') + ), + ConfigLine(config_line=' service-name "F"', parents=("flows", ' flow "flow18"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow18"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow19"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-A"', parents=("flows", ' flow "flow19"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow19"')), + ConfigLine(config_line=" vlan-tag pop vlan", parents=("flows", ' flow "flow19"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow19"')), + ConfigLine( + config_line=" egress-port ethernet 1/8 queue 1 block 0/1", parents=("flows", ' flow "flow19"') + ), + ConfigLine(config_line=' service-name "E"', parents=("flows", ' flow "flow19"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow19"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow20"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-E"', parents=("flows", ' flow "flow20"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow20"')), + ConfigLine(config_line=" vlan-tag pop vlan", parents=("flows", ' flow "flow20"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow20"')), + ConfigLine( + config_line=" egress-port ethernet 1/7 queue 1 block 0/1", parents=("flows", ' flow "flow20"') + ), + ConfigLine(config_line=' service-name "D"', parents=("flows", ' flow "flow20"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow20"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow21"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-B"', parents=("flows", ' flow "flow21"')), + ConfigLine(config_line=' policer profile "100_Mbps"', parents=("flows", ' flow "flow21"')), + ConfigLine(config_line=" vlan-tag push vlan 777 p-bit fixed 3", parents=("flows", ' flow "flow21"')), + ConfigLine(config_line=" ingress-port ethernet 1/10", parents=("flows", ' flow "flow21"')), + ConfigLine( + config_line=" egress-port ethernet 4/1 queue 1 block 0/1", parents=("flows", ' flow "flow21"') + ), + ConfigLine(config_line=' service-name "C"', parents=("flows", ' flow "flow21"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow21"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow22"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-C"', parents=("flows", ' flow "flow22"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow22"')), + ConfigLine(config_line=" vlan-tag pop vlan", parents=("flows", ' flow "flow22"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow22"')), + ConfigLine( + config_line=" egress-port ethernet 1/10 queue 1 block 0/1", parents=("flows", ' flow "flow22"') + ), + ConfigLine(config_line=' service-name "B"', parents=("flows", ' flow "flow22"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow22"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow23"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-F"', parents=("flows", ' flow "flow23"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow23"')), + ConfigLine(config_line=" ingress-port ethernet 1/3", parents=("flows", ' flow "flow23"')), + ConfigLine( + config_line=" egress-port ethernet 4/1 queue 1 block 0/1", parents=("flows", ' flow "flow23"') + ), + ConfigLine(config_line=' service-name "A"', parents=("flows", ' flow "flow23"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow23"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line=' flow "flow24"', parents=("flows",)), + ConfigLine(config_line=' classifier "CP-G"', parents=("flows", ' flow "flow24"')), + ConfigLine(config_line=" no policer", parents=("flows", ' flow "flow24"')), + ConfigLine(config_line=" ingress-port ethernet 4/1", parents=("flows", ' flow "flow24"')), + ConfigLine( + config_line=" egress-port ethernet 1/3 queue 1 block 0/1", parents=("flows", ' flow "flow24"') + ), + ConfigLine(config_line=' service-name "A"', parents=("flows", ' flow "flow24"')), + ConfigLine(config_line=" no shutdown", parents=("flows", ' flow "flow24"')), + ConfigLine(config_line=" exit", parents=("flows",)), + ConfigLine(config_line="exit", parents=()), + ConfigLine(config_line="router 1", parents=()), + ConfigLine(config_line=' name "Router#1"', parents=("router 1",)), + ConfigLine(config_line=" interface 1", parents=("router 1",)), + ConfigLine(config_line=' name "ROUTER:DESCRIPTION"', parents=("router 1", " interface 1")), + ConfigLine(config_line=" bind svi 1", parents=("router 1", " interface 1")), + ConfigLine(config_line=" dhcp", parents=("router 1", " interface 1")), + ConfigLine(config_line=" dhcp-client", parents=("router 1", " interface 1")), + ConfigLine(config_line=" client-id mac", parents=("router 1", " interface 1", " dhcp-client")), + ConfigLine(config_line=" exit", parents=("router 1", " interface 1")), + ConfigLine(config_line=" no shutdown", parents=("router 1", " interface 1")), + ConfigLine(config_line=" exit", parents=("router 1",)), + ConfigLine(config_line=" static-route 0.0.0.0/0 address 1.1.1.1 metric 1", parents=("router 1",)), + ConfigLine(config_line="exit", parents=()), + ConfigLine(config_line=" exit", parents=("exit",)), + ConfigLine(config_line="oam", parents=()), + ConfigLine(config_line=' echo "OAM CFM Configuration"', parents=("oam",)), + ConfigLine(config_line=" cfm", parents=("oam",)), + ConfigLine(config_line=" md-level-mip 2", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm1"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 8000,10000,11200,14000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm1"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm2"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 1600,2000,2400,3000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm2"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm3"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 20000,25000,28000,35000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm3"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm4"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 3200,4000,6400,8000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm4"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm5"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 61600,77000,110400,138000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm5"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm5"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 8000,10000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm5"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm6"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 16000,20000,32000,40000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm6"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm7"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 6400,8000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm7"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm8"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 60000,75000,120000,150000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm8"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfm9"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 32000,40000", + parents=("oam", " cfm", ' measurement-bin-profile "cfm9"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfma"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 92000,115000,184000,230000", + parents=("oam", " cfm", ' measurement-bin-profile "cfma"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmb"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 32000,40000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmb"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmc"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 29600,37000,59200,74000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmc"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmd"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 100000,110400,125000,138000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmd"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfme"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 184000,230000,368000,460000", + parents=("oam", " cfm", ' measurement-bin-profile "cfme"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmf"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 8000,10000,40000,50000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmf"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmg"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 9600,12000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmg"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmh"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 40000,50000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmh"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmi"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 59200,74000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmi"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmj"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 9600,12000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmj"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmk"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 200000,250000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmk"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfml"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 40000,50000", + parents=("oam", " cfm", ' measurement-bin-profile "cfml"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmm"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 368000,460000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmm"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=' measurement-bin-profile "cfmn"', parents=("oam", " cfm")), + ConfigLine( + config_line=" thresholds 40000,50000", + parents=("oam", " cfm", ' measurement-bin-profile "cfmn"'), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=" maintenance-domain 1", parents=("oam", " cfm")), + ConfigLine(config_line=' name string "MD1"', parents=("oam", " cfm", " maintenance-domain 1")), + ConfigLine( + config_line=" maintenance-association 1", parents=("oam", " cfm", " maintenance-domain 1") + ), + ConfigLine( + config_line=' name string "MA1"', + parents=("oam", " cfm", " maintenance-domain 1", " maintenance-association 1"), + ), + ConfigLine( + config_line=" mep 1", + parents=("oam", " cfm", " maintenance-domain 1", " maintenance-association 1"), + ), + ConfigLine( + config_line=" no bind", + parents=( + "oam", + " cfm", + " maintenance-domain 1", + " maintenance-association 1", + " mep 1", + ), + ), + ConfigLine( + config_line=" client-md-level 4", + parents=( + "oam", + " cfm", + " maintenance-domain 1", + " maintenance-association 1", + " mep 1", + ), + ), + ConfigLine( + config_line=" exit", + parents=("oam", " cfm", " maintenance-domain 1", " maintenance-association 1"), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm", " maintenance-domain 1")), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=" maintenance-domain 2", parents=("oam", " cfm")), + ConfigLine(config_line=" md-level 2", parents=("oam", " cfm", " maintenance-domain 2")), + ConfigLine( + config_line=' name string "ABC-DEF"', parents=("oam", " cfm", " maintenance-domain 2") + ), + ConfigLine( + config_line=" maintenance-association 2", parents=("oam", " cfm", " maintenance-domain 2") + ), + ConfigLine( + config_line=' name string "MA2"', + parents=("oam", " cfm", " maintenance-domain 2", " maintenance-association 2"), + ), + ConfigLine( + config_line=" mep 1", + parents=("oam", " cfm", " maintenance-domain 2", " maintenance-association 2"), + ), + ConfigLine( + config_line=" bind ethernet 1/8", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=' flow uni-direction rx "MA2-out"', + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=' flow uni-direction tx "MA2-in"', + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=" remote-mep 2", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=" direction up", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=" customer-tags-excluded", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=" client-md-level 3", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=" no shutdown", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=" service 1", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=" classification priority-bit 3", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + " service 1", + ), + ), + ConfigLine( + config_line=" lmm-interval 100ms", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + " service 1", + ), + ), + ConfigLine( + config_line=" dest-ne 1", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + " service 1", + ), + ), + ConfigLine( + config_line=" no delay", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + " service 1", + " dest-ne 1", + ), + ), + ConfigLine( + config_line=" no loss", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + " service 1", + " dest-ne 1", + ), + ), + ConfigLine( + config_line=" remote mep-id 2", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + " service 1", + " dest-ne 1", + ), + ), + ConfigLine( + config_line=" exit", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + " service 1", + ), + ), + ConfigLine( + config_line=" no shutdown", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + " service 1", + ), + ), + ConfigLine( + config_line=" exit", + parents=( + "oam", + " cfm", + " maintenance-domain 2", + " maintenance-association 2", + " mep 1", + ), + ), + ConfigLine( + config_line=" exit", + parents=("oam", " cfm", " maintenance-domain 2", " maintenance-association 2"), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm", " maintenance-domain 2")), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=" maintenance-domain 3", parents=("oam", " cfm")), + ConfigLine( + config_line=' name string "ABC-DEF"', parents=("oam", " cfm", " maintenance-domain 3") + ), + ConfigLine( + config_line=" maintenance-association 2", parents=("oam", " cfm", " maintenance-domain 3") + ), + ConfigLine( + config_line=' name string "MD3"', + parents=("oam", " cfm", " maintenance-domain 3", " maintenance-association 2"), + ), + ConfigLine( + config_line=" mep 2", + parents=("oam", " cfm", " maintenance-domain 3", " maintenance-association 2"), + ), + ConfigLine( + config_line=" bind ethernet 1/10", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=' flow uni-direction rx "MD3-out"', + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=' flow uni-direction tx "MD3-in"', + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=" remote-mep 1", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=" ccm-priority 3", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=" direction up", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=" customer-tags-excluded", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=" client-md-level 4", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=" no shutdown", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=" service 1", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=" delay-threshold 26000", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + ), + ), + ConfigLine( + config_line=" delay-var-threshold 8000", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + ), + ), + ConfigLine( + config_line=" classification priority-bit 3", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + ), + ), + ConfigLine( + config_line=" dest-ne 1", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + ), + ), + ConfigLine( + config_line=" loss single-ended slm", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + " dest-ne 1", + ), + ), + ConfigLine( + config_line=" remote mep-id 1", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + " dest-ne 1", + ), + ), + ConfigLine( + config_line=' delay-measurement-bin profile "cfm1"', + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + " dest-ne 1", + ), + ), + ConfigLine( + config_line=' delay-var-measurement-bin profile "cfm2"', + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + " dest-ne 1", + ), + ), + ConfigLine( + config_line=" exit", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + ), + ), + ConfigLine( + config_line=" no shutdown", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + " service 1", + ), + ), + ConfigLine( + config_line=" exit", + parents=( + "oam", + " cfm", + " maintenance-domain 3", + " maintenance-association 2", + " mep 2", + ), + ), + ConfigLine( + config_line=" exit", + parents=("oam", " cfm", " maintenance-domain 3", " maintenance-association 2"), + ), + ConfigLine(config_line=" exit", parents=("oam", " cfm", " maintenance-domain 3")), + ConfigLine(config_line=" exit", parents=("oam", " cfm")), + ConfigLine(config_line=" exit", parents=("oam",)), + ConfigLine(config_line="exit", parents=()), + ConfigLine(config_line=" exit", parents=("exit",)), +] diff --git a/tests/unit/mock/config/parser/base/rad_etx/etx_full_sent.txt b/tests/unit/mock/config/parser/base/rad_etx/etx_full_sent.txt new file mode 100644 index 00000000..b0f3495e --- /dev/null +++ b/tests/unit/mock/config/parser/base/rad_etx/etx_full_sent.txt @@ -0,0 +1,732 @@ + configure + echo "Terminal Configuration" + # Terminal Configuration + terminal + timeout forever + exit + echo "System Configuration" + # System Configuration + system + name "ETX001" + echo "LLDP Configuration" + # LLDP Configuration + lldp + no shutdown + exit + exit + echo "Management configuration" + # Management configuration + management + login-user "net-creds-1" + level su + password "abcdefghijklmnopqrstuvwxyz123456789abcde" hash + no shutdown + exit + login-user "net-creds-2" + level oper + password "abcdefghijklmnopqrstuvwxyz123456789zyxwv" hash + no shutdown + exit + echo "SNMP Configuration" + # SNMP Configuration + snmp + user "snmpv2" none-auth + no shutdown + exit + access-group "snmpv2" snmpv2c no-auth-no-priv + read-view "ntc" + write-view "ntc" + notify-view "ntc" + no shutdown + exit + access-group "v2_read" snmpv2c no-auth-no-priv + write-view "ntc" + exit + security-to-group snmpv2c sec-name "snmpv2" + group-name "snmpv2" + no shutdown + exit + community "ntccommunity" + name "ntccommunity" + sec-name "v2_write" + no shutdown + exit + community "public" + name "public" + sec-name "v2_read" + no shutdown + exit + community "read" + name "private" + sec-name "v2_read" + no shutdown + exit + community "trap" + name "private" + sec-name "v2_trap" + no shutdown + exit + community "trapCommunity" + name "trapCommunity" + sec-name "v2_trap" + no shutdown + exit + community "write" + name "private" + sec-name "v2_write" + no shutdown + exit + target-params "example1" + message-processing-model snmpv2c + version snmpv2c + security name "v2_trap" level no-auth-no-priv + no shutdown + exit + target-params "example2" + message-processing-model snmpv2c + version snmpv2c + security name "v2_trap" level no-auth-no-priv + no shutdown + exit + config-change-notification + exit + exit + echo "Port Configuration" + # Port Configuration + port + l2cp-profile "network" + mac "01-80-c2-00-00-02" peer + mac "01-80-c2-00-00-0e" peer + exit + l2cp-profile "EXAMPLE-ONE" + mac "01-80-c2-00-00-01" discard + exit + l2cp-profile "EXAMPLE-TWO" + mac "01-80-c2-00-00-02" peer + mac "01-80-c2-00-00-0e" peer + exit + l2cp-profile "EXAMPLE-THREE" + mac "01-80-c2-00-00-00" discard + mac "01-80-c2-00-00-01" discard + mac "01-80-c2-00-00-02" discard + mac "01-80-c2-00-00-03" discard + mac "01-80-c2-00-00-04" discard + mac "01-80-c2-00-00-05" discard + mac "01-80-c2-00-00-06" discard + mac "01-80-c2-00-00-07" discard + mac "01-80-c2-00-00-08" discard + mac "01-80-c2-00-00-09" discard + mac "01-80-c2-00-00-0a" discard + mac "01-80-c2-00-00-0b" discard + mac "01-80-c2-00-00-0c" discard + mac "01-80-c2-00-00-0d" discard + mac "01-80-c2-00-00-0e" discard + mac "01-80-c2-00-00-0f" discard + mac "01-80-c2-00-00-10" discard + mac "01-80-c2-00-00-20" discard + mac "01-80-c2-00-00-21" discard + mac "01-80-c2-00-00-22" discard + mac "01-80-c2-00-00-23" discard + mac "01-80-c2-00-00-24" discard + mac "01-80-c2-00-00-25" discard + mac "01-80-c2-00-00-26" discard + mac "01-80-c2-00-00-27" discard + mac "01-80-c2-00-00-28" discard + mac "01-80-c2-00-00-29" discard + mac "01-80-c2-00-00-2a" discard + mac "01-80-c2-00-00-2b" discard + mac "01-80-c2-00-00-2c" discard + mac "01-80-c2-00-00-2d" discard + mac "01-80-c2-00-00-2e" discard + mac "01-80-c2-00-00-2f" discard + mac "01-00-0c-cc-cc-cc" discard + mac "01-00-0c-cc-cc-cd" discard + default discard + exit + l2cp-profile "EXAMPLE-FOUR" + exit + ethernet 1/1 + shutdown + no auto-negotiation + speed-duplex 1000-full-duplex + egress-mtu 9200 + l2cp profile "network" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 1/2 + shutdown + name "description for eth1/2" + egress-mtu 9000 + exit + ethernet 1/3 + name "description for eth1/3" + speed-duplex 1000-full-duplex + egress-mtu 12000 + l2cp profile "network" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 1/4 + name "description for eth1/4" + tag-ethernet-type 0x88a8 + egress-mtu 12000 + l2cp profile "EXAMPLE-THREE" + exit + ethernet 1/5 + name "description for eth1/5" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 1/6 + name "description for eth1/6" + egress-mtu 9000 + exit + ethernet 1/7 + name "description for eth1/7" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 1/8 + name "description for eth1/8" + egress-mtu 9008 + l2cp profile "EXAMPLE-THREE" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 1/10 + name "description for eth1/9" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 3/1 + shutdown + exit + ethernet 3/2 + name "description for eth3/2" + egress-mtu 12000 + l2cp profile "EXAMPLE-ONE" + exit + ethernet 4/1 + name "description for eth4/1" + egress-mtu 12000 + l2cp profile "network" + lldp + nearest-bridge-mode tx-rx + nearest-bridge-basic-management port-description sys-name sys-description sys-capabilities management-address + nearest-bridge-802.3 max-frame-size + exit + exit + ethernet 4/2 + name "description for eth4/2" + exit + echo "Service Virtual Interface- Port Configuration" + # Service Virtual Interface- Port Configuration + svi 1 + name "1" + no shutdown + exit + svi 3 + name "3" + exit + echo "LAG - Port Configuration" + # LAG - Port Configuration + lag 1 + shutdown + bind ethernet 1/1 + bind ethernet 1/2 + anchor-port ethernet 1/1 + exit + lag 7 + shutdown + no anchor-port + exit + exit + echo "Bridge Configuration" + # Bridge Configuration + bridge 1 + name "MGMT" + echo "Bridge Port Configuration" + # Bridge Port Configuration + port 1 + name "svi 1" + no shutdown + exit + port 2 + name "example" + no shutdown + exit + port 3 + name "example" + no shutdown + exit + port 4 + name "example" + no shutdown + exit + port 5 + name "example" + no shutdown + exit + echo "VLAN Configuration" + # VLAN Configuration + vlan 99 + exit + exit + echo "Flows Configuration" + # Flows Configuration + flows + rate-sampling-window 1 + echo "Classifier Profile Configuration" + # Classifier Profile Configuration + classifier-profile "mgmt" match-any + match untagged + exit + classifier-profile "CP-ONE" match-any + match vlan 1103 + exit + classifier-profile "CP-TWO" match-any + match vlan 1103 + exit + classifier-profile "CP-THREE" match-any + match vlan 1201 + exit + classifier-profile "CP-FOUR" match-any + match vlan 1201 + exit + classifier-profile "CP-FIVE" match-any + match vlan 1103 + exit + classifier-profile "CP-SIX" match-any + match vlan 1103 + exit + classifier-profile "CP-SEVEN" match-any + match vlan 1155 dst-ip 192.168.192.2 to-dst-ip 192.168.192.2 + exit + classifier-profile "CP-EIGHT" match-any + match all + exit + classifier-profile "CP-NINE" match-any + match all + exit + classifier-profile "CP-TEN" match-any + match vlan 1155 + exit + classifier-profile "CP-ELEVEN" match-any + match vlan 1202 + exit + classifier-profile "CP-TWELVE" match-any + match all + exit + classifier-profile "CP-A" match-any + match vlan 22 + exit + classifier-profile "CP-B" match-any + match all + exit + classifier-profile "CP-C" match-any + match vlan 777 + exit + classifier-profile "CP-D" match-any + match all + exit + classifier-profile "CP-E" match-any + match vlan 1102 + exit + classifier-profile "CP-F" match-any + match vlan 88 + exit + classifier-profile "CP-G" match-any + match vlan 88 + exit + echo "Flow Configuration" + # Flow Configuration + flow "flow1" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port svi 1 + egress-port bridge-port 1 1 + reverse-direction + no shutdown + exit + flow "flow2" + classifier "CP-THREE" + policer profile "50m" + mark all + vlan 1201 + p-bit 1 + exit + ingress-port ethernet 3/1 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "R" + no shutdown + exit + flow "flow3" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port ethernet 4/1 + egress-port bridge-port 1 2 + reverse-direction block 0/1 + no shutdown + exit + flow "flow4" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port ethernet 1/1 + egress-port bridge-port 1 4 + reverse-direction block 0/1 + no shutdown + exit + flow "flow5" + classifier "CP-ONE" + no policer + ingress-port ethernet 1/3 + egress-port ethernet 4/1 queue-map-profile "MTU" block 0/1 + service-name "Q" + no shutdown + exit + flow "flow6" + classifier "CP-TWO" + no policer + ingress-port ethernet 4/1 + egress-port ethernet 1/3 queue-map-profile "MTU" block 0/1 + service-name "P" + no shutdown + exit + flow "flow7" + classifier "CP-FOUR" + no policer + mark all + vlan 1201 + exit + ingress-port ethernet 4/1 + egress-port ethernet 3/1 queue 1 block 0/1 + service-name "O" + no shutdown + exit + flow "flow8" + classifier "mgmt" + policer profile "mgmt_policer" + vlan-tag push vlan 99 p-bit fixed 7 + ingress-port ethernet 1/8 + egress-port bridge-port 1 5 + reverse-direction block 0/1 + no shutdown + exit + flow "flow9" + shutdown + classifier "mgmt" + policer profile "Policer1" + vlan-tag push vlan 1111 p-bit fixed 4 + ingress-port ethernet 3/1 + egress-port ethernet 4/2 queue 1 block 0/1 + service-name "N" + pm-collection interval 300 + exit + flow "flow10" + classifier "CP-EIGHT" + policer profile "10m" + vlan-tag push vlan 1202 p-bit fixed 3 + ingress-port ethernet 3/2 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "M" + no shutdown + exit + flow "flow11" + classifier "CP-ELEVEN" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 3/2 queue 1 block 0/1 + service-name "L" + no shutdown + exit + flow "flow12" + shutdown + classifier "CP-FIVE" + no policer + ingress-port ethernet 1/3 + egress-port ethernet 4/1 queue-map-profile "MTU" block 0/1 + service-name "K" + exit + flow "flow13" + classifier "CP-SEVEN" + policer profile "2g" + mark all + mac swap + ip swap + exit + ingress-port ethernet 4/1 + egress-port ethernet 4/1 queue 0 block 0/1 + no shutdown + exit + flow "flow14" + shutdown + classifier "CP-SIX" + no policer + ingress-port ethernet 4/1 + egress-port ethernet 1/3 queue-map-profile "MTU" block 0/1 + service-name "J" + exit + flow "flow15" + classifier "CP-NINE" + policer profile "2g" + vlan-tag push vlan 1155 p-bit fixed 1 + ingress-port ethernet 1/5 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "I" + no shutdown + exit + flow "flow16" + classifier "CP-TEN" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/5 queue 1 block 0/1 + service-name "H" + no shutdown + exit + flow "flow17" + classifier "CP-D" + policer profile "100m" + vlan-tag push vlan 1102 p-bit fixed 1 + ingress-port ethernet 1/7 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "G" + no shutdown + exit + flow "flow18" + classifier "CP-TWELVE" + policer profile "50m" + vlan-tag push vlan 22 p-bit fixed 3 + ingress-port ethernet 1/8 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "F" + no shutdown + exit + flow "flow19" + classifier "CP-A" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/8 queue 1 block 0/1 + service-name "E" + no shutdown + exit + flow "flow20" + classifier "CP-E" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/7 queue 1 block 0/1 + service-name "D" + no shutdown + exit + flow "flow21" + classifier "CP-B" + policer profile "100_Mbps" + vlan-tag push vlan 777 p-bit fixed 3 + ingress-port ethernet 1/10 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "C" + no shutdown + exit + flow "flow22" + classifier "CP-C" + no policer + vlan-tag pop vlan + ingress-port ethernet 4/1 + egress-port ethernet 1/10 queue 1 block 0/1 + service-name "B" + no shutdown + exit + flow "flow23" + classifier "CP-F" + no policer + ingress-port ethernet 1/3 + egress-port ethernet 4/1 queue 1 block 0/1 + service-name "A" + no shutdown + exit + flow "flow24" + classifier "CP-G" + no policer + ingress-port ethernet 4/1 + egress-port ethernet 1/3 queue 1 block 0/1 + service-name "A" + no shutdown + exit + exit + router 1 + name "Router#1" + interface 1 + name "ROUTER:DESCRIPTION" + bind svi 1 + dhcp + dhcp-client + client-id mac + exit + no shutdown + exit + static-route 0.0.0.0/0 address 1.1.1.1 metric 1 + exit + exit + configure + oam + echo "OAM CFM Configuration" + # OAM CFM Configuration + cfm + md-level-mip 2 + measurement-bin-profile "cfm1" + thresholds 8000,10000,11200,14000 + exit + measurement-bin-profile "cfm2" + thresholds 1600,2000,2400,3000 + exit + measurement-bin-profile "cfm3" + thresholds 20000,25000,28000,35000 + exit + measurement-bin-profile "cfm4" + thresholds 3200,4000,6400,8000 + exit + measurement-bin-profile "cfm5" + thresholds 61600,77000,110400,138000 + exit + measurement-bin-profile "cfm5" + thresholds 8000,10000 + exit + measurement-bin-profile "cfm6" + thresholds 16000,20000,32000,40000 + exit + measurement-bin-profile "cfm7" + thresholds 6400,8000 + exit + measurement-bin-profile "cfm8" + thresholds 60000,75000,120000,150000 + exit + measurement-bin-profile "cfm9" + thresholds 32000,40000 + exit + measurement-bin-profile "cfma" + thresholds 92000,115000,184000,230000 + exit + measurement-bin-profile "cfmb" + thresholds 32000,40000 + exit + measurement-bin-profile "cfmc" + thresholds 29600,37000,59200,74000 + exit + measurement-bin-profile "cfmd" + thresholds 100000,110400,125000,138000 + exit + measurement-bin-profile "cfme" + thresholds 184000,230000,368000,460000 + exit + measurement-bin-profile "cfmf" + thresholds 8000,10000,40000,50000 + exit + measurement-bin-profile "cfmg" + thresholds 9600,12000 + exit + measurement-bin-profile "cfmh" + thresholds 40000,50000 + exit + measurement-bin-profile "cfmi" + thresholds 59200,74000 + exit + measurement-bin-profile "cfmj" + thresholds 9600,12000 + exit + measurement-bin-profile "cfmk" + thresholds 200000,250000 + exit + measurement-bin-profile "cfml" + thresholds 40000,50000 + exit + measurement-bin-profile "cfmm" + thresholds 368000,460000 + exit + measurement-bin-profile "cfmn" + thresholds 40000,50000 + exit + maintenance-domain 1 + name string "MD1" + maintenance-association 1 + name string "MA1" + mep 1 + no bind + client-md-level 4 + exit + exit + exit + maintenance-domain 2 + md-level 2 + name string "ABC-DEF" + maintenance-association 2 + name string "MA2" + mep 1 + bind ethernet 1/8 + flow uni-direction rx "MA2-out" + flow uni-direction tx "MA2-in" + remote-mep 2 + direction up + customer-tags-excluded + client-md-level 3 + no shutdown + service 1 + classification priority-bit 3 + lmm-interval 100ms + dest-ne 1 + no delay + no loss + remote mep-id 2 + exit + no shutdown + exit + exit + exit + exit + maintenance-domain 3 + name string "ABC-DEF" + maintenance-association 2 + name string "MD3" + mep 2 + bind ethernet 1/10 + flow uni-direction rx "MD3-out" + flow uni-direction tx "MD3-in" + remote-mep 1 + ccm-priority 3 + direction up + customer-tags-excluded + client-md-level 4 + no shutdown + service 1 + delay-threshold 26000 + delay-var-threshold 8000 + classification priority-bit 3 + dest-ne 1 + loss single-ended slm + remote mep-id 1 + delay-measurement-bin profile "cfm1" + delay-var-measurement-bin profile "cfm2" + exit + no shutdown + exit + exit + exit + exit + exit + exit + exit