Junos chassis configuration module
Version: 2019-01-01
module junos-ex-conf-chassis { yang-version 1; namespace "http://yang.juniper.net/junos-ex/conf/chassis"; prefix jc-chassis; import junos-common-ddl-extensions { prefix junos; revision-date "2019-01-01"; } import junos-common-types { prefix jt; revision-date "2019-01-01"; } import junos-ex-conf-root { prefix jc; revision-date "2019-01-01"; } organization "Juniper Networks, Inc."; contact "yang-support@juniper.net"; description "Junos chassis configuration module"; revision "2019-01-01" { description "Junos: 21.3R1.9"; } augment /jc:configuration { uses chassis-group; } augment /jc:configuration/jc:groups { uses chassis-group; } grouping chassis-group { container chassis { description "Chassis configuration"; uses chassis_type; } // container chassis } // grouping chassis-group grouping chassis_type { uses apply-advanced; container nssu { presence "enable nssu"; description "Nonstop Software Upgrade settings"; uses apply-advanced; list upgrade-group { key "name"; ordered-by user; description "Nonstop Software Upgrade group"; leaf name { type string { length "1 .. 254"; } } uses apply-advanced; leaf-list fpcs { type union { type string { pattern "<.*>|$.*"; } type uint32; } max-elements 16; description "FPCs associated with update-group"; } list member { key "name"; description "Member of virtual chassis configuration"; uses upgrade-group-fpcs; } // list member } // list upgrade-group leaf rcp-count { type union { type string { pattern "<.*>|$.*"; } type int32 { range "1 .. 8"; } } description "Parallel rcp count"; } leaf lc-reboot-delay { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 600"; } } description "Delay between linecard reboot during NSSU"; } } // container nssu leaf no-power-budget { type empty; description "Disable Chassis Power Budget"; } container psu { description "Power Supply Unit redundancy configuration"; uses apply-advanced; container redundancy { description "PSU Redundancy settings"; uses apply-advanced; leaf n-plus-n { type empty; description "PSU redundancy: N+N configuration"; } } // container redundancy } // container psu leaf craft-lockout { type empty; description "Disable craft interface input"; } choice source-route-choice { leaf source-route { type empty; status deprecated; description "Enable IP source-route processing"; } leaf no-source-route { type empty; status deprecated; description "Don't enable IP source-route processing"; } } // choice source-route-choice choice packet-scheduling-choice { leaf packet-scheduling { type empty; description "Enable DX2.0 packet scheduling"; } leaf no-packet-scheduling { type empty; description "Don't enable DX2.0 packet scheduling"; } } // choice packet-scheduling-choice leaf vrf-mtu-check { type empty; description "Enable Internet Processor II-based MTU check"; } container icmp { description "ICMP protocol"; uses apply-advanced; } // container icmp container icmp6 { description "ICMP version 6 protocol"; uses apply-advanced; } // container icmp6 leaf maximum-ecmp { type enumeration { enum "16" { value 0; description "Maximum 16 ECMP routes"; } enum "32" { value 1; description "Maximum 32 ECMP routes"; } enum "64" { value 2; description "Maximum 64 ECMP routes"; } enum "96" { value 3; description "Maximum 96 ECMP routes"; } enum "128" { value 4; description "Maximum 128 ECMP routes"; } enum "160" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 5; description "Maximum 160 ECMP routes"; } enum "192" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 6; description "Maximum 192 ECMP routes"; } enum "224" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 7; description "Maximum 224 ECMP routes"; } enum "256" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 8; description "Maximum 256 ECMP routes"; } enum "288" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 9; description "Maximum 288 ECMP routes"; } enum "320" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 10; description "Maximum 320 ECMP routes"; } enum "352" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 11; description "Maximum 352 ECMP routes"; } enum "384" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 12; description "Maximum 384 ECMP routes"; } enum "416" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 13; description "Maximum 416 ECMP routes"; } enum "448" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 14; description "Maximum 448 ECMP routes"; } enum "480" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 15; description "Maximum 480 ECMP routes"; } enum "512" { junos:must "(!("system processes routing force-32-bit"))"; junos:must-message "32-bit rpd doesn't support ecmp greater than 128"; value 16; description "Maximum 512 ECMP routes"; } } description "Maximum ECMP limit for nexthops"; } container redundancy { description "Redundancy settings"; uses chassis_redundancy_type; } // container redundancy container routing-engine { description "Routing Engine settings"; uses chassis_routing_engine_type; } // container routing-engine container aggregated-devices { description "Aggregated devices configuration"; uses chassis_agg_dev_type; } // container aggregated-devices list disk-partition { key "name"; ordered-by user; description "Chassis disk monitor configuration"; leaf name { type enumeration { enum "/var" { value 0; description "Monitor /var partition"; } enum "/config" { value 1; description "Monitor /config partition"; } } description "Choose disk partition to monitor"; } uses apply-advanced; list level { key "name"; ordered-by user; description "Threshold level"; leaf name { type enumeration { enum "high" { value 0; description "Set high level of threshold"; } enum "full" { value 1; description "Set full level of threshold"; } } } uses apply-advanced; container free-space { description "Enter threshold value & choose the metric"; leaf thres-free { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 100"; } } description "Enter free space threshold value"; } choice thres-metric { leaf percent { type empty; description "Free space threshold in %"; } leaf mb { type empty; description "Free space threshold in MB"; } } // choice thres-metric } // container free-space } // list level } // list disk-partition container container-devices { description "Container devices configuration"; uses chassisd_agg_container_type; } // container container-devices container pseudowire-service { presence "enable pseudowire-service"; description "Pseudowire L3 termination device configuration"; uses chassis-pw-type; } // container pseudowire-service container provider-instance-devices { description "Provider instance devices configuration"; uses chassisd_provider_instance_type; } // container provider-instance-devices container fabric { description "Switch fabric settings"; uses chassis_fabric_type; } // container fabric list fpc { junos:must "((!(any ". <*> vpn-localization") || !("virtual-chassis")))"; junos:must-message "vpn-localization cannot be configured on virtual-chassis"; key "name"; description "Flexible PIC Concentrator parameters"; uses chassis_fpc_type; } // list fpc container fpc-feb-connectivity { description "Connectivity between Flexible PIC Concentrators and Forwarding Engine Boards"; uses apply-advanced; list fpc { key "name"; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "FPC slot number"; } uses apply-advanced; container feb { description "FEB slot number"; choice feb-slot-choice { leaf none { type empty; description "FPC not connected to any FEB"; } leaf feb-slot { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "FEB slot number"; } } // choice feb-slot-choice } // container feb } // list fpc } // container fpc-feb-connectivity container sib { description "Switch Interface Board parameters"; uses chassis_sib_type; } // container sib container tfeb { description "Taz Forwarding Engine Board parameters"; uses chassis_feb_type; } // container tfeb container alarm { description "Global alarm settings"; uses chassis_alarm_type; } // container alarm leaf slow-pfe-alarm { type empty; description "Enable slow (potential) PFE alarm"; } leaf ambient-temperature { type enumeration { enum "55C" { value 0; description "55 degree celsius"; } enum "40C" { value 1; description "40 degree celsius"; } enum "25C" { value 2; description "25 degree celsius"; } enum "32C" { value 3; description "32 degree celsius"; } } description "Chassis ambient-temperature value in degree celsius"; } leaf network-services { type enumeration { enum "ip" { value 0; description "IP network services"; } enum "ethernet" { junos:must "((!(any "interfaces <*> unit <*> family inet accounting source-class-usage") && (!(any "interfaces <*> unit <*> family inet accounting destination-class-usage") && (!(any "interfaces <*> unit <*> family inet6 accounting source-class-usage") && (!(any "interfaces <*> unit <*> family inet6 accounting destination-class-usage") && (!(any "logical-systems <*> interfaces <*> unit <*> family inet accounting source-class-usage") && (!(any "logical-systems <*> interfaces <*> unit <*> family inet accounting destination-class-usage") && (!(any "logical-systems <*> interfaces <*> unit <*> family inet6 accounting source-class-usage") && !(any "logical-systems <*> interfaces <*> unit <*> family inet6 accounting destination-class-usage")))))))))"; junos:must-message "Cannot configure 'accounting source-class-usage or destination-class-usage' under network-services ethernet"; junos:must "((!("routing-options forwarding-table unicast-reverse-path") && (!(any "routing-instances <*> routing-options forwarding-table unicast-reverse-path") && (!(any "logical-systems <*> routing-options forwarding-table unicast-reverse-path") && !(any "logical-systems <*> routing-instances <*> routing-options forwarding-table unicast-reverse-path")))))"; junos:must-message "Cannot configure 'unicast-reverse-path' under network-services ethernet"; junos:must "((!(any "interfaces <*> unit <*> family inet rpf-check") && (!(any "interfaces <*> unit <*> family inet6 rpf-check") && (!(any "logical-systems <*> interfaces <*> unit <*> family inet rpf-check") && !(any "logical-systems <*> interfaces <*> unit <*> family inet6 rpf-check")))))"; junos:must-message "Cannot configure 'rpf-check' under network-services ethernet"; junos:must "((!(any "policy-options policy-statement <*> then source-class") && (!(any "policy-options policy-statement <*> term <*> then source-class") && (!(any "policy-options policy-statement <*> then destination-class") && (!(any "policy-options policy-statement <*> term <*> then destination-class") && (!(any "policy-options policy-statement <*> from route-filter <*> <*> source-class") && (!(any "policy-options policy-statement <*> term <*> from route-filter <*> <*> source-class") && (!(any "policy-options policy-statement <*> from route-filter <*> <*> destination-class") && (!(any "policy-options policy-statement <*> term <*> from route-filter <*> <*> destination-class") && (!(any "logical-systems <*> policy-options policy-statement <*> then source-class") && (!(any "logical-systems <*> policy-options policy-statement <*> term <*> then source-class") && (!(any "logical-systems <*> policy-options policy-statement <*> then destination-class") && (!(any "logical-systems <*> policy-options policy-statement <*> term <*> then destination-class") && (!(any "logical-systems <*> policy-options policy-statement <*> from route-filter <*> <*> source-class") && (!(any "logical-systems <*> policy-options policy-statement <*> term <*> from route-filter <*> <*> source-class") && (!(any "logical-systems <*> policy-options policy-statement <*> from route-filter <*> <*> destination-class") && !(any "logical-systems <*> policy-options policy-statement <*> term <*> from route-filter <*> <*> destination-class")))))))))))))))))"; junos:must-message "Cannot configure 'destination-class|source-class' under network-services ethernet"; junos:must "((!("protocols bgp family inet any") && (!("protocols bgp family inet flow") && (!("protocols bgp family inet multicast") && (!(any "protocols bgp group <*> family inet any") && (!(any "protocols bgp group <*> family inet flow") && (!(any "protocols bgp group <*> family inet multicast") && (!(any "protocols bgp group <*> neighbor <*> family inet any") && (!(any "protocols bgp group <*> neighbor <*> family inet flow") && (!(any "protocols bgp group <*> neighbor <*> family inet multicast") && (!("protocols bgp family inet-vpn any") && (!("protocols bgp family inet-vpn flow") && (!("protocols bgp family inet-vpn multicast") && (!(any "protocols bgp group <*> family inet-vpn any") && (!(any "protocols bgp group <*> family inet-vpn flow") && (!(any "protocols bgp group <*> family inet-vpn multicast") && (!(any "protocols bgp group <*> neighbor <*> family inet-vpn any") && (!(any "protocols bgp group <*> neighbor <*> family inet-vpn flow") && (!(any "protocols bgp group <*> neighbor <*> family inet-vpn multicast") && (!("protocols bgp family inet6") && (!(any "protocols bgp group <*> family inet6") && (!(any "protocols bgp group <*> neighbor <*> family inet6") && (!("protocols bgp family inet6-vpn") && (!(any "protocols bgp group <*> family inet6-vpn") && (!(any "protocols bgp group <*> neighbor <*> family inet6-vpn") && (!("protocols bgp family inet-mvpn") && (!(any "protocols bgp group <*> family inet-mvpn") && (!(any "protocols bgp group <*> neighbor <*> family inet-mvpn") && (!("protocols bgp family inet6-mvpn") && (!(any "protocols bgp group <*> family inet6-mvpn") && (!(any "protocols bgp group <*> neighbor <*> family inet6-mvpn") && (!("protocols bgp family iso") && (!(any "protocols bgp group <*> family iso") && (!(any "protocols bgp group <*> neighbor <*> family iso") && (!("protocols bgp family iso-vpn") && (!(any "protocols bgp group <*> family iso-vpn") && (!(any "protocols bgp group <*> neighbor <*> family iso-vpn") && (!("protocols bgp family atmvpn") && (!(any "protocols bgp group <*> family atmvpn") && (!(any "protocols bgp group <*> neighbor <*> family atmvpn") && (!(any "logical-systems <*> protocols bgp family inet any") && (!(any "logical-systems <*> protocols bgp family inet flow") && (!(any "logical-systems <*> protocols bgp family inet multicast") && (!(any "logical-systems <*> protocols bgp group <*> family inet any") && (!(any "logical-systems <*> protocols bgp group <*> family inet flow") && (!(any "logical-systems <*> protocols bgp group <*> family inet multicast") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet any") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet flow") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet multicast") && (!(any "logical-systems <*> protocols bgp family inet-vpn any") && (!(any "logical-systems <*> protocols bgp family inet-vpn flow") && (!(any "logical-systems <*> protocols bgp family inet-vpn multicast") && (!(any "logical-systems <*> protocols bgp group <*> family inet-vpn any") && (!(any "logical-systems <*> protocols bgp group <*> family inet-vpn flow") && (!(any "logical-systems <*> protocols bgp group <*> family inet-vpn multicast") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet-vpn any") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet-vpn flow") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet-vpn multicast") && (!(any "logical-systems <*> protocols bgp family inet6") && (!(any "logical-systems <*> protocols bgp group <*> family inet6") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet6") && (!(any "logical-systems <*> protocols bgp family inet6-vpn") && (!(any "logical-systems <*> protocols bgp group <*> family inet6-vpn") && (!(any "protocols bgp group <*> neighbor <*> family inet6-vpn") && (!(any "logical-systems <*> protocols bgp family inet-mvpn") && (!(any "logical-systems <*> protocols bgp group <*> family inet-mvpn") && (!(any "protocols bgp group <*> neighbor <*> family inet-mvpn") && (!(any "logical-systems <*> protocols bgp family inet6-mvpn") && (!(any "logical-systems <*> protocols bgp group <*> family inet6-mvpn") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet6-mvpn") && (!(any "logical-systems <*> protocols bgp family iso") && (!(any "logical-systems <*> protocols bgp group <*> family iso") && (!(any "protocols bgp group <*> neighbor <*> family iso") && (!(any "logical-systems <*> protocols bgp family iso-vpn") && (!(any "logical-systems <*> protocols bgp group <*> family iso-vpn") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family iso-vpn") && (!(any "logical-systems <*> protocols bgp family atmvpn") && (!(any "logical-systems <*> protocols bgp group <*> family atmvpn") && !(any "protocols bgp group <*> neighbor <*> family atmvpn")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))"; junos:must-message "Only BGP groups with 'family inet unicast, inet labeled-unicast, inet-vpn unicast, l2vpn and route-target' are supported under network-services ethernet"; value 1; description "Ethernet network services"; } enum "enhanced-ip" { value 2; description "Enhanced IP network services"; } enum "enhanced-ethernet" { value 3; description "Enhanced ethernet network services"; } enum "enhanced-mode" { value 4; description "Enhanced network services"; } enum "lan" { value 5; description "Ethernet LAN services"; } } description "Chassis network services configuration"; } container usb { description "USB control flags"; uses apply-advanced; container storage { description "USB storage flags"; uses apply-advanced; leaf disable { type empty; description "Disable USB storage"; } } // container storage } // container usb list lcc { key "name"; description "Line-card chassis configuration"; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "LCC number"; } uses apply-advanced; list fpc { junos:must "((!(any ". <*> vpn-localization") || !("virtual-chassis")))"; junos:must-message "vpn-localization cannot be configured on virtual-chassis"; key "name"; description "Flexible PIC Concentrator parameters"; uses chassis_fpc_type; } // list fpc choice state { leaf online-expected { type empty; description "LCC is expected to be online"; } leaf offline { type empty; description "LCC is expected to be offline"; } } // choice state } // list lcc container lcd { status deprecated; description "Chassis LCD"; uses apply-advanced; list fpc { key "name"; ordered-by user; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "FPC slot number"; } choice menu-item { leaf maintenance-menu { type empty; description "LCD maintenance menu"; } } // choice menu-item choice enable-disable { leaf disable { type empty; description "Disable maintenance-menu"; } } // choice enable-disable } // list fpc choice menu-item { leaf maintenance-menu { type empty; description "LCD maintenance menu"; } } // choice menu-item choice enable-disable { leaf disable { type empty; description "Disable maintenance-menu"; } } // choice enable-disable } // container lcd container forwarding-options { description "Configure options to control packet forwarding"; uses apply-advanced; choice uft_object { container l2-profile-one { presence "enable l2-profile-one"; description "MAC: 288K L3-host: 16K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container l2-profile-one container l2-profile-two { presence "enable l2-profile-two"; description "MAC: 224K L3-host: 80K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container l2-profile-two container l2-profile-three { presence "enable l2-profile-three"; description "(default) MAC: 160K L3-host: 144K LPM: 16K, needs reboot for VC;restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container l2-profile-three container l3-profile { presence "enable l3-profile"; description "MAC: 96K L3-host: 208K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container l3-profile container lpm-profile { presence "enable lpm-profile"; description "MAC: 32K L3-host: 16K LPM: 128K EM:0, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf prefix-65-127-disable { type empty; description "Disable IPV6 prefixes with length > 64"; } leaf unicast-in-lpm { type empty; description "Install unicast host entries in LPM table"; } } // container lpm-profile container exact-match-profile { presence "enable exact-match-profile"; description "MAC: 8K L3-host: 8K LPM: 16K EM: 64K, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container exact-match-profile container vxlan-gbp-profile { presence "enable vxlan-gbp-profile"; description "MAC: 48K L3-host: 48K LPM: 16K EM:32K, needs reboot for VC; restarts PFE if standalone"; } // container vxlan-gbp-profile container custom-profile { description "(Partition the shared banks, will automatically restart the PFE when configured)"; uses apply-advanced; container l2-entries { description "Customize l2 entries needed"; uses apply-advanced; leaf num-banks { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "0"; description "Number of banks needed for entries of this type"; } } // container l2-entries container l3-entries { description "Customize l3 entries needed"; uses apply-advanced; leaf num-banks { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "0"; description "Number of banks needed for entries of this type"; } } // container l3-entries container exact-match-entries { description "Customize exact match entries needed"; uses apply-advanced; leaf num-banks { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "0"; description "Number of banks needed for entries of this type"; } } // container exact-match-entries container lpm-entries { description "Customize lpm banks needed"; uses apply-advanced; leaf num-banks { type enumeration { enum "0" { value 0; } enum "2" { value 1; } enum "4" { value 2; } } default "0"; description "Number of banks needed for entries of this type"; } leaf prefix-65-127-disable { type empty; description "Disable IPV6 prefixes with length > 64"; } } // container lpm-entries leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container custom-profile } // choice uft_object } // container forwarding-options leaf loopback-firewall-optimization { type empty; description "Optimal TCAM use,restarts PFE(for IP rsrved multicast dest & IP ttl=0/1,config explicitly)"; } leaf epacl-firewall-optimization { type empty; description "Maximizes Egress Port ACLs TCAM use and restarts PFE"; } container lcd-menu { junos:must "(!(".. lcd"))"; junos:must-message "Cannot mix 'lcd-menu' and 'lcd maintenance-menu' configurations"; description "Chassis LCD menu"; uses apply-advanced; list fpc { key "name"; ordered-by user; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "FPC slot number"; } uses apply-advanced; list menu-item { key "name"; ordered-by user; description "LCD menu item"; leaf name { type string; description "LCD menu name"; } leaf disable { type empty; description "Disable LCD menu"; } } // list menu-item } // list fpc list menu-item { key "name"; ordered-by user; description "LCD menu item"; leaf name { type string; description "LCD menu name"; } leaf disable { type empty; description "Disable LCD menu"; } } // list menu-item } // container lcd-menu leaf fru-poweron-sequence { type string { junos:posix-pattern "^[0-9 ]+$"; junos:pattern-message "FRU in fru poweron sequence must be a number"; } description "FRUs power on sequence like 0 1 2 3 ... within double quotes"; } leaf auto-image-upgrade { type empty; description "Auto image upgrade using DHCP"; } container multicast-loadbalance { presence "enable multicast-loadbalance"; description "Multicast load balancing settings"; uses chassis_ae_lb_type; } // container multicast-loadbalance container oss-map { description "Translate Operation Supported System's requirements"; uses apply-advanced; leaf model-name { type enumeration { enum "t640" { value 0; description "Set to T640's model"; } enum "t1600" { value 1; description "Set to T1600's model"; } } description "Override chassis model name for specific show/snmp output"; } } // container oss-map container jnu-management { description "JNU Management configuration"; uses apply-advanced; leaf mode { type enumeration { enum "feature-rich" { value 0; description "Feature Rich Mode"; } enum "bng-control-plane" { value 1; description "BNG control-plane mode"; } } description "JNU Mode"; } leaf satellite-name { type string; description "Satellite name"; } leaf device-group { type string; description "Satellite device group"; } list satellite { key "name"; ordered-by user; description "List of satellites"; leaf name { type string; description "Satellite name"; } uses apply-advanced; leaf device-group { type string; description "Satellite Device Group"; } leaf model { type string; description "Satellite model"; } leaf version { type string { junos:posix-pattern "^[[:digit:]][[:alnum:]_.-]+$"; junos:pattern-message "Version should begin with a number"; } description "Satellite version"; } } // list satellite leaf user { type string; description "Satellite User Name"; } leaf controller { type string; description "Controller Name"; } leaf authentication { type jt:unreadable; description "Authentication string"; } } // container jnu-management list satellite { key "name"; ordered-by user; description "List of available satellite configurations"; leaf name { type string; description "Satellite name"; } uses apply-advanced; } // list satellite container system-domains { presence "enable system-domains"; description "Root and protected system domain configuration"; uses apply-advanced; leaf root-domain-id { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 3"; } } description "Root domain identifier"; } list protected-system-domains { key "name"; description "Protected system domain configuration"; uses juniper-protected-system-domain; } // list protected-system-domains container traceoptions { description "Protected system domain traceoptions"; uses juniper-protected-system-domain-traceoptions; } // container traceoptions } // container system-domains } // grouping chassis_type grouping apply-advanced { description "Apply advanced configuration logic"; leaf-list apply-groups { type string; ordered-by user; description "Groups from which to inherit configuration data"; } leaf-list apply-groups-except { type string; ordered-by user; description "Don't inherit configuration data from these groups"; } list apply-macro { key "name"; ordered-by user; description "Macro and parameters for commit script expansion"; uses apply-macro-type; } // list apply-macro } // grouping apply-advanced grouping apply-macro-type { description "Macro data for commit-script expansion"; leaf name { type string; description "Name of the macro to be expanded"; } list data { key "name"; uses macro-data-type; } // list data } // grouping apply-macro-type grouping chassis-pw-type { uses apply-advanced; leaf device-count { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 18000"; } } description "Number of pseudo-wire ps devices"; } } // grouping chassis-pw-type grouping chassis_ae_lb_type { uses apply-advanced; leaf disable { type empty; description "Disable Multicast load balancing"; } leaf hash-mode { type enumeration { enum "crc-sgip" { value 0; description "CRC of Source IP and Group IP"; } enum "crc-gip" { value 1; description "CRC of Group IP only"; } enum "crc-sip" { value 2; description "CRC of Source IP only"; } enum "simple-sgip" { value 3; description "Simple hash of Source IP and Group IP"; } enum "simple-gip" { value 4; description "Simple hash of Group IP"; } enum "simple-sip" { value 5; description "Simple hash of Source IP"; } enum "balanced" { value 6; description "Round-Robin balancing"; } } description "PFE hash mode"; } } // grouping chassis_ae_lb_type grouping chassis_agg_dev_type { uses apply-advanced; container ethernet { description "Aggregated device options for Ethernet"; uses chassisd_agg_enet_type; } // container ethernet container sonet { description "Aggregated device options for SONET"; uses chassisd_agg_pos_type; } // container sonet leaf maximum-links { type union { type int32; type string { pattern "<.*>|$.*"; } } description "Maximum links limit for aggregated devices (16, 32, or 64)"; } } // grouping chassis_agg_dev_type grouping chassis_alarm_type { uses apply-advanced; container management-ethernet { description "Management Ethernet alarms"; uses chassis_alarm_ethernet_type; } // container management-ethernet container otn-odu { description "OTN ODU alarms"; uses chassis_alarm_otn_odu_type; } // container otn-odu container otn-otu { description "OTN OTU alarms"; uses chassis_alarm_otn_otu_type; } // container otn-otu container sonet { description "SONET alarms"; uses chassis_alarm_sonet_type; } // container sonet container t3 { description "DS3 alarms"; uses chassis_alarm_ds3_type; } // container t3 container ds1 { description "DS1 alarms"; uses chassis_alarm_ds1_type; } // container ds1 container ethernet { description "Ethernet alarms"; uses chassis_alarm_ethernet_type; } // container ethernet container integrated-services { description "Integrated services alarms"; uses chassis_alarm_integrated_services_type; } // container integrated-services container services { description "Services PIC alarms"; uses chassis_alarm_services_type; } // container services container serial { description "Serial alarms"; uses chassis_alarm_serial_type; } // container serial container fibre-channel { description "Fibre Channel alarms"; uses chassis_alarm_fibre-channel_type; } // container fibre-channel } // grouping chassis_alarm_type grouping chassis_alarm_ds1_type { uses apply-advanced; leaf ais { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Alarm indicator signal"; } leaf ylw { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Yellow alarm"; } } // grouping chassis_alarm_ds1_type grouping chassis_alarm_ds3_type { uses apply-advanced; leaf ais { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Alarm indicator signal"; } leaf exz { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Excessive zeros"; } leaf ferf { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Far-end failure"; } leaf idle { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Idle alarm"; } leaf lcv { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Line code violation"; } leaf lof { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of frame"; } leaf los { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of signal"; } leaf pll { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Phase-locked loop out of lock"; } leaf ylw { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Yellow alarm"; } } // grouping chassis_alarm_ds3_type grouping chassis_alarm_ethernet_type { uses apply-advanced; leaf link-down { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Link has gone down"; } } // grouping chassis_alarm_ethernet_type grouping chassis_alarm_fibre-channel_type { uses apply-advanced; leaf link-down { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Link has gone down"; } } // grouping chassis_alarm_fibre-channel_type grouping chassis_alarm_integrated_services_type { uses apply-advanced; leaf failure { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Integrated Services failure"; } } // grouping chassis_alarm_integrated_services_type grouping chassis_alarm_otn_odu_type { uses apply-advanced; leaf odu-bdi { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "ODU backward-defect-indicator, ODU-BDI failure"; } leaf odu-ttim { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "ODU trail-trace-identifier-mismatch, ODU-TTIM failure"; } leaf odu-ptim { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "ODU payload-type-mismatch, ODU-PTIM failure"; } } // grouping chassis_alarm_otn_odu_type grouping chassis_alarm_otn_otu_type { uses apply-advanced; leaf oc-los { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of signal, LOS failure"; } leaf oc-lof { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of framing, LOF failure"; } leaf oc-lom { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of multiframe, LOM failure"; } leaf wavelength-lock { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Wavelength lock alarm"; } leaf otu-bdi { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "OTU backward-defect-indicator, OTU-BDI failure"; } leaf otu-iae { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "OTU incoming-alignment-error, OTU-IAE failure"; } leaf otu-ttim { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "OTU trail-trace-identifier-mismatch, OTU-TTIM failure"; } leaf otu-fec-excessive-errs { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "OTU fec-excessive-errors, OTU-FEC_EXE failure"; } } // grouping chassis_alarm_otn_otu_type grouping chassis_alarm_serial_type { uses apply-advanced; leaf loss-of-rx-clock { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "RX clock absent"; } leaf loss-of-tx-clock { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "TX clock absent"; } leaf dcd-absent { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "DCD signal absent"; } leaf cts-absent { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "CTS signal absent"; } leaf dsr-absent { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "DSR signal absent"; } leaf tm-absent { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "TM signal absent"; } } // grouping chassis_alarm_serial_type grouping chassis_alarm_services_type { uses apply-advanced; leaf pic-reset { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Services PIC reset"; } leaf pic-hold-reset { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Services PIC held in reset"; } leaf linkdown { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Services PIC linkdown"; } leaf rx-errors { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Services PIC excessive rx errors"; } leaf tx-errors { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Services PIC excessive tx errors"; } leaf sw-down { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Services PIC software problem"; } leaf hw-down { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Services PIC hardware problem"; } } // grouping chassis_alarm_services_type grouping chassis_alarm_sonet_type { uses apply-advanced; leaf lol { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of light"; } leaf pll { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Phase locked loop out of lock"; } leaf lof { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of framing, LOF failure"; } leaf los { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of signal, LOS failure"; } leaf ais-l { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Line alarm indication signal, AIS-L failure"; } leaf ais-p { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Path alarm indication signal, AIS-P failure"; } leaf lop-p { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of pointer, LOP-P failure"; } leaf ber-sd { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Signal Degrade (SD), bit error rate > 1E-6"; } leaf ber-sf { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Signal Fail (SF), bit error rate > 1E-3"; } leaf rfi-l { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Line remote failure indication, RFI-L, line FERF"; } leaf rfi-p { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Path remote failure indication, RFI-P, STS path yellow"; } leaf uneq-p { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "STS Path (C2) unequipped, UNEQ-P failure"; } leaf locd { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "Loss of cell delineation (ATM only)"; } leaf plm-p { type enumeration { enum "red" { value 0; description "Assert red system alarm"; } enum "yellow" { value 1; description "Assert yellow system alarm"; } enum "ignore" { value 2; description "Do not assert any alarm signals"; } } description "STS payload label (C2) mismatch, PLM-P failure"; } } // grouping chassis_alarm_sonet_type grouping chassis_fabric_type { uses apply-advanced; container event { description "Fabric events"; uses apply-advanced; container link-failure { presence "enable link-failure"; description "Fabric link failure"; uses apply-advanced; container action { presence "enable action"; description "Fabric action to be taken"; uses apply-advanced; } // container action } // container link-failure } // container event container oam { description "Fabric OAM configuration"; uses apply-advanced; } // container oam container redundancy-mode { description "Fabric redundancy mode"; uses apply-advanced; choice mode { leaf redundant { type empty; description "Fabric is configured in redundant mode"; } leaf increased-bandwidth { type empty; description "Fabric is configured in increased bandwidth mode"; } } // choice mode } // container redundancy-mode } // grouping chassis_fabric_type grouping chassis_feb_type { uses apply-advanced; container sanity-poll { description "FPC register sanity poll"; uses apply-advanced; leaf retry-count { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 30"; } } default "10"; description "Number of retries before reporting error"; } container on-error { description "Actions to be taken if inconsistencies are detected"; uses apply-advanced; leaf raise-alarm { type empty; description "Raise emergency alarm"; } leaf power { type enumeration { enum "cycle" { value 0; description "Write coredump and reboot FPC"; } enum "off" { value 1; description "Power down FPC indefinitely"; } } description "Power cycle or power off FPC"; } leaf write-coredump { type empty; description "Write coredump and continue"; } } // container on-error } // container sanity-poll } // grouping chassis_feb_type grouping chassis_fpc_type { leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "FPC slot number"; } uses apply-advanced; container auto-speed-detection { description "Disables auto-speed detection"; uses apply-advanced; choice auto-speed-detections { leaf disable { type empty; description "Disables automatic speed detection"; } } // choice auto-speed-detections } // container auto-speed-detection container forwarding-options { description "Configure options to control packet forwarding"; uses apply-advanced; choice uft_object { container l2-profile-one { presence "enable l2-profile-one"; description "MAC: 288K L3-host: 16K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container l2-profile-one container l2-profile-two { presence "enable l2-profile-two"; description "MAC: 224K L3-host: 80K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container l2-profile-two container l2-profile-three { presence "enable l2-profile-three"; description "(default) MAC: 160K L3-host: 144K LPM: 16K, needs reboot for VC;restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container l2-profile-three container l3-profile { presence "enable l3-profile"; description "MAC: 96K L3-host: 208K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container l3-profile container lpm-profile { presence "enable lpm-profile"; description "MAC: 32K L3-host: 16K LPM: 128K EM:0, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf prefix-65-127-disable { type empty; description "Disable IPV6 prefixes with length > 64"; } leaf unicast-in-lpm { type empty; description "Install unicast host entries in LPM table"; } } // container lpm-profile container exact-match-profile { presence "enable exact-match-profile"; description "MAC: 8K L3-host: 8K LPM: 16K EM: 64K, needs reboot for VC; restarts PFE if standalone"; uses apply-advanced; leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container exact-match-profile container vxlan-gbp-profile { presence "enable vxlan-gbp-profile"; description "MAC: 48K L3-host: 48K LPM: 16K EM:32K, needs reboot for VC; restarts PFE if standalone"; } // container vxlan-gbp-profile container custom-profile { description "(Partition the shared banks, will automatically restart the PFE when configured)"; uses apply-advanced; container l2-entries { description "Customize l2 entries needed"; uses apply-advanced; leaf num-banks { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "0"; description "Number of banks needed for entries of this type"; } } // container l2-entries container l3-entries { description "Customize l3 entries needed"; uses apply-advanced; leaf num-banks { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "0"; description "Number of banks needed for entries of this type"; } } // container l3-entries container exact-match-entries { description "Customize exact match entries needed"; uses apply-advanced; leaf num-banks { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "0"; description "Number of banks needed for entries of this type"; } } // container exact-match-entries container lpm-entries { description "Customize lpm banks needed"; uses apply-advanced; leaf num-banks { type enumeration { enum "0" { value 0; } enum "2" { value 1; } enum "4" { value 2; } } default "0"; description "Number of banks needed for entries of this type"; } leaf prefix-65-127-disable { type empty; description "Disable IPV6 prefixes with length > 64"; } } // container lpm-entries leaf num-65-127-prefix { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 4"; } } default "1"; description "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)"; } } // container custom-profile } // choice uft_object } // container forwarding-options list pic { key "name"; description "Physical Interface Card number"; uses chassis_pic_type; } // list pic leaf power { type enumeration { enum "off" { value 0; description "Do not provide power to FPCs"; } enum "on" { value 1; description "Provide power to FPCs"; } } description "Power FPCs on or off"; } leaf power-budget-priority { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "FPC priority number"; } choice mode { leaf disable-power { type empty; status deprecated; description "Do not provide power to the card"; } leaf allow-sram-parity-errors { type empty; description "Do not power cycle FPC when SRAM parity errors occur"; } } // choice mode choice riot-mode { case case_1 { } // case case_1 case case_2 { } // case case_2 } // choice riot-mode leaf cfp-to-et { type empty; description "Enable ET interface and remove CFP client"; } leaf offline { type empty; description "Keep FPC offline"; } list port-mirror-instance { key "name"; max-elements 2; ordered-by user; leaf name { junos:must "(!("forwarding-options port-mirroring instance $$ input-parameters-instance"))"; junos:must-message "Derived instance cannot be binded"; junos:must "(((!("chassis network-services lan") && ("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$")) || "chassis network-services lan"))"; junos:must-message "Referenced port-mirroring instance does not exist"; junos:must "(("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$"))"; junos:must-message "Referenced port-mirroring/analyzer instance does not exist"; type string { length "1 .. 64"; } description "Associate a port mirroring instance with the FPC"; } uses apply-advanced; } // list port-mirror-instance list sampling-instance { key "name"; max-elements 1; ordered-by user; leaf name { junos:must "("forwarding-options sampling instance $$")"; junos:must-message "Referenced sampling instance does not exist"; type string { length "1 .. 64"; } description "Associate a sampling instance with the FPC"; } uses apply-advanced; } // list sampling-instance container inline-services { uses apply-advanced; leaf report-zero-oif-gw-on-discard { type empty; description "Jflow reports value zero in OIF and GW when traffic is not forwarded"; } leaf flex-flow-sizing { junos:must "(!((".. flow-table-size ipv4-flow-table-size" || (".. flow-table-size ipv6-flow-table-size" || (".. flow-table-size vpls-flow-table-size" || (".. flow-table-size bridge-flow-table-size" || ".. flow-table-size mpls-flow-table-size"))))))"; junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive"; type empty; description "No fixed size allocation of flow tables for proto families"; } leaf use-extended-flow-memory { type empty; description "Use extended memory for flow records"; } container flow-table-size { uses apply-advanced; leaf ipv4-flow-table-size { junos:must "(!(".. .. flex-flow-sizing"))"; junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive"; type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 245"; } } description "IPv4 flow table size in units of 256k"; } leaf ipv6-flow-table-size { junos:must "(!(".. .. flex-flow-sizing"))"; junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive"; type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 245"; } } description "IPv6 flow table size in units of 256k"; } leaf vpls-flow-table-size { junos:must "(!(".. .. flex-flow-sizing"))"; junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive"; type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 245"; } } status deprecated; description "VPLS flow table size in units of 256k"; } leaf bridge-flow-table-size { junos:must "(!(".. .. flex-flow-sizing"))"; junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive"; junos:must "(!(".. vpls-flow-table-size"))"; junos:must-message "Both vpls-flow-table-size and bridge-flow-table-size can not be configured/allowed"; type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 245"; } } description "BRIDGE flow table size in units of 256k"; } leaf ipv6-extended-attrib { type empty; description "Enable extended flow attribute"; } leaf mpls-flow-table-size { junos:must "(!(".. .. flex-flow-sizing"))"; junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive"; type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 245"; } } description "MPLS flow table size in units of 256k"; } } // container flow-table-size } // container inline-services container inline-video-monitoring { uses apply-advanced; leaf maximum-flows-count { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "16 .. 8192"; } } status deprecated; description "Maximum number of inline video monitoring flows per PFE instance."; } leaf flow-table-size { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "16 .. 8192"; } } description "Size of flow table size per PFE instance"; } } // container inline-video-monitoring container slamon-services { description "SLA monitoring services"; uses apply-advanced; } // container slamon-services list pfe { key "name"; description "Packet forwarding engine parameters"; uses chassis_pfe_type; } // list pfe container openflow { description "Openflow configuration"; uses apply-advanced; leaf access-list-partition { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 100"; } } units "percents"; description "Space reserved for openflow access-list rules"; } } // container openflow } // grouping chassis_fpc_type grouping chassis_pfe_type { description "PFE(Packet forwarding engine)"; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "PFE(Packet forwarding engine) identifier"; } uses apply-advanced; container forwarding-packages { description "Associated forwarding package configuration"; uses apply-advanced; container mobility { description "Mobility related PFE configuration"; uses apply-advanced; choice package-type { leaf user-plane { type empty; description "User plane function"; } } // choice package-type } // container mobility } // container forwarding-packages leaf power { type enumeration { enum "off" { value 0; description "Power off PFE"; } enum "on" { value 1; description "Power on PFE"; } } description "Power PFEs on or off"; } leaf tunnel-services { type empty; description "Tunnel services configuration"; } } // grouping chassis_pfe_type grouping chassis_pic_type { leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "PIC slot number"; } uses apply-advanced; leaf pic-mode { type enumeration { enum "1G" { value 0; description "1GE mode"; } enum "10G" { value 1; description "10GE mode"; } enum "25G" { value 2; description "25GE mode"; } enum "40G" { value 3; description "40GE mode"; } enum "50G" { value 4; description "50GE mode"; } enum "100G" { value 5; description "100GE mode"; } enum "400G" { value 6; description "400GE mode"; } } description "PIC mode configuration"; } list tunnel-port { key "name"; description "Tunnel port number"; uses chassis_port_type; } // list tunnel-port container tunnel-services { junos:must "(!(".. traffic-manager single-stream"))"; junos:must-message "Cannot configure tunnel-services if single-stream is configured"; presence "enable tunnel-services"; description "Tunnel services configuration"; uses apply-advanced; leaf bandwidth { type string; description "Amount of bandwidth reserved for tunnel service"; } leaf tunnel-only { type empty; description "Support only tunnel traffic"; } list tunnel-port { key "name"; ordered-by user; description "Tunnel port number"; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "Port number"; } uses apply-advanced; leaf bandwidth { type string; description "Amount of bandwidth reserved for tunnel service"; } } // list tunnel-port } // container tunnel-services choice adaptive-or-monitoring { case case_1 { } // case case_1 container monitoring-services { description "Monitoring services configuration"; uses apply-advanced; leaf application { type enumeration { enum "dynamic-flow-capture" { value 0; description "Dynamic flow capture mode"; } enum "flow-collector" { value 1; description "Flow collector mode"; } enum "monitor" { value 2; description "Monitor mode"; } } description "Application mode"; } } // container monitoring-services } // choice adaptive-or-monitoring leaf framing { type enumeration { enum "sonet" { value 0; description "SONET mode"; } enum "sdh" { value 1; description "SDH mode"; } enum "t3" { value 2; description "T3 mode"; } enum "e3" { value 3; description "E3 mode"; } enum "t1" { value 4; description "T1 mode"; } enum "e1" { value 5; description "E1 mode"; } enum "lan" { value 6; description "LAN mode"; } } description "Framing mode"; } leaf vtmapping { type enumeration { enum "klm" { value 0; description "KLM mode"; } enum "itu-t" { value 1; description "ITU-T mode"; } } description "Virtual tunnel mapping mode"; } leaf no-concatenate { type empty; description "Do not concatenate channels"; } leaf no-multi-rate { type empty; description "Disable multi-rate mode"; } leaf speed { type enumeration { enum "1G" { value 0; description "1GE-Gigabit Ethernet"; } } description "Port speed"; } leaf aggregate-ports { type empty; description "Aggregate multiple ports on a PIC as a single port"; } leaf number-of-ports { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "Number of physical ports to enable on PIC"; } leaf power { type enumeration { enum "off" { value 0; description "Do not provide power to PIC"; } } description "Power off PIC"; } leaf sparse-dlcis { type empty; description "Run in sparse data-link connection identifier mode"; } container q-pic-large-buffer { presence "enable q-pic-large-buffer"; description "Run in large delay buffer mode"; uses apply-advanced; choice buffer-type { leaf small-scale { type empty; description "Supports less number of interfaces"; } leaf large-scale { type empty; description "Supports large number of interfaces"; } } // choice buffer-type } // container q-pic-large-buffer container red-buffer-occupancy { description "Computation type for RED buffer occupancy"; uses apply-advanced; container weighted-averaged { presence "enable weighted-averaged"; description "Weighted-average computation"; uses apply-advanced; leaf instant-usage-weight-exponent { type union { type uint8; type string { pattern "<.*>|$.*"; } } description "Weight for instant buffer usage (negative exponent of 2)"; } } // container weighted-averaged } // container red-buffer-occupancy container traffic-manager { description "Configure traffic manager attributes"; uses apply-advanced; leaf ingress-shaping-overhead { type union { type string { pattern "<.*>|$.*"; } type int32 { range "-62 .. 192"; } } units "bytes"; description "Number of CoS shaping overhead bytes in ingress"; } leaf egress-shaping-overhead { type union { type string { pattern "<.*>|$.*"; } type int32 { range "-62 .. 192"; } } units "bytes"; description "Number of CoS shaping overhead bytes in egress"; } leaf mode { type enumeration { enum "egress-only" { value 0; description "Egress traffic manager enabled, ingress traffic manager disabled"; } enum "session-shaping" { value 1; description "Enable egress session shaping"; } enum "ingress-and-egress" { value 2; description "Enable the ingress and egress traffic managers"; } } description "Configure traffic manager mode"; } } // container traffic-manager container idle-cell-format { description "ATM idle cell configuration"; uses apply-advanced; leaf itu-t { type empty; description "ITU-T idle cell header format"; } leaf payload-pattern { type string; description "Payload pattern byte (0x00-0xff)"; } } // container idle-cell-format container atm-l2circuit-mode { description "Enable ATM Layer 2 circuit transport mode"; uses apply-advanced; choice mode_choice { leaf aal5 { type empty; description "ATM Layer 2 circuit AAL5 mode"; } leaf cell { type empty; description "ATM Layer 2 circuit cell mode"; } container trunk { presence "enable trunk"; description "Set ATM Layer 2 circuit trunk mode"; uses apply-advanced; choice trunk-mode { container uni { presence "enable uni"; description "ATM Layer 2 circuit user-to-network interface trunk mode"; uses apply-advanced; } // container uni container nni { presence "enable nni"; description "ATM Layer 2 circuit network-to-network interface trunk mode"; uses apply-advanced; } // container nni } // choice trunk-mode } // container trunk } // choice mode_choice } // container atm-l2circuit-mode leaf atm-cell-relay-accumulation { type empty; description "Enable ATM cell-relay accumulation mode"; } leaf mlfr-uni-nni-bundles { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 255"; } } description "Number of multilink Frame Relay UNI NNI (FRF.16) bundles to allocate on PIC"; } leaf mlfr-uni-nni-bundles-inline { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 255"; } } description "Number of inline multilink frame relay UNI NNI bundles"; } container ct3 { description "CT3 NxDS0 PIC configuration"; uses apply-advanced; list port { key "name"; description "CT3 port"; uses ct3_port_type; } // list port } // container ct3 container ce1 { description "CE1 NxDS0 PIC configuration"; uses apply-advanced; list e1 { key "name"; description "E1 link"; uses ce1_channel_type; } // list e1 } // container ce1 leaf max-queues-per-interface { type enumeration { enum "4" { value 0; description "Maximum 4 queues per interface"; } enum "8" { value 1; description "Maximum 8 queues per interface"; } } description "Maximum number of queues per interface on QOS-capable PIC"; } container shdsl { description "SHDSL chassis configuration"; uses apply-advanced; leaf pic-mode { type enumeration { enum "1-port-atm" { value 0; description "Single port ATM, 8 wire mode"; } enum "2-port-atm" { value 1; description "Two port ATM, 4 wire mode"; } enum "4-port-atm" { value 2; description "Four port ATM, 2 wire mode"; } enum "efm" { value 3; description "Single port EFM, 2 wire mode"; } } default "2-port-atm"; description "PIC mode"; } } // container shdsl list port-mirror-instance { key "name"; max-elements 2; ordered-by user; leaf name { junos:must "(!("forwarding-options port-mirroring instance $$ input-parameters-instance"))"; junos:must-message "Derived instance cannot be binded"; junos:must "(((!("chassis network-services lan") && ("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$")) || "chassis network-services lan"))"; junos:must-message "Referenced port-mirroring instance does not exist"; junos:must "(("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$"))"; junos:must-message "Referenced port-mirroring/analyzer instance does not exist"; type string { length "1 .. 64"; } description "Associate a port mirroring instance with the PIC"; } uses apply-advanced; } // list port-mirror-instance list port { key "name"; description "Port number"; uses chassis_pic_port_framing; } // list port container fibre-channel { description "Fibre channel configuration option"; uses chassis_fibre_channel_type; } // container fibre-channel list qsfp-port { key "name"; description "Qsfp port to configure"; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 1"; } } description "Port-group 0:'0-3' 1:'4-7'"; } uses apply-advanced; leaf port-mode { type enumeration { enum "40g" { value 0; description "40G mode"; } enum "10g" { value 1; description "10G mode"; } } description "Select mode for port-group"; } } // list qsfp-port container sfpplus { description "Sfpplus configuration option"; uses apply-advanced; leaf pic-mode { type enumeration { enum "1g" { value 0; description "1G SFP mode"; } enum "10g" { value 1; description "10G SFP+ mode"; } } description "PIC mode"; } } // container sfpplus } // grouping chassis_pic_type grouping ce1_channel_type { leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 9"; } } description "E1 link number"; } uses apply-advanced; list channel-group { key "name"; description "Define channel group"; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 23"; } } description "Channel group number"; } leaf timeslots { type string; description "DS0 timeslots (1..31); for example, 1-3,4,9,22-24 (no spaces)"; } } // list channel-group } // grouping ce1_channel_type grouping chassis_fibre_channel_type { description "Fibre channel configuration option"; uses apply-advanced; list port-range { key "port-range-low port-range-high"; ordered-by user; description "Fibre channel port range"; leaf port-range-low { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 47"; } } description "Port range low number"; } leaf port-range-high { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 47"; } } description "Port range high number"; } uses apply-advanced; } // list port-range } // grouping chassis_fibre_channel_type grouping chassis_pic_port_framing { leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "Port number"; } uses apply-advanced; leaf framing { type enumeration { enum "sonet" { value 0; description "SONET mode"; } enum "sdh" { value 1; description "SDH mode"; } enum "t3" { value 2; description "T3 mode"; } enum "e3" { value 3; description "E3 mode"; } enum "t1" { value 4; description "T1 mode"; } enum "e1" { value 5; description "E1 mode"; } } description "Framing mode"; } leaf number-of-sub-ports { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "Number of subports per physical port"; } leaf speed { junos:must "(!((".. .. pic-mode" || ".. .. number-of-ports")))"; junos:must-message " speed config can neither co-exist with pic <> number-of-ports <> nor pic <> pic-mode config"; type enumeration { enum "oc3-stm1" { value 0; description "OC3 or STM1"; } enum "oc12-stm4" { value 1; description "OC12 or STM4"; } enum "oc48-stm16" { value 2; description "OC48 or STM16"; } enum "1G" { value 3; description "1GE-Gigabit Ethernet"; } enum "10g" { value 4; description "Sets the interface mode to 10Gbps"; } enum "25g" { value 5; description "Sets the interface mode to 25Gbps"; } enum "40g" { value 6; description "Sets the interface mode to 40Gbps"; } enum "100g" { value 7; description "Sets the interface mode to 100Gbps"; } enum "50g" { value 8; description "Sets the interface mode to 50Gbps"; } enum "200g" { value 9; description "Sets the interface mode to 200 Gbps"; } enum "400g" { value 10; description "Sets the interface mode to 400Gbps"; } } description "Port speed"; } leaf channel-speed { type enumeration { enum "10g" { value 0; description "Set the port speed to 10G. This will restart PFE on some platforms."; } enum "25g" { value 1; description "Set the port speed to 25G."; } enum "50g" { value 2; description "Set the port speed to 50G."; } enum "disable-auto-speed-detection" { value 3; description "Disables automatic speed detection"; } } description "Port channel speed"; } } // grouping chassis_pic_port_framing grouping chassis_port_type { leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 47"; } } description "Port number for tunnel services"; } uses apply-advanced; leaf tunnel-services { type empty; description "Tunnel services configuration"; } } // grouping chassis_port_type grouping chassis_redundancy_type { uses apply-advanced; list routing-engine { key "name"; description "Redundancy options for Routing Engines"; uses chassis_rdd_re_type; } // list routing-engine container failover { description "Failover to other Routing Engine"; uses chassis_rdd_failover_type; } // container failover leaf keepalive-time { junos:must "(!("chassis redundancy graceful-switchover"))"; junos:must-message "Graceful switchover configured, cannot change the default keepalive interval"; type union { type string { pattern "<.*>|$.*"; } type uint32 { range "2 .. 10000"; } } units "seconds"; description "Time before Routing Engine failover"; } container graceful-switchover { junos:must "(!((any "chassis fpc <*> pic <*> monitoring-services application" && "chassis redundancy graceful-switchover")))"; junos:must-message "Graceful Switchover is not supported on monitoring-services application"; presence "enable graceful-switchover"; description "Enable graceful switchover on supported hardware"; uses chassis_non_stop_forwarding_type; } // container graceful-switchover } // grouping chassis_redundancy_type grouping chassis_non_stop_forwarding_type { junos:must "((!("system inet6-backup-router") || "system inet6-backup-router destination"))"; junos:must-message "Please define destination subnet with the inet6-backup-router configuration"; junos:must "((!("system backup-router") || "system backup-router destination"))"; junos:must-message "Please define destination subnet with the backup-router configuration"; uses apply-advanced; container traceoptions { status deprecated; description "Graceful switchover trace options"; uses apply-advanced; list flag { key "name"; ordered-by user; description "Tracing parameters"; leaf name { type enumeration { enum "update" { value 0; description "Trace state updates"; } enum "all" { value 1; description "Trace everything"; } } } } // list flag } // container traceoptions } // grouping chassis_non_stop_forwarding_type grouping chassis_rdd_failover_type { uses apply-advanced; container category { presence "enable category"; description "Failover category"; uses chassis_rdd_fail_cat_type; } // container category leaf on-loss-of-keepalives { type empty; description "Failover on loss of keepalives"; } leaf on-re-to-fpc-stale { type empty; description "Failover on loss of communication between the re and fpc"; } leaf on-disk-failure { junos:must "(("chassis redundancy failover on-loss-of-keepalives" || "chassis redundancy graceful-switchover"))"; junos:must-message "Option on-loss-of-keepalives or graceful-switchover must be set"; type empty; description "Failover on disk failure"; } leaf not-on-disk-underperform { type empty; description "Prevent gstatd from initiating failovers in response to slow disks"; } leaf disk-read-threshold { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1000 .. 10000"; } } description "Read threshold (ms) on disk underperform monitoring"; } leaf disk-write-threshold { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1000 .. 10000"; } } description "Write threshold (ms) on disk underperform monitoring"; } leaf on-loss-of-vm-host-connection { type empty; description "Failover on loss of vm host connection"; } } // grouping chassis_rdd_failover_type grouping chassis_rdd_fail_cat_type { uses apply-advanced; container component-failure { presence "enable component-failure"; description "Failover due to component failure"; uses chassis_rdd_fail_cat_sev_type; } // container component-failure container software-failure { presence "enable software-failure"; description "Failover due to software failure"; uses chassis_rdd_fail_cat_sev_type; } // container software-failure container power-failure { presence "enable power-failure"; description "Failover due to power failure"; uses chassis_rdd_fail_cat_sev_type; } // container power-failure container clock-failure { presence "enable clock-failure"; description "Failover due to clock failure"; uses chassis_rdd_fail_cat_sev_type; } // container clock-failure container link-failure { presence "enable link-failure"; description "Failover due to link failure"; uses chassis_rdd_fail_cat_sev_type; } // container link-failure container degraded-health { presence "enable degraded-health"; description "Failover due to degraded health"; uses chassis_rdd_fail_cat_sev_type; } // container degraded-health } // grouping chassis_rdd_fail_cat_type grouping chassis_rdd_fail_cat_sev_type { uses apply-advanced; container critical { presence "enable critical"; description "Critical severity"; uses chassis_rdd_fail_cat_sev_act_type; } // container critical container important { presence "enable important"; description "Important severity"; uses chassis_rdd_fail_cat_sev_act_type; } // container important } // grouping chassis_rdd_fail_cat_sev_type grouping chassis_rdd_fail_cat_sev_act_type { uses apply-advanced; leaf disable { type empty; description "Disable action"; } } // grouping chassis_rdd_fail_cat_sev_act_type grouping chassis_rdd_re_type { leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 1"; } } description "Routing Engine slot number"; } choice priority { leaf master { type empty; description "Master Routing Engine"; } leaf backup { type empty; description "Backup Routing Engine"; } leaf disabled { type empty; description "Routing Engine disabled"; } } // choice priority } // grouping chassis_rdd_re_type grouping chassis_routing_engine_type { uses apply-advanced; container on-disk-failure { description "Action to take when Routing Engine disk fails"; uses chassis_re_on_disk_failure; } // container on-disk-failure container disk { description "Action to take for Routing Engine disk"; uses apply-advanced; leaf write-threshold-rate { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 20"; } } units "MBPS"; default "4"; description "Write threshold rate"; } leaf write-threshold-duration { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "300 .. 2592000"; } } units "seconds"; default "1000"; description "Write threshold duration"; } leaf smart-check { type empty; description "Enable smart check command to disk"; } list ssd-series { key "name"; ordered-by user; description "Specify the ssd vendor series"; leaf name { type string { length "1 .. 40"; } description "SSD series name"; } uses apply-advanced; list id { key "name"; max-elements 30; ordered-by user; description "Attribute ids to monitor of this series type"; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 255"; } } description "SSD smart attribute id"; } uses apply-advanced; leaf id-threshold { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 4294967295"; } } description "SSD smart attribute threshold"; } leaf id-value { type enumeration { enum "raw" { value 0; description "Raw value to be used for this smart id"; } enum "norm" { value 1; description "Normalised value to be used for this smart id"; } } description "SSD attribute value"; } leaf id-flag { type enumeration { enum "low" { value 0; description "Check if value is less than smart threshold"; } enum "high" { value 1; description "Check if value is greater than smart threshold"; } } description "SSD attribute flag"; } } // list id } // list ssd-series } // container disk } // grouping chassis_routing_engine_type grouping chassis_re_on_disk_failure { choice reboot_or_halt { leaf reboot { type empty; status deprecated; description "Reboot on disk failure"; } leaf disk-failure-action { type enumeration { enum "reboot" { value 0; description "Reboot on disk failure"; } enum "halt" { value 1; description "Halt on disk failure"; } } } } // choice reboot_or_halt } // grouping chassis_re_on_disk_failure grouping chassis_sib_type { uses apply-advanced; } // grouping chassis_sib_type grouping chassisd_agg_container_type { uses apply-advanced; leaf device-count { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 128"; } } description "Number of container devices"; } } // grouping chassisd_agg_container_type grouping chassisd_agg_enet_type { uses apply-advanced; leaf device-count { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "Number of aggregated Ethernet devices"; } container lacp { description "Global Link Aggregation Control Protocol configuration"; uses apply-advanced; leaf system-priority { type string; description "Priority of the system (0 ... 65535)"; } container link-protection { presence "enable link-protection"; uses apply-advanced; leaf non-revertive { type empty; description "Don't revert links when better priority link comes up"; } } // container link-protection } // container lacp } // grouping chassisd_agg_enet_type grouping chassisd_agg_pos_type { uses apply-advanced; leaf device-count { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 64"; } } description "Number of aggregated SONET devices"; } } // grouping chassisd_agg_pos_type grouping chassisd_provider_instance_type { uses apply-advanced; leaf device-count { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 16"; } } description "Number of provider instance port devices"; } } // grouping chassisd_provider_instance_type grouping ct3_port_type { leaf name { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 1"; } } description "CT3 L2NG_PRODUCTSport number"; } uses apply-advanced; list t1 { key "name"; description "T1 link"; uses ct3_channel_type; } // list t1 } // grouping ct3_port_type grouping ct3_channel_type { leaf name { type union { type string { pattern "<.*>|$.*"; } type int32 { range "0 .. 27"; } } description "T1 link number"; } uses apply-advanced; list channel-group { key "name"; description "Define channel group"; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 7"; } } description "Channel group number"; } leaf timeslots { type string; description "DS0 timeslots (1..24); for example, 1-3,4,9,22-24 (no spaces)"; } } // list channel-group } // grouping ct3_channel_type grouping juniper-protected-system-domain { description "Protected system domain configuration"; leaf name { type string { junos:posix-pattern "^psd([1-9]|[1-2][0-9]|[3][0-1])$"; junos:pattern-message "Protected system domain name is a string consisting of 'psd' follows by the PSD ID (1-31), ex. psd2"; } description "Name of protected system domain (psd[1-31], ex. psd2)"; } uses apply-advanced; leaf description { type string; description "Description of protected system domain"; } list lcc { key "name"; leaf name { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "Specific LCC"; } uses apply-advanced; leaf-list fpcs { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "FPC associated with protected system domain"; } } // list lcc leaf control-system-id { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 4"; } } description "Control system identifier"; } leaf-list control-slot-numbers { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "1 .. 12"; } } max-elements 2; ordered-by user; description "Slots associated with protected system domain"; } leaf control-plane-bandwidth-percent { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "0 .. 100"; } } units "percent"; description "Percentage of control plane bandwidth"; } } // grouping juniper-protected-system-domain grouping juniper-protected-system-domain-traceoptions { description "Protected system domain traceoptions"; uses apply-advanced; leaf no-remote-trace { junos:must "("system tracing")"; junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured"; type empty; description "Disable remote tracing"; } container file { description "Trace file information"; leaf filename { type string { junos:posix-pattern "![/ %]"; junos:pattern-message "Must not contain '/', % or a space"; length "1 .. 1024"; } description "Name of file in which to write trace information"; } leaf size { type string; description "Maximum trace file size"; } leaf files { type union { type string { pattern "<.*>|$.*"; } type uint32 { range "2 .. 1000"; } } default "3"; description "Maximum number of trace files"; } choice world-readable-choice { leaf world-readable { type empty; description "Allow any user to read the log file"; } leaf no-world-readable { type empty; description "Don't allow any user to read the log file"; } } // choice world-readable-choice leaf match { type jt:regular-expression; description "Regular expression for lines to be logged"; } } // container file leaf level { type enumeration { enum "error" { value 0; description "Match error conditions"; } enum "warning" { value 1; description "Match warning messages"; } enum "notice" { value 2; description "Match conditions that should be handled specially"; } enum "info" { value 3; description "Match informational messages"; } enum "verbose" { value 4; description "Match verbose messages"; } enum "all" { value 5; description "Match all levels"; } } default "error"; description "Level of debugging output"; } list flag { key "name"; ordered-by user; description "Tracing parameters"; leaf name { type enumeration { enum "configuration" { value 0; description "Trace configuration events"; } enum "rtsock" { value 1; description "Trace rtsock messages"; } enum "ipc" { value 2; description "Trace IPC messages"; } enum "init" { value 3; description "Trace intialization messages"; } enum "psd" { value 4; description "Trace psd messages"; } enum "all" { value 5; description "Trace everything"; } } } } // list flag } // grouping juniper-protected-system-domain-traceoptions grouping macro-data-type { leaf name { type string; description "Keyword part of the keyword-value pair"; } leaf value { type string; description "Value part of the keyword-value pair"; } } // grouping macro-data-type grouping upgrade-group-fpcs { description "Upgrade group fpcs"; leaf name { type union { type string { pattern "<.*>|$.*"; } type int32; } description "Member identifier"; } uses apply-advanced; leaf-list fpcs { type union { type string { pattern "<.*>|$.*"; } type uint32; } description "FPCs to be upgraded as a group in this member"; } } // grouping upgrade-group-fpcs } // module junos-ex-conf-chassis
© 2023 YumaWorks, Inc. All rights reserved.