Global configuration.
Version: 2021-01-06
module huawei-devm { yang-version 1; namespace "urn:huawei:yang:huawei-devm"; prefix devm; import huawei-pub-type { prefix pub-type; } import ietf-yang-types { prefix yang; } import huawei-extension { prefix ext; } include huawei-devm-action; include huawei-devm-type; organization "Huawei Technologies Co., Ltd."; contact "Huawei Industrial Base Bantian, Longgang Shenzhen 518129 People's Republic of China Website: http://www.huawei.com Email: support@huawei.com"; description "Global configuration."; revision "2021-01-06" { description "Modify huawei-devm-type."; reference "Huawei private."; } revision "2020-11-27" { description "Modify leaf vendor-type data type."; reference "Huawei private."; } revision "2020-08-07" { description "Add container active-hardware-alarm-infos and history-hardware-alarm-infos."; reference "Huawei private."; } revision "2020-06-04" { description "Add units of up-to-last-clean, alarm-exist-days, enable-transmission-delay and physical-bandwidth. Modify operation-exclude for list chassis, mpu-board, lpu-board, card and port. Delete leaf current-id, next-id, current-run-mode and next-run-mode. Modify the description of port position."; reference "Huawei private."; } revision "2020-05-07" { description "Modify spelling errors."; reference "Huawei private."; } revision "2020-04-10" { description "Modify description warnings."; reference "Huawei private."; } revision "2020-03-17" { description "Modify description warnings and delete the countiner optical-info."; reference "Huawei private."; } revision "2020-03-11" { description "Add a new countiner optical-info which mainly describes the information of the optical transceiver."; reference "Huawei private."; } revision "2020-02-29" { description "Modify syntax errors."; reference "Huawei private."; } revision "2020-02-14" { description "Add operation-exclude for list chassis, mpu-board, lpu-board, card and port. Modify the units of dust-clean-cycle from days to d."; reference "Huawei private."; } revision "2019-09-09" { description "Add new leafs."; reference "Huawei private."; } revision "2019-04-05" { description "Initial revision."; reference "Huawei private."; } ext:task-name "device-mgr"; container devm { description "Global configuration."; container physical-entitys { config false; status deprecated; description "List of physical entities."; list physical-entity { key "class position serial-number"; config false; status deprecated; description "Operational data of physical entities."; leaf class { type entity-class-type; config false; status deprecated; description "Entity class."; } leaf position { type string { length "1..32"; } config false; status deprecated; description "Entity position."; } leaf serial-number { type string { length "0..32"; } config false; status deprecated; description "Entity number."; } leaf index { type uint32; config false; status deprecated; description "Entity index."; } leaf chassis-index { type uint32; config false; status deprecated; description "Chassis index."; } leaf board-index { type uint32; config false; status deprecated; description "Board index."; } leaf name { type string { length "0..128"; } config false; status deprecated; description "Entity name."; } leaf entity-description { type string { length "0..256"; } config false; status deprecated; description "Entity description."; } leaf alias { type string { length "0..128"; } config false; status deprecated; description "Entity alias."; } leaf vendor-type { type string { length "0..30"; } config false; status deprecated; description "Type of a hardware entity."; } leaf contained-index { type uint32; config false; status deprecated; description "Information about the parent index of an entity."; } leaf parent-relative-position { type uint32; config false; status deprecated; description "Position of an entity relative to its parent entity."; } leaf hardware-version { type string { length "0..128"; } config false; status deprecated; description "Hardware version."; } leaf firmware-version { type string { length "0..128"; } config false; status deprecated; description "Firmware version."; } leaf software-version { type string { length "0..128"; } config false; status deprecated; description "Software version."; } leaf module-name { type string { length "0..128"; } config false; status deprecated; description "Module name."; } leaf is-fru { type boolean; config false; status deprecated; description "Whether the entity a replaceable unit."; } leaf admin-state { type entity-admin-state; config false; status deprecated; description "Administration state (read-only)."; } leaf running-state { type entity-oper-state-type; config false; status deprecated; description "Running state of an entity (read-only)."; } leaf standby-state { type entity-standby-state; config false; status deprecated; description "Active/standby state."; } leaf system-oid { type string { length "1..128"; } config false; status deprecated; description "Entity OID."; } leaf ls-name { type string { length "1..32"; } config false; status deprecated; description "The LS name of the entity."; } } // list physical-entity } // container physical-entitys container logic-entitys { description "List of information about logical entity."; list logic-entity { key "class position serial-number"; description "Configure information about a logical entity."; leaf class { type entity-class-type; description "Entity class."; } leaf position { type pub-type:position; description "Entity position."; } leaf serial-number { type string { length "0..32"; } description "Entity number."; } leaf vendor-type { type string { length "0..30"; } description "Type of a hardware entity."; } leaf name { type string { length "0..128"; } config false; description "Entity name."; } leaf entity-description { type string { length "0..256"; } config false; description "Entity description."; } leaf index { type uint32; config false; description "Entity index."; } leaf oper-state { type entity-oper-state-type; config false; description "Operation state of an entity (read-only)."; } leaf parent-index { type uint32; config false; description "Information about the parent index of an entity."; } leaf parent-relative-position { type uint32; config false; description "Position of an entity relative to its parent entity."; } leaf memo { type string { length "0..256"; } description "Chassis Description."; } } // list logic-entity } // container logic-entitys container chassiss { ext:operation-exclude "create"; description "List of chassis."; list chassis { ext:operation-exclude "create"; ext:generated-by "system"; key "position"; description "Specify chassis."; leaf position { type string { length "1..32"; } description "Chassis position."; } leaf index { type uint32; config false; description "Chassis index."; } leaf type { type string { length "0..30"; } config false; description "Chassis type."; } leaf service-type { type string { length "0..30"; } config false; description "Chassis service type."; } leaf slot-num { type uint32; config false; description "Number of slots on a chassis."; } leaf board-num { type uint32; config false; description "Number of boards on a chassis."; } leaf fan-num { type uint32; config false; description "Number of fans on a chassis."; } leaf power-num { type uint32; config false; description "Number of power modules for a chassis."; } leaf up-time { type pub-type:time-tick; config false; description "Running time of a chassis."; } leaf status-last-change { type pub-type:time-tick; config false; description "Time when the entity running status last changed."; } leaf entity-last-change { type pub-type:time-tick; config false; description "Time when the entity on chassis last changed."; } leaf dust-clean-cycle { type uint32 { range "0..65535"; } units "d"; default "90"; description "Interval at which air filter dust is cleaned."; } leaf last-clean-date { type string { length "1..128"; } config false; description "Date when dust was last cleaned."; } leaf up-to-last-clean { type uint32 { range "0..4294967295"; } units "d"; default "0"; config false; description "Time past since dust was last cleaned."; } leaf alarm-exist-days { type uint32 { range "0..4294967295"; } units "d"; default "0"; config false; description "Alarm existence days."; } container monitor-board-changes { config false; description "List of time when board status changes."; list monitor-board-change { key "board-index"; config false; description "Operational data of time when the status of a board changes."; leaf board-index { type uint32; config false; description "Board index."; } leaf status-last-change { type pub-type:time-tick; config false; description "Time when the board running status changes."; } leaf entity-last-change { type pub-type:time-tick; config false; description "Time when the board entity changes."; } } // list monitor-board-change } // container monitor-board-changes container fan-attribute { must "((./workmode='manual' or ./workmode='minimum-percent') and ./speed) or ((./workmode!='manual' and ./workmode!='minimum-percent') and not(./speed))"; description "Configure the working mode and speed of the fan."; leaf workmode { type fan-workmode; default "auto"; description "Fan working mode."; } leaf speed { ext:dynamic-default; type uint32 { range "0..100"; } units "%"; description "Fan speed which is a percentage of the highest speed and the range of value changes with the workmode and the hardtype of fan. The current range is determined by combining the minimum and maximum values of all cases."; } } // container fan-attribute container power-supply-attribute { description "Configure power supply information."; leaf pm-output-limit { type uint32 { range "0..4294967295"; } units "W"; default "0"; description "PM output limited value. The value range of this parameter is dynamically determined by the rated power, used power, and number of PMs."; } leaf pm-input-voltage-110 { ext:dynamic-default; type driver-bool; description "Set pm input voltage 110V. The input voltage 110V mode of the PM can be set only when the power supply type is PHD-3000W or PAC-2700W or PAH-3000W."; } leaf power-supply-mode { type pwr-supply-mode-type; default "standard"; description "Power supply mode."; } leaf power-supply-input { when "../power-supply-mode='assign'"; type uint32 { range "0..11200"; } units "W"; description "Power supply input power. The value range of this parameter is dynamically determined by the rated power, used power, and number of power supply partitions."; } leaf power-supply-temp { when "../power-supply-mode='standard'"; type pwr-supply-temp-type; default "temphigh"; description "Chassis Working Temperature. Some temperature modes are not supported on specific device models or in specific scenarios."; } leaf power-supply-limit { type uint32 { range "1..4294967295"; } units "W"; config false; description "Limit Power."; } leaf power-supply-alarm-limit { type uint32 { range "1..4294967295"; } units "W"; config false; description "Alarm Limit Power."; } leaf power-supply-assigned { type uint32; units "W"; default "0"; config false; description "Assigned Power."; } leaf power-supply-assigned-utility { type string { length "1..255"; } default "0"; config false; description "Assigned Power Utility."; } leaf power-supply-left { type int32; units "W"; default "0"; config false; description "Left Power."; } leaf power-supply-real { type uint32; units "W"; config false; description "Real Power."; } leaf power-supply-real-utility { type string { length "1..255"; } default "0"; config false; description "Real Power Utility."; } } // container power-supply-attribute container dustproof-attribute { description "Configure the state of checking dustproof gate."; leaf dustproofcheck { type dustproof-gate-state; default "enable"; description "The state of checking dustproof gate."; } leaf dustproof-delay-time { type uint32 { range "0..480"; } units "min"; default "30"; description "The alarm delay time of checking dustproof gate."; } } // container dustproof-attribute container chassis-id { config false; description "Statistics of chassis ID."; leaf current-id { type uint32 { range "1..8"; } description "Current chassis ID."; } leaf next-id { type uint32 { range "1..8"; } description "Chassis ID to be used at the next startup."; } } // container chassis-id container chassis-run-mode { config false; description "Statistics of chassis run mode."; leaf current-run-mode { type driver-run-mode-type; description "Current chassis operating mode."; } leaf next-run-mode { type driver-run-mode-type; description "Chassis operating mode to be used at the next startup."; } } // container chassis-run-mode container pm-input-attribute { config false; description "Statistics of pm input mode."; leaf pm-input-mode { type get-pm-input-mode-type; description "Pm input mode."; } } // container pm-input-attribute } // list chassis } // container chassiss container logic-containers { config false; description "List of logic slot."; list logic-container { key "position"; config false; description "Operational data of logic slot."; leaf position { type string { length "0..32"; } config false; description "Slot position."; } leaf index { type uint32; config false; description "Slot index."; } leaf container-type { type container-class-type; config false; description "Slot type."; } leaf equiped-entity-type { type hardware-type; config false; description "Type of an installed entity."; } container supported-entity-types { config false; description "List of supported entity types."; list supported-entity-type { key "entity-type"; config false; description "Statistics of supported entity types."; leaf entity-type { type hardware-type; config false; description "Type of an equipped entity."; } } // list supported-entity-type } // container supported-entity-types } // list logic-container } // container logic-containers container containers { config false; description "List of slot."; list container { key "position"; config false; description "Operational data of slot."; leaf position { type string { length "1..32"; } config false; description "Slot position."; } leaf index { type uint32; config false; description "Slot index."; } leaf type { type string { length "0..30"; } config false; description "Slot type."; } leaf equiped-entity-type { type string { length "0..30"; } config false; description "Type of an equipped entity."; } leaf present { type present-status; config false; description "Present status of a container."; } container supported-entity-types { config false; description "List of supported entity types."; list supported-entity-type { key "entity-type"; config false; description "Statistics of supported entity types."; leaf entity-type { type string { length "0..30"; } config false; description "Type of an equipped entity."; } } // list supported-entity-type } // container supported-entity-types } // list container } // container containers container mpu-boards { ext:operation-exclude "create"; description "List of MPU."; list mpu-board { ext:operation-exclude "create"; ext:generated-by "system"; key "position"; description "Specify MPU."; leaf position { type string { length "1..32"; } description "MPU position."; } leaf index { type uint32; config false; description "MPU index."; } leaf board-type { type string { length "0..30"; } config false; description "MPU type."; } leaf up-time { type pub-type:time-tick; config false; description "MPU running time, expressed in the number of timeticks."; } leaf sdram-size { type uint32; units "MByte"; config false; description "SDRAM size."; } leaf nvram-size { type uint32; units "MByte"; config false; description "NVRAM size."; } leaf flash-size { type uint32; units "MByte"; config false; description "Flash size."; } leaf ls-role { type board-role-type; config false; description "MPU role."; } leaf last-reset-time { type yang:date-and-time; config false; description "Last reset time."; } leaf last-reset-reason { type string { length "0..256"; } config false; description "Last reset reason."; } leaf register-time { type yang:date-and-time; config false; description "Time when a board goes Up."; } leaf is-register { type boolean; config false; description "Whether the board is register."; } leaf cfcard-size { type uint32; units "MB"; config false; description "Cfcard memory size."; } leaf cfcard2-size { type uint32; units "MB"; config false; description "Cfcard2 memory size."; } container cpudefend { description "Configure policies for global management and service plane protection."; leaf policy-id { type leafref { path "/cpudefend:cpudefend/cpudefend:policys/cpudefend:policy/cpudefend:id"; } description "Specifies the id of the attack defense policy to be applied."; } } // container cpudefend container cpudefend-devm { description "Configure policies for global management and service plane protection."; container ignore-hostcar-acl { description "Configure HOST CAR and VLAN-HOST-CAR not to apply to packets matching a specified ACL rule."; choice ipv4-acl-type { description "IPv4 ACL number or name. An ACL number ranges from 3000 to 3999. An ACL name is a string of 1 to 64 characters, which begins with a-z or A-Z. IPv4 ACL dentity is a number or number must exist, otherwise it does not support delivery."; case by-identity { description "IPv4 ACL identity."; leaf ipv4-acl { type leafref { path "/acl:acl/acl:groups/acl:group/acl:identity"; } must "/acl:acl/acl:groups/acl:group[acl:identity=current()]/acl:type='advance'"; description "IPv4 ACL identity."; } } // case by-identity case by-number { description "IPv4 ACL number."; leaf ipv4-acl-number { type leafref { path "/acl:acl/acl:groups/acl:group/acl:number"; } must "/acl:acl/acl:groups/acl:group[acl:number=current()]/acl:type='advance'"; description "IPv4 ACL number."; } } // case by-number } // choice ipv4-acl-type leaf ipv6-acl { type leafref { path "/acl:acl/acl:group6s/acl:group6/acl:identity"; } must "/acl:acl/acl:group6s/acl:group6[acl:identity=current()]/acl:type='advance'"; description "IPv6 ACL number or name. An ACL number ranges from 3000 to 3999. An ACL name is a string of 1 to 64 characters, which begins with a-z or A-Z."; } } // container ignore-hostcar-acl container bras-host-cars { description "List of HOST-CAR is used to perform rate limit for packets that the user side sends to the CPU."; list bras-host-car { ext:generated-by "system"; ext:operation-exclude "create"; key "type"; description "Configure HOST-CAR parameters."; leaf type { type host-car-type; description "HOST-CAR type, such as HOST-CAR, HTTP-HOST-CAR, VLAN-HOST-CAR."; } container rate-limit { must "./pir>=./cir"; description "Configure the bandwidth limit for HOST-CAR."; leaf cir { ext:dynamic-default { ext:default-value "32" { when "../../type = 'host-car'"; description "The default value is 32 when type is HOST-CAR."; } ext:default-value "128" { when "../../type = 'http-host-car'"; description "The default value is 128 when type is HTTP-HOST-CAR."; } ext:default-value "5120" { when "../../type = 'vlan-host-car'"; description "The default value is 5120 when type is VLAN-HOST-CAR."; } } type uint32 { range "0..4294967295"; } units "kbit/s"; must "(../../type='vlan-host-car' and ../cir>=8 and ../cir<=4294967295) or (../../type!='vlan-host-car')"; description "Committed information rate. The default value in the CU scene is expanded by 5 times."; } leaf cbs { ext:dynamic-default { ext:default-value "32000" { when "../../type = 'host-car'"; description "The default value is 32000 when type is HOST-CAR."; } ext:default-value "128000" { when "../../type = 'http-host-car'"; description "The default value is 128000 when type is HTTP-HOST-CAR."; } ext:default-value "2560000" { when "../../type = 'vlan-host-car'"; description "The default value is 2560000 when type is VLAN-HOST-CAR."; } } type uint32 { range "1000..4294967295"; } units "Byte"; must "(../../type='vlan-host-car' and ../cbs>=10000 and ../cbs<=4294967295) or (../../type!='vlan-host-car')"; description "Committed burst size. The default value in the CU scene is expanded by 5 times."; } leaf pir { ext:dynamic-default { ext:default-value "32" { when "../../type = 'host-car'"; description "The default value is 32 when type is HOST-CAR."; } ext:default-value "128" { when "../../type = 'http-host-car'"; description "The default value is 128 when type is HTTP-HOST-CAR."; } ext:default-value "5120" { when "../../type = 'vlan-host-car'"; description "The default value is 5120 when type is VLAN-HOST-CAR."; } } type uint32 { range "0..4294967295"; } units "kbit/s"; description "Peak information rate. The default value in the CU scene is expanded by 5 times."; } leaf pbs { ext:dynamic-default { ext:default-value "32000" { when "../../type = 'host-car'"; description "The default value is 32000 when type is HOST-CAR."; } ext:default-value "128000" { when "../../type = 'http-host-car'"; description "The default value is 128000 when type is HTTP-HOST-CAR."; } ext:default-value "2560000" { when "../../type = 'vlan-host-car'"; description "The default value is 2560000 when type is VLAN-HOST-CAR."; } } type uint32 { range "0..4294967295"; } units "Byte"; description "Peak burst size. The default value in the CU scene is expanded by 5 times."; } leaf auto-adjust-enable { ext:dynamic-default { ext:default-value "true" { when "../../type = 'host-car'"; description "The default value is true when type is HOST-CAR."; } ext:default-value "true" { when "../../type = 'http-host-car'"; description "The default value is true when type is HTTP-HOST-CAR."; } ext:default-value "false" { when "../../type = 'vlan-host-car'"; description "The default value is false when type is VLAN-HOST-CAR."; } } type boolean; description "Enable/disable the device to automatically adjust HOST-CAR bandwidth."; } } // container rate-limit container logging { description "Configure a device to generate a log when the number of bytes discarded by HOST-CAR within a specified period reaches the specified threshold."; leaf interval { type uint32 { range "1..4294967295"; } units "min"; default "5"; description "The interval at which a device counts the number of bytes discarded by HOST-CAR."; } leaf discard-threshold { type uint32 { range "1..4294967295"; } units "Byte"; default "30000"; description "The number of bytes discarded by HOST-CAR."; } } // container logging container attack-detect { description "Configure the attack detection parameters of the HOST-CAR."; leaf drop-rate-threshold { type uint32 { range "1..400"; } units "pps"; default "1"; description "The attack detection threshold for the rate at which packets are dropped by HOST-CAR."; } } // container attack-detect } // list bras-host-car } // container bras-host-cars container spu-cars { description "List of configure CAR for packets on a service board."; list spu-car { key "car-type"; description "Configure CAR for packets on a service board."; leaf car-type { type spu-car-type; description "CAR type."; } leaf cir { ext:dynamic-default; type uint32 { range "0..10000"; } units "pps"; description "CIR."; } leaf cbs { ext:dynamic-default; type uint32 { range "0..30000"; } units "packet"; description "CBS."; } } // list spu-car } // container spu-cars container arp-vlan-car { description "Configure the rate limit of ARP VLAN CAR for ARP packets on an interface."; leaf alarm-drop-rate { type boolean; default "true"; description "Enable/disable the alarm function for ARP VLAN CAR. By default, the alarm function is enabled for ARP VLAN CAR."; } container level-2-car { description "Configure the level-2 CAR for ARP VLAN CAR."; leaf rate-limit-percent { type uint32 { range "0..100"; } units "%"; default "80"; description "The percentage of the bandwidth of level-2 CAR for ARP VLAN CAR in the bandwidth of CP-CAR for ARP protocol packets. The default value is 80. The value 0 indicates no restriction on the bandwidth."; } } // container level-2-car } // container arp-vlan-car container nd-vlan-car { description "Configure the rate limit of ND VLAN CAR for ND packets on an interface."; container nd-attack-alarms { description "List of the alarm function for ND VLAN CAR."; list nd-attack-alarm { ext:generated-by "system"; ext:operation-exclude "create"; key "type"; description "Configure the alarm function for ND VLAN CAR."; leaf type { type nd-protocol-type; description "ND protocol type."; } leaf alarm-enable { type boolean; default "true"; description "Enable/disable the alarm function for ND VLAN CAR. By default, the alarm function is enabled for ND VLAN CAR."; } } // list nd-attack-alarm } // container nd-attack-alarms container level-2-cars { description "List of the level-2 CAR for ND VLAN CAR."; list level-2-car { ext:generated-by "system"; ext:operation-exclude "create"; key "type"; description "Configure the level-2 CAR for ND VLAN CAR."; leaf type { type nd-protocol-type; description "ND protocol type."; } leaf rate-limit-percent { type uint32 { range "0..100"; } units "%"; default "80"; description "The percentage of the bandwidth of level-2 CAR for ND VLAN CAR in the bandwidth of CP-CAR for ND protocol packets. The value 0 indicates no restriction on the bandwidth."; } } // list level-2-car } // container level-2-cars } // container nd-vlan-car } // container cpudefend-devm container loadbalance { description "Configure load balancing."; container dynamic-adjust { description "Configure dynamic load balancing."; leaf enable { type boolean; default "false"; description "Enable/disable dynamic load balancing."; } } // container dynamic-adjust container hash-arithmetic { description "Configure FE1 hash arithmetic on a specified board."; leaf arithmetic { type cx-hash-arithmetic; default "random"; description "Arithmetic."; } leaf second-hash-flag { type boolean; default "false"; description "Enable/disable second hash."; } } // container hash-arithmetic container hash-fields { description "List of FE1 hash fields configuration on a specified board."; list hash-field { ext:generated-by "system" { description "The all instances are generated automatically."; } ext:operation-exclude "create" { description "The all instances cannot be created."; } key "trunk-ecmp"; description "Configure hash mode, that is, the box attribute, indicating which load balancing mode is applicable to the box."; leaf trunk-ecmp { type cx-trunk-ecmp; description "Hash mode."; } leaf material { ext:dynamic-default { ext:default-value "l4" { when "../trunk-ecmp='ip' or ../trunk-ecmp='mac' or ../trunk-ecmp='vll'"; description "The default value is l4 when trunk-ecmp is IP or MAC or VLL."; } ext:default-value "disable" { when "../trunk-ecmp='tunnel-inner-ip' or ../trunk-ecmp='gtp-inner-ip'"; description "The default value is disable when trunk-ecmp is tunnel-inner-ip or gtp-inner-ip."; } ext:default-value "undo-disable" { when "../trunk-ecmp='tunnel-info' or ../trunk-ecmp='gtp'"; description "The default value is enable when trunk-ecmp is tunnel-info or GTP."; } } ext:support-filter "true"; type cx-hash-material; must "(../trunk-ecmp='ip' and (../material='l2' or ../material='l3' or ../material='l4') ) or (../trunk-ecmp='mac' and (../material='l2' or ../material='l3' or ../material='l4' or ../material='label-ip') ) or ( (../trunk-ecmp='tunnel-info' or ../trunk-ecmp='tunnel-inner-ip' or ../trunk-ecmp='gtp' or ../trunk-ecmp='gtp-inner-ip') and (../material='undo-disable' or ../material='disable') ) or (../trunk-ecmp='vll' and (../material='l2' or ../material='l3' or ../material='l4' or ../material='label-ip' or ../material='label') )"; description "Set hash material."; } } // list hash-field } // container hash-fields container hash-seed { presence "FE1 hash seed configuration on a specified board."; description "Enable/disable FE1 hash seed on a specified board."; leaf random-flag { type boolean; default "false"; description "Enable/disable random flag."; } leaf custom-seed { type pub-type:hex-binary; must "../custom-seed='0x0' or ../random-flag='false'"; default "0x0"; description "User-defined hash seed random number."; } } // container hash-seed container hash-multipe { description "Configure FE1 hash Multi-PE on a specified board."; leaf multipe-flag { type cx-mulpe-flag; default "disable"; description "Multi-path load balancing."; } } // container hash-multipe } // container loadbalance container mpls-forward { description "Configure MPLS forward."; container mpls-hash-mode { description "Configure MPLS hash mode."; leaf hashcfg { type hash-cfg-flag; default "ip"; description "MPLS hash mode value."; } } // container mpls-hash-mode container mplsfrags { description "Configure dynamic load balance configuration."; leaf mplsfrag-enable { type enable-flag; default "disable"; description "MPLS fragment enable value."; } } // container mplsfrags container mpls-load-ctrwords { description "Configure MPLS load balance control word disable."; leaf mplsload-ctrword-disable { type enable-flag; default "disable"; description "MPLS load balance control word disable value."; } } // container mpls-load-ctrwords } // container mpls-forward container bras { description "Configure the bras slot."; container flow-statistic-frequency { description "Configure the frequency to collect traffic statistics on a specific board."; leaf type { type enumeration { enum "fast" { value 1; description "Fast."; } enum "normal" { value 2; description "Normal."; } enum "slow" { value 3; description "Slow."; } enum "default" { value 4; description "Default."; } } default "default"; description "Specifies the frequency."; } } // container flow-statistic-frequency container vas { description "Configure vas devm."; container statistic-frequency { description "Configure a board to read EDSG service traffic statistics at a configured rate."; leaf flow-read-speed { type uint32 { range "52..500"; } default "52"; description "Sets the number of EDSG services for which traffic statistics are collected every 200 ms."; } } // container statistic-frequency } // container vas } // container bras container pbr { description "Configure To filter default route or black hole route when using redirect."; container routing-filters { description "List of to filter default route or black hole route when using redirect."; list routing-filter { key "type"; max-elements 2; description "Configure action of redirecting to public-network."; leaf type { type ip-type; description "Protocol family."; } leaf routing-type { type routing-filter-type; mandatory true; description "Routing type."; } } // list routing-filter } // container routing-filters } // container pbr container sflow { description "Configure sFlow feature."; container slot-sampling { description "Configure slot sFlow sampling function."; leaf enable { type boolean; default "false"; description "Enable/disable sFlow function in slot."; } } // container slot-sampling } // container sflow container management-plane-defend-slot { presence "Present slot management plane defend function."; description "Configure applications of slot-based policies for management and service plane protection."; leaf slot-policy-id { type leafref { path "/host-defend:host-defend/host-defend:management-plane-defend/host-defend:slot-plys/host-defend:slot-ply/host-defend:policy-id"; } mandatory true; description "ID of a slot-based policy for management and service plane protection."; } } // container management-plane-defend-slot container ppp-net { description "Configure PPP net to devm."; container load-balance-identify-pppoe { description "Configure load balance identify PPPoE."; leaf load-balance-enable { type boolean; default "false"; description "Enable/disable a device to identify the IP."; } } // container load-balance-identify-pppoe } // container ppp-net container frame-padding-fix { presence "create frame-padding-fix"; description "Enable/disable a board to reserve the padding fields in upstream Ethernet packets."; } // container frame-padding-fix } // list mpu-board } // container mpu-boards container lpu-boards { ext:operation-exclude "create"; description "List of LPU."; list lpu-board { ext:operation-exclude "create"; ext:generated-by "system"; key "position"; description "Specify LPU."; leaf position { type string { length "1..32"; } description "LPU position."; } leaf index { type uint32; config false; description "LPU index."; } leaf board-type { type string { length "0..30"; } config false; description "LPU type."; } leaf sdram-size { type uint32; units "MByte"; config false; description "SDRAM size."; } leaf flash-size { type uint32; units "MByte"; config false; description "Flash size."; } leaf up-time { type pub-type:time-tick; config false; description "LPU running time, expressed in the number of timeticks."; } leaf np-rdram-size { type uint32; units "MByte"; config false; description "NP RDRAM size."; } leaf np-sram-size { type uint32; units "MByte"; config false; description "NP SRAM size."; } leaf service-type { type lpu-service-type; config false; description "Service type."; } leaf next-service-type { type lpu-service-type; config false; description "Type of next started service board."; } leaf pic-num { type uint32; config false; description "Number of PICs on an LPU."; } leaf sub-slot-num { type uint32; config false; description "Number of slots on a subcard."; } leaf clock-8k-port { type string { length "0..32"; } description "8K clock port."; } leaf current-l3-clk { type uint32; config false; description "L3 clock source being used."; } leaf register-time { type yang:date-and-time; config false; description "Time when a board goes Up."; } leaf is-register { type boolean; config false; description "Whether the board is register."; } container cpudefend { description "Configure policies for global management and service plane protection."; leaf policy-id { type leafref { path "/cpudefend:cpudefend/cpudefend:policys/cpudefend:policy/cpudefend:id"; } description "Specifies the id of the attack defense policy to be applied."; } } // container cpudefend container cpudefend-devm { description "Configure policies for global management and service plane protection."; container ignore-hostcar-acl { description "Configure HOST CAR and VLAN-HOST-CAR not to apply to packets matching a specified ACL rule."; choice ipv4-acl-type { description "IPv4 ACL number or name. An ACL number ranges from 3000 to 3999. An ACL name is a string of 1 to 64 characters, which begins with a-z or A-Z. IPv4 ACL dentity is a number or number must exist, otherwise it does not support delivery."; case by-identity { description "IPv4 ACL identity."; leaf ipv4-acl { type leafref { path "/acl:acl/acl:groups/acl:group/acl:identity"; } must "/acl:acl/acl:groups/acl:group[acl:identity=current()]/acl:type='advance'"; description "IPv4 ACL identity."; } } // case by-identity case by-number { description "IPv4 ACL number."; leaf ipv4-acl-number { type leafref { path "/acl:acl/acl:groups/acl:group/acl:number"; } must "/acl:acl/acl:groups/acl:group[acl:number=current()]/acl:type='advance'"; description "IPv4 ACL number."; } } // case by-number } // choice ipv4-acl-type leaf ipv6-acl { type leafref { path "/acl:acl/acl:group6s/acl:group6/acl:identity"; } must "/acl:acl/acl:group6s/acl:group6[acl:identity=current()]/acl:type='advance'"; description "IPv6 ACL number or name. An ACL number ranges from 3000 to 3999. An ACL name is a string of 1 to 64 characters, which begins with a-z or A-Z."; } } // container ignore-hostcar-acl container bras-host-cars { description "List of HOST-CAR is used to perform rate limit for packets that the user side sends to the CPU."; list bras-host-car { ext:generated-by "system"; ext:operation-exclude "create"; key "type"; description "Configure HOST-CAR parameters."; leaf type { type host-car-type; description "HOST-CAR type, such as HOST-CAR, HTTP-HOST-CAR, VLAN-HOST-CAR."; } container rate-limit { must "./pir>=./cir"; description "Configure the bandwidth limit for HOST-CAR."; leaf cir { ext:dynamic-default { ext:default-value "32" { when "../../type = 'host-car'"; description "The default value is 32 when type is HOST-CAR."; } ext:default-value "128" { when "../../type = 'http-host-car'"; description "The default value is 128 when type is HTTP-HOST-CAR."; } ext:default-value "5120" { when "../../type = 'vlan-host-car'"; description "The default value is 5120 when type is VLAN-HOST-CAR."; } } type uint32 { range "0..4294967295"; } units "kbit/s"; must "(../../type='vlan-host-car' and ../cir>=8 and ../cir<=4294967295) or (../../type!='vlan-host-car')"; description "Committed information rate. The default value in the CU scene is expanded by 5 times."; } leaf cbs { ext:dynamic-default { ext:default-value "32000" { when "../../type = 'host-car'"; description "The default value is 32000 when type is HOST-CAR."; } ext:default-value "128000" { when "../../type = 'http-host-car'"; description "The default value is 128000 when type is HTTP-HOST-CAR."; } ext:default-value "2560000" { when "../../type = 'vlan-host-car'"; description "The default value is 2560000 when type is VLAN-HOST-CAR."; } } type uint32 { range "1000..4294967295"; } units "Byte"; must "(../../type='vlan-host-car' and ../cbs>=10000 and ../cbs<=4294967295) or (../../type!='vlan-host-car')"; description "Committed burst size. The default value in the CU scene is expanded by 5 times."; } leaf pir { ext:dynamic-default { ext:default-value "32" { when "../../type = 'host-car'"; description "The default value is 32 when type is HOST-CAR."; } ext:default-value "128" { when "../../type = 'http-host-car'"; description "The default value is 128 when type is HTTP-HOST-CAR."; } ext:default-value "5120" { when "../../type = 'vlan-host-car'"; description "The default value is 5120 when type is VLAN-HOST-CAR."; } } type uint32 { range "0..4294967295"; } units "kbit/s"; description "Peak information rate. The default value in the CU scene is expanded by 5 times."; } leaf pbs { ext:dynamic-default { ext:default-value "32000" { when "../../type = 'host-car'"; description "The default value is 32000 when type is HOST-CAR."; } ext:default-value "128000" { when "../../type = 'http-host-car'"; description "The default value is 128000 when type is HTTP-HOST-CAR."; } ext:default-value "2560000" { when "../../type = 'vlan-host-car'"; description "The default value is 2560000 when type is VLAN-HOST-CAR."; } } type uint32 { range "0..4294967295"; } units "Byte"; description "Peak burst size. The default value in the CU scene is expanded by 5 times."; } leaf auto-adjust-enable { ext:dynamic-default { ext:default-value "true" { when "../../type = 'host-car'"; description "The default value is true when type is HOST-CAR."; } ext:default-value "true" { when "../../type = 'http-host-car'"; description "The default value is true when type is HTTP-HOST-CAR."; } ext:default-value "false" { when "../../type = 'vlan-host-car'"; description "The default value is false when type is VLAN-HOST-CAR."; } } type boolean; description "Enable/disable the device to automatically adjust HOST-CAR bandwidth."; } } // container rate-limit container logging { description "Configure a device to generate a log when the number of bytes discarded by HOST-CAR within a specified period reaches the specified threshold."; leaf interval { type uint32 { range "1..4294967295"; } units "min"; default "5"; description "The interval at which a device counts the number of bytes discarded by HOST-CAR."; } leaf discard-threshold { type uint32 { range "1..4294967295"; } units "Byte"; default "30000"; description "The number of bytes discarded by HOST-CAR."; } } // container logging container attack-detect { description "Configure the attack detection parameters of the HOST-CAR."; leaf drop-rate-threshold { type uint32 { range "1..400"; } units "pps"; default "1"; description "The attack detection threshold for the rate at which packets are dropped by HOST-CAR."; } } // container attack-detect } // list bras-host-car } // container bras-host-cars container spu-cars { description "List of configure CAR for packets on a service board."; list spu-car { key "car-type"; description "Configure CAR for packets on a service board."; leaf car-type { type spu-car-type; description "CAR type."; } leaf cir { ext:dynamic-default; type uint32 { range "0..10000"; } units "pps"; description "CIR."; } leaf cbs { ext:dynamic-default; type uint32 { range "0..30000"; } units "packet"; description "CBS."; } } // list spu-car } // container spu-cars container arp-vlan-car { description "Configure the rate limit of ARP VLAN CAR for ARP packets on an interface."; leaf alarm-drop-rate { type boolean; default "true"; description "Enable/disable the alarm function for ARP VLAN CAR. By default, the alarm function is enabled for ARP VLAN CAR."; } container level-2-car { description "Configure the level-2 CAR for ARP VLAN CAR."; leaf rate-limit-percent { type uint32 { range "0..100"; } units "%"; default "80"; description "The percentage of the bandwidth of level-2 CAR for ARP VLAN CAR in the bandwidth of CP-CAR for ARP protocol packets. The default value is 80. The value 0 indicates no restriction on the bandwidth."; } } // container level-2-car } // container arp-vlan-car container nd-vlan-car { description "Configure the rate limit of ND VLAN CAR for ND packets on an interface."; container nd-attack-alarms { description "List of the alarm function for ND VLAN CAR."; list nd-attack-alarm { ext:generated-by "system"; ext:operation-exclude "create"; key "type"; description "Configure the alarm function for ND VLAN CAR."; leaf type { type nd-protocol-type; description "ND protocol type."; } leaf alarm-enable { type boolean; default "true"; description "Enable/disable the alarm function for ND VLAN CAR. By default, the alarm function is enabled for ND VLAN CAR."; } } // list nd-attack-alarm } // container nd-attack-alarms container level-2-cars { description "List of the level-2 CAR for ND VLAN CAR."; list level-2-car { ext:generated-by "system"; ext:operation-exclude "create"; key "type"; description "Configure the level-2 CAR for ND VLAN CAR."; leaf type { type nd-protocol-type; description "ND protocol type."; } leaf rate-limit-percent { type uint32 { range "0..100"; } units "%"; default "80"; description "The percentage of the bandwidth of level-2 CAR for ND VLAN CAR in the bandwidth of CP-CAR for ND protocol packets. The value 0 indicates no restriction on the bandwidth."; } } // list level-2-car } // container level-2-cars } // container nd-vlan-car } // container cpudefend-devm container loadbalance { description "Configure load balancing."; container dynamic-adjust { description "Configure dynamic load balancing."; leaf enable { type boolean; default "false"; description "Enable/disable dynamic load balancing."; } } // container dynamic-adjust container hash-arithmetic { description "Configure FE1 hash arithmetic on a specified board."; leaf arithmetic { type cx-hash-arithmetic; default "random"; description "Set hash algorithm."; } leaf second-hash-flag { type boolean; default "false"; description "Enable/disable second hash flag."; } } // container hash-arithmetic container hash-fields { description "List of FE1 hash fields configuration on a specified board."; list hash-field { ext:generated-by "system" { description "The all instances are generated automatically."; } ext:operation-exclude "create" { description "The all instances cannot be created."; } key "trunk-ecmp"; description "Configure hash mode, that is, the box attribute, indicating which load balancing mode is applicable to the box."; leaf trunk-ecmp { type cx-trunk-ecmp; description "Hash mode."; } leaf material { ext:dynamic-default { ext:default-value "l4" { when "../trunk-ecmp='ip' or ../trunk-ecmp='mac' or ../trunk-ecmp='vll'"; description "The default value is l4 when trunk-ecmp is IP or MAC or VLL."; } ext:default-value "disable" { when "../trunk-ecmp='tunnel-inner-ip' or ../trunk-ecmp='gtp-inner-ip'"; description "The default value is disable when trunk-ecmp is tunnel-inner-ip or gtp-inner-ip."; } ext:default-value "undo-disable" { when "../trunk-ecmp='tunnel-info' or ../trunk-ecmp='gtp'"; description "The default value is enable when trunk-ecmp is tunnel-info or GTP."; } } ext:support-filter "true"; type cx-hash-material; must "(../trunk-ecmp='ip' and (../material='l2' or ../material='l3' or ../material='l4') ) or (../trunk-ecmp='mac' and (../material='l2' or ../material='l3' or ../material='l4' or ../material='label-ip') ) or ( (../trunk-ecmp='tunnel-info' or ../trunk-ecmp='tunnel-inner-ip' or ../trunk-ecmp='gtp' or ../trunk-ecmp='gtp-inner-ip') and (../material='undo-disable' or ../material='disable') ) or (../trunk-ecmp='vll' and (../material='l2' or ../material='l3' or ../material='l4' or ../material='label-ip' or ../material='label') )"; description "Set hash material."; } } // list hash-field } // container hash-fields container hash-seed { presence "FE1 hash seed configuration on a specified board."; description "Enable/disable FE1 hash seed on a specified board."; leaf random-flag { type boolean; default "false"; description "Enable/disable random flag."; } leaf custom-seed { type pub-type:hex-binary; must "../custom-seed='0x0' or ../random-flag='false'"; default "0x0"; description "User-defined hash seed random number."; } } // container hash-seed container hash-multipe { description "Configure FE1 hash Multi-path on a specified board."; leaf multipe-flag { type cx-mulpe-flag; default "disable"; description "Enable multi-path load balancing."; } } // container hash-multipe } // container loadbalance container mpls-forward { description "Configure MPLS forward."; container mpls-hash-mode { description "Configure MPLS hash mode."; leaf hashcfg { type hash-cfg-flag; default "ip"; description "MPLS hash mode value."; } } // container mpls-hash-mode container mplsfrags { description "Configure dynamic load balance."; leaf mplsfrag-enable { type enable-flag; default "disable"; description "MPLS fragment enable value."; } } // container mplsfrags container mpls-load-ctrwords { description "Configure MPLS load balance control word disable."; leaf mplsload-ctrword-disable { type enable-flag; default "disable"; description "MPLS load balance control word disable value."; } } // container mpls-load-ctrwords } // container mpls-forward container bras { description "Configure the bras slot."; container flow-statistic-frequency { description "Configure the frequency to collect traffic statistics on a specific board."; leaf type { type enumeration { enum "fast" { value 1; description "Fast."; } enum "normal" { value 2; description "Normal."; } enum "slow" { value 3; description "Slow."; } enum "default" { value 4; description "Default."; } } default "default"; description "Specifies the frequency."; } } // container flow-statistic-frequency container vas { description "Configure vas devm."; container statistic-frequency { description "Configure a board to read EDSG service traffic statistics at a configured rate."; leaf flow-read-speed { type uint32 { range "52..500"; } default "52"; description "Sets the number of EDSG services for which traffic statistics are collected every 200 ms."; } } // container statistic-frequency } // container vas } // container bras container pbr { description "Configure to filter default route or black hole route when using redirect."; container routing-filters { description "List of to filter default route or black hole route when using redirect."; list routing-filter { key "type"; max-elements 2; description "Configure action of redirecting to public-network."; leaf type { type ip-type; description "Protocol family."; } leaf routing-type { type routing-filter-type; mandatory true; description "Routing type."; } } // list routing-filter } // container routing-filters } // container pbr container sflow { description "Configure sFlow feature."; container slot-sampling { description "Configure slot sFlow sampling function."; leaf enable { type boolean; default "false"; description "Enable/disable sFlow function in slot."; } } // container slot-sampling } // container sflow container management-plane-defend-slot { presence "Present slot management plane defend function."; description "Configure applications of slot-based policies for management and service plane protection."; leaf slot-policy-id { type leafref { path "/host-defend:host-defend/host-defend:management-plane-defend/host-defend:slot-plys/host-defend:slot-ply/host-defend:policy-id"; } mandatory true; description "ID of a slot-based policy for management and service plane protection."; } } // container management-plane-defend-slot container ppp-net { description "Configure PPP net to devm."; container ppp-min-packet-length { description "Configure PPP minimum packet length."; leaf packet-length { type uint32 { range "8..64"; } description "PPP minimum packet length."; } } // container ppp-min-packet-length container load-balance-identify-pppoe { description "Configure load balance identify PPPoE."; leaf load-balance-enable { type boolean; default "false"; description "Enable/disable a device to identify the IP."; } } // container load-balance-identify-pppoe } // container ppp-net container driver { config false; description "Statistics of driver apply."; container l3-clocks { config false; description "List of l3 clocks."; list l3-clock { key "clock-id"; config false; description "Statistics of l3 clock."; leaf clock-id { type string { length "1..255"; } config false; description "L3 clock ID. The clock-id is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices."; } leaf l3-clock-state { type driver-clock-status; config false; description "L3 clock state."; } } // list l3-clock } // container l3-clocks } // container driver container frame-padding-fix { presence "create frame-padding-fix"; description "Enable/disable a board to reserve the padding fields in upstream Ethernet packets."; } // container frame-padding-fix } // list lpu-board } // container lpu-boards container sfu-boards { config false; description "List of SFU."; list sfu-board { key "position"; config false; description "Operational data of SFU."; leaf position { type string { length "1..32"; } config false; description "SFU position."; } leaf index { type uint32; config false; description "SFU index."; } leaf board-type { type string { length "0..30"; } config false; description "SFU type."; } leaf sdram-size { type uint32; units "MByte"; config false; description "SDRAM size."; } leaf flash-size { type uint32; units "MByte"; config false; description "Flash size."; } leaf up-time { type pub-type:time-tick; config false; description "SFU running time, expressed in the number of timeticks."; } leaf register-time { type yang:date-and-time; config false; description "Time when a board goes Up."; } leaf is-register { type boolean; config false; description "Whether the board is register."; } } // list sfu-board } // container sfu-boards container cards { ext:operation-exclude "create"; description "List of card."; list card { ext:operation-exclude "create"; ext:generated-by "system"; key "position index"; description "Specify card."; leaf position { type string { length "1..32"; } description "Card position."; } leaf index { type uint32; description "Card index."; } leaf type { type string { length "0..30"; } config false; description "Elabel type of a card."; } leaf hard-type { type string { length "0..30"; } config false; description "Hardware type of a card."; } leaf port-num { type uint32; config false; description "Number of ports on a card."; } leaf init-status { type init-status-type; config false; description "Initialized status of a card."; } leaf register-status { type register-status-type; config false; description "Registered status of a card."; } container pic { config false; description "Operational data of physical interface card."; leaf logic-status { type logic-status-type; config false; description "Logic loading status."; } leaf up-time { type yang:date-and-time; config false; description "Time when a card goes Up."; } } // container pic } // list card } // container cards container cf-cards { config false; description "List of CF card."; list cf-card { key "position serial-number"; config false; description "Operational data of CF card."; leaf position { type string { length "1..32"; } config false; description "CF card position."; } leaf serial-number { type string { length "1..32"; } config false; description "Number of a CF card."; } leaf index { type uint32; config false; description "CF card index."; } leaf card-type { type string { length "0..30"; } config false; description "CF card type."; } leaf memory-size { type uint32; units "kB"; config false; description "Memory size of a CF card."; } leaf memory-used { type uint32; units "kB"; config false; description "Used memory of a CF card."; } leaf memory-free { type uint32; units "kB"; config false; description "Available memory of a CF card."; } } // list cf-card } // container cf-cards container ports { ext:operation-exclude "create"; description "List of port."; list port { ext:operation-exclude "create"; ext:generated-by "system"; key "position"; description "Specify port."; leaf position { type string { length "1..32"; } description "Port position. The position is expressed in the format of slotID/cardID/portID. For example, 1/0/1. Here 1/0/1 is an example. The value may vary with devices."; } leaf index { ext:support-filter "true"; type uint32 { range "1..4294967295"; } default "1"; config false; description "Port index."; } leaf admin-state { type entity-admin-state; must "((../admin-state='active' or ../admin-state='inactive') )"; default "active"; description "Port administration state."; } leaf type { ext:support-filter "true"; type port-class-type; config false; description "Port type, such as ETH, POS, or OTN."; } leaf hard-type { type port-hardware-type; config false; description "Hardware type of a port."; } leaf loopback-mode { type loopback-state-type; default "noLoopback"; description "Port loopback mode."; } leaf enable-transmission-delay { type uint32 { range "0..86400000"; } units "ms"; default "0"; description "Enable port transmission delay (ms)."; } leaf last-up-time { type yang:date-and-time; config false; description "Time when a port last went Up."; } leaf last-down-time { type yang:date-and-time; config false; description "Time when a port last went Down."; } leaf medium-type { ext:support-filter "true"; type port-medium-type; config false; description "Port medium type."; } leaf optical-equipped { type boolean; config false; description "Flag indicating whether an optical transceiver is equipped."; } leaf physical-bandwidth { type uint64 { range "0..10000000000000"; } units "bit/s"; default "0"; config false; description "Port physical bandwidth."; } } // list port } // container ports container logic-ports { description "List of logic port."; list logic-port { key "position serial-number port-type"; description "Configure logic port."; leaf position { type pub-type:position; description "Port position. The position is expressed in the format of slotID/cardID/portID. For example, 1/0/1. Here 1/0/1 is an example. The value may vary with devices."; } leaf serial-number { type string { length "0..32"; } description "Port number."; } leaf port-type { type port-class-type; description "Port type, such as ETH, POS, or OTN."; } leaf index { type uint32 { range "1..4294967295"; } default "1"; config false; description "Port index."; } leaf admin-state { type entity-admin-state; config false; description "Port administration state."; } leaf hard-type { type port-hardware-type; mandatory true; description "Hardware type of a port."; } leaf enable-transmission-delay { type uint32 { range "0..86400000"; } default "0"; config false; description "Enable port transmission delay (ms)."; } leaf level { type port-level-type; mandatory true; description "Port speed level."; } } // list logic-port } // container logic-ports container entity-classes { config false; description "List of entity capability."; list entity-class { key "class-name"; config false; description "Statistics of entity capability."; leaf class-name { type entity-class-type; config false; description "Entity type."; } leaf is-resetable { type boolean; config false; description "Flag indicating whether the entity can be reset."; } leaf is-switchoverable { type boolean; config false; description "Flag indicating whether a switchover can be performed on the entity."; } } // list entity-class } // container entity-classes container inconsistent-entitys { config false; description "List of incompatible entity."; list inconsistent-entity { key "class position serial-number"; config false; description "Operational data of incompatible entity."; leaf class { type entity-class-type; config false; description "Entity class."; } leaf position { type pub-type:position; config false; description "Position."; } leaf serial-number { type string { length "0..32"; } config false; description "Number."; } leaf logical-type { type hardware-type; config false; description "Logical type."; } leaf physical-type { type hardware-type; config false; description "Physical type."; } leaf oper-state { type entity-oper-state-type; config false; description "Running status."; } } // list inconsistent-entity } // container inconsistent-entitys container offlines { config false; description "List of offline configuration."; list offline { key "class position"; config false; description "Operational data of offline configuration."; leaf class { type offline-class-type; config false; description "Class."; } leaf position { type string { length "1..32"; } config false; description "Position."; } } // list offline } // container offlines container schedule-reboot { config false; description "Statistics of schedule reboot date time."; leaf datetime { type yang:date-and-time; config false; description "At Time."; } leaf delay-time { type string { length "1..49"; } config false; description "Delay time."; } } // container schedule-reboot container active-hardware-alarm-infos { config false; description "List of active hardware alarms."; list active-hardware-alarm-info { key "sequence"; description "Statistics of information about an active hardware alarm."; leaf sequence { type uint32 { range "1..4294967295"; } description "Sequence number of an active alarm."; } leaf position { ext:support-filter "true"; type string { length "1..32"; } description "Hardware entity position."; } leaf alarm-id { type uint32 { range "1..4294967295"; } description "ID of an active alarm."; } leaf level { type string { length "1..24"; } description "Severity of an active alarm."; } leaf generated-time { type yang:date-and-time; description "Time when an active alarm is generated."; } leaf info { type string { length "1..256"; } description "Alarm information."; } } // list active-hardware-alarm-info } // container active-hardware-alarm-infos container history-hardware-alarm-infos { config false; description "List of historical hardware alarms."; list history-hardware-alarm-info { key "sequence"; description "Statistics of information about a historical hardware alarm."; leaf sequence { type uint32 { range "1..4294967295"; } description "Sequence number of a historical alarm."; } leaf position { ext:support-filter "true"; type string { length "1..32"; } description "Hardware entity position."; } leaf alarm-id { type uint32 { range "1..4294967295"; } description "ID of a historical alarm."; } leaf level { type string { length "1..24"; } description "Severity of a historical alarm."; } leaf generated-time { type yang:date-and-time; description "Time when a historical alarm is generated."; } leaf info { type string { length "1..256"; } description "Alarm information."; } } // list history-hardware-alarm-info } // container history-hardware-alarm-infos container driver { description "Configure driver apply."; container cmus { description "List of CMUs."; list cmu { ext:generated-by "system"; key "position"; description "Configure CMU."; leaf position { type string { length "1..32"; } description "CMU position. The position is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices."; } leaf entity-index { type uint32; config false; description "CMU supply index."; } leaf board-type { type string { length "1..32"; } config false; description "Type of a CMU board."; } leaf sdram-size { type uint32; units "MB"; config false; description "SDRAM size."; } leaf flash-size { type uint32; units "MB"; config false; description "Flash size."; } leaf up-time { type pub-type:time-tick; config false; description "Up time of an CMU, the unit is timetick."; } leaf role { type driver-cmu-role; config false; description "CMU role."; } container switchs { description "List of CMU Switch."; list switch { key "switch-id"; description "Configure the ID, name and alarm type for the switch parameter monitored by the environment monitoring unit."; leaf switch-id { type uint32 { range "0..6"; } description "Cmu Switch ID."; } leaf switch-name { type string { length "1..24"; } mandatory true; description "Specify cmu switch name."; } leaf alarm-triggering-mode { type driver-switch-alarm-triggering-mode; mandatory true; description "Specify cmu alarm-triggering-mode."; } leaf sensor-name { when "../switch-id='0'"; type driver-sensor-name; description "Specify cmu sensor."; } } // list switch } // container switchs container relays { description "List of CMU Relays."; list relay { key "relay-id"; description "Configure the ID and name for the external relay of a CMU. The external relay is used to control an external device."; leaf relay-id { type uint32 { range "0..1"; } description "Specify the ID of the external relay of a CMU."; } leaf relay-name { type string { length "1..24"; } mandatory true; description "Specify the name of the external relay of a CMU."; } leaf relay-mode { type driver-relay-mode; mandatory true; description "Specify the relay-mode of the external relay of a CMU."; } } // list relay } // container relays container analogs { description "List of CMU Analogs."; list analog { must "((lower-alarm-threshold<lower-limit) and (lower-limit<nominal-value) and (nominal-value<upper-limit) and (upper-limit<high-alarm-threshold))"; key "analog-id"; description "Configure CMU Analog."; leaf analog-id { type uint32 { range "0..1"; } description "Specifies the ID of the input analog of a CMU."; } leaf analog-name { type string { length "1..24"; } mandatory true; description "Specifies the name of the input analog of a CMU."; } leaf analog-object { type driver-analog-object-type; mandatory true; description "Specify object monitored by this cmu analog sensor."; } leaf analog-sensor-type { type driver-analog-type; mandatory true; description "Specify cmu analog sensor type."; } leaf lower-limit { type int32 { range "0..10"; } mandatory true; description "Specify cmu analog work lower limit."; } leaf upper-limit { type int32 { range "0..10"; } mandatory true; description "Specify cmu analog work upper limit."; } leaf nominal-value { type int32 { range "0..10"; } mandatory true; description "Specify cmu analog input nominal value."; } leaf lower-alarm-threshold { type int32 { range "0..10"; } mandatory true; description "Specify cmu analog lower alarm threshold."; } leaf high-alarm-threshold { type int32 { range "0..10"; } mandatory true; description "Specify cmu analog high alarm threshold."; } } // list analog } // container analogs container alarm-output { description "Configure CMU alarm output."; leaf major-relay-output-enable { type empty; description "Major relay output enable."; } leaf minor-relay-output-enable { type empty; description "Minor relay output enable."; } } // container alarm-output } // list cmu } // container cmus container pms { description "List of PM."; list pm { ext:generated-by "system"; ext:operation-exclude "create"; key "position serial-number"; description "Configure PM."; leaf position { type string { length "1..32"; } description "PM position. The position is expressed in the format of slotID/pmID. For example, 1/1. Here 1/1 is an example. The value may vary with devices."; } leaf serial-number { type uint32; description "Serial Number."; } leaf single-input { type driver-single-input-type; default "NA"; description "Set Single Input. The power supply management mode can be switched only when DC power supply is used."; } leaf board-type { type string { length "1..32"; } config false; description "Type of a PM board."; } leaf entity-index { type uint32; config false; description "PM index."; } leaf monitor-cable-state { type driver-cable-state; config false; description "State of a PM monitor cable."; } leaf input-voltage-value { type string { length "1..255"; } units "V"; config false; description "Input voltage value."; } leaf input-electrical-value { type string { length "1..255"; } units "A"; config false; description "Input electrical value."; } leaf input-power-value { type string { length "1..255"; } units "W"; config false; description "Input power."; } leaf output-voltage-value { type string { length "1..255"; } units "V"; config false; description "Output voltage value."; } leaf output-electrical-value { type string { length "1..255"; } units "A"; config false; description "Output electrical value."; } leaf output-power-value { type string { length "1..255"; } units "W"; config false; description "Output power."; } leaf pm-area { type string { length "1..16"; } config false; description "PM area."; } leaf pm-status { type driver-pm-status; config false; description "PM Status Information."; } } // list pm } // container pms container ccus { config false; description "Statistics of CCU information."; container ccu { presence "ccu"; config false; description "Statistics of CCU information."; leaf software-version { type string { length "1..32"; } config false; description "CCU version."; } } // container ccu } // container ccus container dacss { config false; description "List of DACS."; list dacs { key "position serial-number"; config false; description "Statistics of DACS."; leaf position { type string { length "1..32"; } config false; description "DACS position. The position is expressed in the format of slotID. For example, PDU1. Here PDU1 is an example. The value may vary with devices."; } leaf serial-number { type uint32; config false; description "Serial Number."; } leaf board-type { type string { length "1..32"; } config false; description "Type of a DACS board."; } leaf dacs-area { type string { length "1..16"; } config false; description "DACS area."; } leaf entity-index { type uint32; config false; description "DACS index."; } leaf status { type driver-dacs-status; config false; description "State of a DACS monitor."; } leaf insource-plane { type string { length "1..255"; } config false; description "InSource plane."; } leaf insource-plane-a { type string { length "1..255"; } config false; description "InSource A plane value (A)."; } leaf insource-plane-b { type string { length "1..255"; } config false; description "InSource B plane value (B)."; } leaf output-voltage-value { type string { length "1..255"; } config false; description "Output voltage value (V)."; } leaf output-electrical-value { type string { length "1..255"; } config false; description "Output electrical value (A)."; } leaf output-status { type string { length "1..255"; } config false; description "Output Status."; } } // list dacs } // container dacss container fans { config false; description "List of information about all fans on a device."; list fan { key "position"; config false; description "Statistics of fan information on a device."; leaf position { type string { length "1..50"; } config false; description "Position of the fan board. The position is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices."; } leaf entity-index { type uint32; config false; description "Index of the fan board."; } leaf board-type { type string { length "1..32"; } config false; description "Type of a fan board."; } leaf work-mode { type fan-workmode; default "auto"; config false; description "Working mode of a fan."; } leaf speed { type uint32 { range "0..100"; } units "%"; config false; description "Fan speed, which is the highest percentage of the fan speed."; } leaf fan-rate { type uint32; units "r/min"; config false; description "Rated rotational speed of the fan."; } leaf monitor-cable-state { type driver-cable-state; config false; description "Monitors the fan status."; } leaf register { type driver-bool; config false; description "Whether the fan is registered."; } leaf present { type driver-bool; config false; description "Check whether the fan is in position."; } leaf fan-number { type uint32; config false; description "Number of fans."; } leaf global-speed { type string { length "1..128"; } units "%"; default "NA"; config false; description "Fan speed percentage, which is the percentage of the maximum rate."; } } // list fan } // container fans container icus { config false; description "List of ICUs."; list icu { key "position"; config false; description "Statistics of ICU board."; leaf position { type string { length "1..32"; } config false; description "ICU position. The position is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices."; } leaf entity-index { type uint32; config false; description "ICU index."; } leaf board-type { type string { length "1..32"; } config false; mandatory true; description "ICU type."; } leaf sdram-size { type uint32; units "MB"; config false; description "SDRAM size."; } leaf flash-size { type uint32; units "MB"; config false; description "Flash size."; } leaf up-time { type pub-type:time-tick; config false; description "Up time of an ICU, the unit is timetick."; } } // list icu } // container icus container pmus { config false; description "List of PMU."; list pmu { key "position"; config false; description "Statistics of PMU."; leaf position { type string { length "1..32"; } config false; description "PMU position. The position is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices."; } leaf entity-index { type uint32; config false; description "PMU index."; } leaf board-type { type string { length "1..32"; } config false; description "Type of a PMU board."; } leaf present { type string { length "1..16"; } config false; description "Present."; } leaf ha-status { type string { length "1..16"; } config false; description "HaStatus."; } leaf register { type string { length "1..16"; } config false; description "Register."; } leaf work { type string { length "1..16"; } config false; description "Work."; } } // list pmu } // container pmus container power-supplys { config false; description "List of information about all power supplies on a device."; list power-supply { key "position"; config false; description "Statistics of power supply information on a device."; leaf position { type string { length "1..50"; } config false; description "Position of the power supply. The position is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices."; } leaf entity-index { type uint32; config false; description "Index of the power supply."; } leaf board-type { type string { length "1..32"; } config false; description "Hardware type of the power supply."; } leaf work-mode { type driver-power-work-mode; config false; description "Working mode of a power supply board."; } leaf monitor-cable-state { type driver-cable-state; config false; description "Status of the power monitoring point."; } leaf power-state { type string { length "1..255"; } config false; description "Working mode of the power supply."; } leaf abnormal-number { type uint32; config false; description "Number of faulty power modules on a device."; } leaf normal-number { type uint32; config false; description "Number of normal power modules on a device."; } container power-environments { config false; description "List of environment information about the power supply on a device."; list power-environment { key "pem-index"; config false; description "Statistics of environment information about the power supply on a device."; leaf pem-index { type uint32; config false; description "Index of the power supply."; } leaf voltage-value { type string { length "1..255"; } units "V"; config false; description "Voltage of an existing device."; } leaf electrical-value { type string { length "1..255"; } units "A"; config false; description "Current value of an existing device."; } leaf temperature-value { type string { length "1..255"; } config false; description "Temperature of an existing device."; } leaf power-value { type string { length "1..255"; } units "W"; config false; description "Query the current power."; } leaf out-voltage-value { type string { length "1..255"; } units "V"; config false; description "Current output voltage value of an existing device."; } leaf out-electrical-value { type string { length "1..255"; } units "A"; config false; description "Current output electrical value of an existing device."; } leaf out-power-value { type string { length "1..255"; } units "W"; config false; description "Current output power value of an existing device."; } } // list power-environment } // container power-environments } // list power-supply } // container power-supplys container dmus { config false; description "List of DMU."; list dmu { key "position"; config false; description "Statistics of DMU."; leaf position { type string { length "1..32"; } description "DMU position. The position is expressed in the format of slotID. For example, PDU1. Here PDU1 is an example. The value may vary with devices."; } leaf entity-index { type uint32; description "DMU index."; } leaf board-type { type string { length "1..32"; } description "Type of a DMU board."; } leaf present { type string { length "1..16"; } description "Present."; } leaf register { type string { length "1..16"; } description "Register."; } leaf work { type string { length "1..16"; } description "Work."; } } // list dmu } // container dmus container pdus { config false; description "List of PDU."; list pdu { key "position"; config false; description "Statistics of PDU."; leaf position { type string { length "1..32"; } description "PDU position. The position is expressed in the format of slotID. For example, PDU1. Here PDU1 is an example. The value may vary with devices."; } leaf entity-index { type uint32; description "Index."; } leaf board-type { type string { length "1..32"; } description "Type of a pdu board."; } leaf work-mode { type driver-power-work-mode; description "Working mode of a pdu board."; } leaf power-state { type string { length "1..255"; } description "Power Running State."; } leaf abnormal-number { type string { length "1..255"; } description "Abnormal PowerModule Number."; } leaf normal-number { type string { length "1..255"; } description "Normal PowerModule Number."; } } // list pdu } // container pdus container vsus { config false; description "List of VSU."; list vsu { key "position"; description "Statistics of VSU."; leaf position { type string { length "1..32"; } description "VSU position. The position is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices."; } leaf service-type { type driver-vsu-service-type; description "Service type of a VSU board."; } } // list vsu } // container vsus } // container driver container fwd-performance-alarms { description "List of forwarding performance alarm."; list fwd-performance-alarm { ext:generated-by "system"; ext:operation-exclude "create|delete"; key "slot-id"; description "Configure the alarm reporting and alarm clearance thresholds for forwarding performance."; leaf slot-id { type string { length "1..15"; } description "Slot ID."; } leaf report-threshold { type uint32 { range "0..100"; } units "%"; must "(../report-threshold>../clear-threshold and ../report-threshold!=0 and ../clear-threshold!=0) or (../report-threshold=0 and ../clear-threshold=0)"; default "80"; description "Specifies the alarm reporting threshold."; } leaf clear-threshold { type uint32 { range "0..100"; } units "%"; must "(../report-threshold>../clear-threshold and ../report-threshold!=0 and ../clear-threshold!=0) or (../report-threshold=0 and ../clear-threshold=0)"; default "75"; description "Specifies the alarm clearance threshold."; } } // list fwd-performance-alarm } // container fwd-performance-alarms container fwd-services-alarms { description "List of value-added services alarm."; list fwd-services-alarm { ext:generated-by "system"; ext:operation-exclude "create|delete"; key "slot-id"; description "Configure the alarm reporting and alarm clearance thresholds for value-added services."; leaf slot-id { type string { length "1..15"; } description "Slot ID."; } leaf report-threshold { type uint32 { range "0..100"; } units "%"; must "(../report-threshold>../clear-threshold and ../report-threshold!=0 and ../clear-threshold!=0) or (../report-threshold=0 and ../clear-threshold=0)"; default "80"; description "Specifies the alarm reporting threshold."; } leaf clear-threshold { type uint32 { range "0..100"; } units "%"; must "(../report-threshold>../clear-threshold and ../report-threshold!=0 and ../clear-threshold!=0) or (../report-threshold=0 and ../clear-threshold=0)"; default "75"; description "Specifies the alarm clearance threshold."; } } // list fwd-services-alarm } // container fwd-services-alarms container fwd-reassembly-alarms { description "List of packet reassembly alarm."; list fwd-reassembly-alarm { ext:generated-by "system"; ext:operation-exclude "create|delete"; key "slot-id"; description "Configure the alarm reporting and alarm clearance thresholds for packet reassembly."; leaf slot-id { type string { length "1..15"; } description "Slot ID."; } leaf report-threshold { type uint32 { range "0..100"; } units "%"; must "(../report-threshold>../clear-threshold and ../report-threshold!=0 and ../clear-threshold!=0) or (../report-threshold=0 and ../clear-threshold=0)"; default "80"; description "Specifies the alarm reporting threshold."; } leaf clear-threshold { type uint32 { range "0..100"; } units "%"; must "(../report-threshold>../clear-threshold and ../report-threshold!=0 and ../clear-threshold!=0) or (../report-threshold=0 and ../clear-threshold=0)"; default "75"; description "Specifies the alarm clearance threshold."; } } // list fwd-reassembly-alarm } // container fwd-reassembly-alarms container fwd-board-flow-alarms { description "List of traffic alarm on a board."; list fwd-board-flow-alarm { ext:generated-by "system"; ext:operation-exclude "create|delete"; key "slot-id"; description "Configure the alarm reporting and alarm clearance thresholds for traffic on a board."; leaf slot-id { type string { length "1..15"; } description "Slot ID."; } leaf input-report-threshold { type uint32 { range "0..100"; } units "%"; must "(../input-report-threshold>../input-clear-threshold and ../input-report-threshold!=0 and ../input-clear-threshold!=0) or (../input-report-threshold=0 and ../input-clear-threshold=0)"; default "80"; description "Specifies the input bandwidth alarm reporting threshold."; } leaf input-clear-threshold { type uint32 { range "0..100"; } units "%"; must "(../input-report-threshold>../input-clear-threshold and ../input-report-threshold!=0 and ../input-clear-threshold!=0) or (../input-report-threshold=0 and ../input-clear-threshold=0)"; default "75"; description "Specifies the input bandwidth alarm clearance threshold."; } leaf output-report-threshold { type uint32 { range "0..100"; } units "%"; must "(../output-report-threshold>../output-clear-threshold and ../output-report-threshold!=0 and ../output-clear-threshold!=0) or (../output-report-threshold=0 and ../output-clear-threshold=0)"; default "80"; description "Specifies the output bandwidth alarm reporting threshold."; } leaf output-clear-threshold { type uint32 { range "0..100"; } units "%"; must "(../output-report-threshold>../output-clear-threshold and ../output-report-threshold!=0 and ../output-clear-threshold!=0) or (../output-report-threshold=0 and ../output-clear-threshold=0)"; default "75"; description "Specifies the output bandwidth alarm clearance threshold."; } } // list fwd-board-flow-alarm } // container fwd-board-flow-alarms } // container devm } // module huawei-devm
© 2023 YumaWorks, Inc. All rights reserved.