huawei-pic-remote

Global Configuration.

  • Version: 2019-04-01

    huawei-pic-remote@2019-04-01


    
      module huawei-pic-remote {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-pic-remote";
    
        prefix pic-remote;
    
        import huawei-pub-type {
          prefix pub-type;
        }
        import huawei-devm {
          prefix devm;
        }
        import huawei-extension {
          prefix ext;
        }
        import huawei-vaccess {
          prefix vaccess;
        }
        import huawei-vaccess-master {
          prefix vaccess-master;
        }
    
        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 "2019-04-01" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "interface-mgr";
    
        typedef tunable-wavelength-type {
          type enumeration {
            enum "191.15THZ-1568.362NM" {
              value 99;
              description
                "C-band:99-191.15THz-1568.362nm.";
            }
            enum "191.20THZ-1567.952NM" {
              value 98;
              description
                "C-band:98-191.20THz-1567.952nm.";
            }
            enum "191.25THZ-1567.542NM" {
              value 97;
              description
                "C-band:97-191.25THz-1567.542nm.";
            }
            enum "191.30THZ-1567.133NM" {
              value 96;
              description
                "C-band:96-191.30THz-1567.133nm.";
            }
            enum "191.35THZ-1566.723NM" {
              value 95;
              description
                "C-band:95-191.35THz-1566.723nm.";
            }
            enum "191.40THZ-1566.314NM" {
              value 94;
              description
                "C-band:94-191.40THz-1566.314nm.";
            }
            enum "191.45THZ-1565.905NM" {
              value 93;
              description
                "C-band:93-191.45THz-1565.905nm.";
            }
            enum "191.50THZ-1565.496NM" {
              value 92;
              description
                "C-band:92-191.50THz-1565.496nm.";
            }
            enum "191.55THZ-1565.087NM" {
              value 91;
              description
                "C-band:91-191.55THz-1565.087nm.";
            }
            enum "191.60THZ-1564.679NM" {
              value 90;
              description
                "C-band:90-191.60THz-1564.679nm.";
            }
            enum "191.65THZ-1564.271NM" {
              value 89;
              description
                "C-band:89-191.65THz-1564.271nm.";
            }
            enum "191.70THZ-1563.863NM" {
              value 88;
              description
                "C-band:88-191.70THz-1563.863nm.";
            }
            enum "191.75THZ-1563.455NM" {
              value 87;
              description
                "C-band:87-191.75THz-1563.455nm.";
            }
            enum "191.80THZ-1563.047NM" {
              value 86;
              description
                "C-band:86-191.80THz-1563.047nm.";
            }
            enum "191.85THZ-1562.640NM" {
              value 85;
              description
                "C-band:85-191.85THz-1562.640nm.";
            }
            enum "191.90THZ-1562.233NM" {
              value 84;
              description
                "C-band:84-191.90THz-1562.233nm.";
            }
            enum "191.95THZ-1561.826NM" {
              value 83;
              description
                "C-band:83-191.95THz-1561.826nm.";
            }
            enum "192.00THZ-1561.419NM" {
              value 82;
              description
                "C-band:82-192.00THz-1561.419nm.";
            }
            enum "192.05THZ-1561.013NM" {
              value 81;
              description
                "C-band:81-192.05THz-1561.013nm.";
            }
            enum "192.10THZ-1560.606NM" {
              value 80;
              description
                "C-band:80-192.10THz-1560.606nm.";
            }
            enum "192.15THZ-1560.200NM" {
              value 79;
              description
                "C-band:79-192.15THz-1560.200nm.";
            }
            enum "192.20THZ-1559.794NM" {
              value 78;
              description
                "C-band:78-192.20THz-1559.794nm.";
            }
            enum "192.25THZ-1559.389NM" {
              value 77;
              description
                "C-band:77-192.25THz-1559.389nm.";
            }
            enum "192.30THZ-1558.983NM" {
              value 76;
              description
                "C-band:76-192.30THz-1558.983nm.";
            }
            enum "192.35THZ-1558.578NM" {
              value 75;
              description
                "C-band:75-192.35THz-1558.578nm.";
            }
            enum "192.40THZ-1558.173NM" {
              value 74;
              description
                "C-band:74-192.40THz-1558.173nm.";
            }
            enum "192.45THZ-1557.768NM" {
              value 73;
              description
                "C-band:73-192.45THz-1557.768nm.";
            }
            enum "192.50THZ-1557.363NM" {
              value 72;
              description
                "C-band:72-192.50THz-1557.363nm.";
            }
            enum "192.55THZ-1556.959NM" {
              value 71;
              description
                "C-band:71-192.55THz-1556.959nm.";
            }
            enum "192.60THZ-1556.555NM" {
              value 70;
              description
                "C-band:70-192.60THz-1556.555nm.";
            }
            enum "192.65THZ-1556.151NM" {
              value 69;
              description
                "C-band:69-192.65THz-1556.151nm.";
            }
            enum "192.70THZ-1555.747NM" {
              value 68;
              description
                "C-band:68-192.70THz-1555.747nm.";
            }
            enum "192.75THZ-1555.343NM" {
              value 67;
              description
                "C-band:67-192.75THz-1555.343nm.";
            }
            enum "192.80THZ-1554.940NM" {
              value 66;
              description
                "C-band:66-192.80THz-1554.940nm.";
            }
            enum "192.85THZ-1554.537NM" {
              value 65;
              description
                "C-band:65-192.85THz-1554.537nm.";
            }
            enum "192.90THZ-1554.134NM" {
              value 64;
              description
                "C-band:64-192.90THz-1554.134nm.";
            }
            enum "192.95THZ-1553.731NM" {
              value 63;
              description
                "C-band:63-192.95THz-1553.731nm.";
            }
            enum "193.00THZ-1553.329NM" {
              value 62;
              description
                "C-band:62-193.00THz-1553.329nm.";
            }
            enum "193.05THZ-1552.926NM" {
              value 61;
              description
                "C-band:61-193.05THz-1552.926nm.";
            }
            enum "193.10THZ-1552.524NM" {
              value 60;
              description
                "C-band:60-193.10THz-1552.524nm.";
            }
            enum "193.15THZ-1552.122NM" {
              value 59;
              description
                "C-band:59-193.15THz-1552.122nm.";
            }
            enum "193.20THZ-1551.721NM" {
              value 58;
              description
                "C-band:58-193.20THz-1551.721nm.";
            }
            enum "193.25THZ-1551.319NM" {
              value 57;
              description
                "C-band:57-193.25THz-1551.319nm.";
            }
            enum "193.30THZ-1550.918NM" {
              value 56;
              description
                "C-band:56-193.30THz-1550.918nm.";
            }
            enum "193.35THZ-1550.517NM" {
              value 55;
              description
                "C-band:55-193.35THz-1550.517nm.";
            }
            enum "193.40THZ-1550.116NM" {
              value 54;
              description
                "C-band:54-193.40THz-1550.116nm.";
            }
            enum "193.45THZ-1549.715NM" {
              value 53;
              description
                "C-band:53-193.45THz-1549.715nm.";
            }
            enum "193.50THZ-1549.315NM" {
              value 52;
              description
                "C-band:52-193.50THz-1549.315nm.";
            }
            enum "193.55THZ-1548.915NM" {
              value 51;
              description
                "C-band:51-193.55THz-1548.915nm.";
            }
            enum "193.60THZ-1548.515NM" {
              value 50;
              description
                "C-band:50-193.60THz-1548.515nm.";
            }
            enum "193.65THZ-1548.115NM" {
              value 49;
              description
                "C-band:49-193.65THz-1548.115nm.";
            }
            enum "193.70THZ-1547.715NM" {
              value 48;
              description
                "C-band:48-193.70THz-1547.715nm.";
            }
            enum "193.75THZ-1547.316NM" {
              value 47;
              description
                "C-band:47-193.75THz-1547.316nm.";
            }
            enum "193.80THZ-1546.917NM" {
              value 46;
              description
                "C-band:46-193.80THz-1546.917nm.";
            }
            enum "193.85THZ-1546.518NM" {
              value 45;
              description
                "C-band:45-193.85THz-1546.518nm.";
            }
            enum "193.90THZ-1546.119NM" {
              value 44;
              description
                "C-band:44-193.90THz-1546.119nm.";
            }
            enum "193.95THZ-1545.720NM" {
              value 43;
              description
                "C-band:43-193.95THz-1545.720nm.";
            }
            enum "194.00THZ-1545.322NM" {
              value 42;
              description
                "C-band:42-194.00THz-1545.322nm.";
            }
            enum "194.05THZ-1544.924NM" {
              value 41;
              description
                "C-band:41-194.05THz-1544.924nm.";
            }
            enum "194.10THZ-1544.526NM" {
              value 40;
              description
                "C-band:40-194.10THz-1544.526nm.";
            }
            enum "194.15THZ-1544.128NM" {
              value 39;
              description
                "C-band:39-194.15THz-1544.128nm.";
            }
            enum "194.20THZ-1543.730NM" {
              value 38;
              description
                "C-band:38-194.20THz-1543.730nm.";
            }
            enum "194.25THZ-1543.333NM" {
              value 37;
              description
                "C-band:37-194.25THz-1543.333nm.";
            }
            enum "194.30THZ-1542.936NM" {
              value 36;
              description
                "C-band:36-194.30THz-1542.936nm.";
            }
            enum "194.35THZ-1542.539NM" {
              value 35;
              description
                "C-band:35-194.35THz-1542.539nm.";
            }
            enum "194.40THZ-1542.142NM" {
              value 34;
              description
                "C-band:34-194.40THz-1542.142nm.";
            }
            enum "194.45THZ-1541.746NM" {
              value 33;
              description
                "C-band:33-194.45THz-1541.746nm.";
            }
            enum "194.50THZ-1541.349NM" {
              value 32;
              description
                "C-band:32-194.50THz-1541.349nm.";
            }
            enum "194.55THZ-1540.953NM" {
              value 31;
              description
                "C-band:31-194.55THz-1540.953nm.";
            }
            enum "194.60THZ-1540.557NM" {
              value 30;
              description
                "C-band:30-194.60THz-1540.557nm.";
            }
            enum "194.65THZ-1540.162NM" {
              value 29;
              description
                "C-band:29-194.65THz-1540.162nm.";
            }
            enum "194.70THZ-1539.766NM" {
              value 28;
              description
                "C-band:28-194.70THz-1539.766nm.";
            }
            enum "194.75THZ-1539.371NM" {
              value 27;
              description
                "C-band:27-194.75THz-1539.371nm.";
            }
            enum "194.80THZ-1538.976NM" {
              value 26;
              description
                "C-band:26-194.80THz-1538.976nm.";
            }
            enum "194.85THZ-1538.581NM" {
              value 25;
              description
                "C-band:25-194.85THz-1538.581nm.";
            }
            enum "194.90THZ-1538.186NM" {
              value 24;
              description
                "C-band:24-194.90THz-1538.186nm.";
            }
            enum "194.95THZ-1537.792NM" {
              value 23;
              description
                "C-band:23-194.95THz-1537.792nm.";
            }
            enum "195.00THZ-1537.397NM" {
              value 22;
              description
                "C-band:22-195.00THz-1537.397nm.";
            }
            enum "195.05THZ-1537.003NM" {
              value 21;
              description
                "C-band:21-195.05THz-1537.003nm.";
            }
            enum "195.10THZ-1536.609NM" {
              value 20;
              description
                "C-band:20-195.10THz-1536.609nm.";
            }
            enum "195.15THZ-1536.216NM" {
              value 19;
              description
                "C-band:19-195.15THz-1536.216nm.";
            }
            enum "195.20THZ-1535.822NM" {
              value 18;
              description
                "C-band:18-195.20THz-1535.822nm.";
            }
            enum "195.25THZ-1535.429NM" {
              value 17;
              description
                "C-band:17-195.25THz-1535.429nm.";
            }
            enum "195.30THZ-1535.036NM" {
              value 16;
              description
                "C-band:16-195.30THz-1535.036nm.";
            }
            enum "195.35THZ-1534.643NM" {
              value 15;
              description
                "C-band:15-195.35THz-1534.643nm.";
            }
            enum "195.40THZ-1534.250NM" {
              value 14;
              description
                "C-band:14-195.40THz-1534.250nm.";
            }
            enum "195.45THZ-1533.858NM" {
              value 13;
              description
                "C-band:13-195.45THz-1533.858nm.";
            }
            enum "195.50THZ-1533.465NM" {
              value 12;
              description
                "C-band:12-195.50THz-1533.465nm.";
            }
            enum "195.55THZ-1533.073NM" {
              value 11;
              description
                "C-band:11-195.55THz-1533.073nm.";
            }
            enum "195.60THZ-1532.681NM" {
              value 10;
              description
                "C-band:10-195.60THz-1532.681nm.";
            }
            enum "195.65THZ-1532.290NM" {
              value 9;
              description
                "C-band:09-195.65THz-1532.290nm.";
            }
            enum "195.70THZ-1531.898NM" {
              value 8;
              description
                "C-band:08-195.70THz-1531.898nm.";
            }
            enum "195.75THZ-1531.507NM" {
              value 7;
              description
                "C-band:07-195.75THz-1531.507nm.";
            }
            enum "195.80THZ-1531.116NM" {
              value 6;
              description
                "C-band:06-195.80THz-1531.116nm.";
            }
            enum "195.85THZ-1530.725NM" {
              value 5;
              description
                "C-band:05-195.85THz-1530.725nm.";
            }
            enum "195.90THZ-1530.334NM" {
              value 4;
              description
                "C-band:04-195.90THz-1530.334nm.";
            }
            enum "195.95THZ-1529.944NM" {
              value 3;
              description
                "C-band:03-195.95THz-1529.944nm.";
            }
            enum "196.00THZ-1529.553NM" {
              value 2;
              description
                "C-band:02-196.00THz-1529.553nm.";
            }
            enum "196.05THZ-1529.163NM" {
              value 1;
              description
                "C-band:01-196.05THz-1529.163nm.";
            }
            enum "196.10THZ-1528.773NM" {
              value 0;
              description
                "C-band:00-196.10THz-1528.773nm.";
            }
          }
          description
            "Enum of wavelength and frequence.";
        }
    
        typedef devm-trans-alarm-type {
          type enumeration {
            enum "AUAIS" {
              value 0;
              description
                "Line Alarm Indication Signal.";
            }
            enum "B3TCA" {
              value 1;
              description
                "B3 Threshold Crossing Alarm.";
            }
            enum "LAIS" {
              value 2;
              description
                "Line alarm indication Signal.";
            }
            enum "LOF" {
              value 3;
              description "Loss of Frame.";
            }
            enum "LOM" {
              value 4;
              description
                "Loss of Tributary Multiframe.";
            }
            enum "LOP" {
              value 5;
              description "Loss of Pointer.";
            }
            enum "LOS" {
              value 6;
              description "Loss of Signal.";
            }
            enum "LRDI" {
              value 7;
              description
                "Line Remote Defect Indication.";
            }
            enum "LREI" {
              value 8;
              description
                "Line Remote Error Indication.";
            }
            enum "OOF" {
              value 9;
              description "Out of Frame.";
            }
            enum "PAIS" {
              value 10;
              description
                "Path Alarm Indication Signal.";
            }
            enum "PRDI" {
              value 11;
              description
                "Path Remote Defect Indication.";
            }
            enum "PREI" {
              value 12;
              description
                "Path Remote Error Indication.";
            }
            enum "PPLM" {
              value 13;
              description
                "Path Payload Mismatch.";
            }
            enum "RDOOL" {
              value 14;
              description
                "Receive Data Out of Lock.";
            }
            enum "RROOL" {
              value 15;
              description
                "Receive Reference Out of Lock.";
            }
            enum "SDBERE" {
              value 16;
              description
                "Signal Degrade Threshold Alarm.";
            }
            enum "SFBERE" {
              value 17;
              description
                "Signal Fail Threshold Alarm.";
            }
            enum "TROOL" {
              value 18;
              description
                "Transmit Reference Out of Lock.";
            }
            enum "PUNEQ" {
              value 19;
              description
                "Path Unequipped Indication.";
            }
            enum "LCD" {
              value 20;
              description
                "Loss of Code Group Synchronization.";
            }
            enum "B1TCA" {
              value 40;
              description
                "B1 Threshold Crossing Alarm.";
            }
            enum "B2TCA" {
              value 41;
              description
                "B2 Threshold Crossing Alarm.";
            }
          }
          description "Transmission alarm type.";
        }
    
        typedef remote-port-loopback-state-type {
          type enumeration {
            enum "noloopback" {
              value 0;
              description "No loopback.";
            }
            enum "localloopback" {
              value 1;
              description "Local Loopback.";
            }
            enum "remoteloopback" {
              value 2;
              description "Remote Loopback.";
            }
          }
          description "Port loopback state.";
        }
    
        typedef remote-speed-type {
          type enumeration {
            enum "10M" {
              value 0;
              description "Configure 10M.";
            }
            enum "100M" {
              value 1;
              description "Configure 100M.";
            }
            enum "1000M" {
              value 3;
              description "Configure 1000M.";
            }
            enum "auto" {
              value 9;
              description "Auto.";
            }
          }
          description "Speed type.";
        }
    
        typedef remote-duplex-type {
          type enumeration {
            enum "half" {
              value 1;
              description "Half duplex.";
            }
            enum "full" {
              value 2;
              description "Full duplex.";
            }
            enum "auto" {
              value 0;
              description
                "Auto-negotiation mode. By default,the mode is negotiated based on hardware capabilities.";
            }
          }
          description "Duplex type.";
        }
    
        typedef remote-port-negotiation-mode-type {
          type enumeration {
            enum "slave" {
              value 0;
              description "Slave.";
            }
            enum "master" {
              value 1;
              description "Master.";
            }
          }
          description
            "Port negotiation mode type.";
        }
    
        augment /vaccess:vaccess/vaccess-master:master/vaccess-master:aps/vaccess-master:ap {
          description
            "Virtual access pic configuration information augment to module vaccess.";
          container pic-remote {
            description
              "Configure Pic-remote Configuration.";
            container global-error-monitor {
              description
                "Configure Remote Global Configuration.";
              leaf crc-enable {
                type boolean;
                default "true";
                description
                  "Enable/disable the crc error monitor.";
              }
    
              leaf symbol-enable {
                type boolean;
                default "true";
                description
                  "Enable/disable the symbol error monitor.";
              }
    
              leaf input-enable {
                type boolean;
                default "true";
                description
                  "Enable/disable the input error monitor.";
              }
    
              leaf output-enable {
                type boolean;
                default "true";
                description
                  "Enable/disable the output error monitor.";
              }
    
              leaf sdh-enable {
                type boolean;
                default "true";
                description
                  "Enable/disable the sdh error monitor.";
              }
    
              leaf badbytes-enable {
                type boolean;
                default "true";
                description
                  "Enable/disable the Bad-Bytes error monitor.";
              }
    
              leaf optical-enable {
                type boolean;
                default "true";
                description
                  "Enable/disable the optical module abnormal monitor.";
              }
    
              leaf tx-pause-enable {
                type boolean;
                default "true";
                description
                  "Enable/disable the tx-pause error monitor.";
              }
            }  // container global-error-monitor
    
            container tad-trans-alarm-if-downs {
              description
                "List of Global TAD Alarm Status Information.";
              list tad-trans-alarm-if-down {
                ext:generated-by "system";
                ext:operation-exclude "create";
                key "port-type alarm-type";
                description
                  "Configure Global TAD Alarm Status Information.";
                leaf port-type {
                  type enumeration {
                    enum "wan" {
                      value 1;
                      description
                        "WAN port type.";
                    }
                  }
                  description
                    "Global TAD Port Type. If the hardware does not support it, returning to the current interface does not support it.";
                }
    
                leaf alarm-type {
                  type devm-trans-alarm-type;
                  description
                    "Global TAD Alarm Type. If the hardware does not support it, returning to the current interface does not support it.";
                }
    
                leaf if-down {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable Global TAD Alarm If down.";
                }
              }  // list tad-trans-alarm-if-down
            }  // container tad-trans-alarm-if-downs
          }  // container pic-remote
        }
    
        augment /devm:devm {
          description "Configure a remote port.";
          container remote-ports {
            description "List of remote ports.";
            list remote-port {
              ext:generated-by "system";
              ext:operation-exclude "create";
              key "name";
              description
                "Configure remote ports.";
              leaf name {
                type pub-type:if-name;
                description
                  "The textual name of the interface. It should be the name of the interface as assigned by the local device. It should be suitable for use in commands which entered at the device's 'console'. This might be a text name, such as 'NULL0', depending on the interface naming syntax of the device.";
              }
    
              leaf loopback-mode {
                ext:dynamic-default;
                type remote-port-loopback-state-type;
                description
                  "Port loopback mode.";
              }
    
              leaf tx-enable-delay {
                ext:dynamic-default;
                type uint32 {
                  range "0..86400000";
                }
                units "ms";
                description
                  "Port tx enable delay.";
              }
    
              container ethernet {
                description
                  "Configure Ethernet port.";
                leaf flow-control {
                  ext:dynamic-default;
                  type enumeration {
                    enum "all-enable" {
                      value 3;
                      description "All enable.";
                    }
                    enum "receive-enable" {
                      value 1;
                      description
                        "Receive enable.";
                    }
                    enum "send-enable" {
                      value 2;
                      description "Send enable.";
                    }
                    enum "all-disable" {
                      value 0;
                      description "All disable.";
                    }
                  }
                  description
                    "Flow control method of an Ethernet port.";
                }
    
                leaf trans-mode {
                  ext:dynamic-default;
                  type enumeration {
                    enum "lan-mode" {
                      value 0;
                      description "LAN Mode.";
                    }
                    enum "wan-mode" {
                      value 1;
                      description "WAN Mode.";
                    }
                  }
                  description
                    "Transmit mode of an Ethernet port.";
                }
    
                leaf down-hold-time {
                  ext:dynamic-default;
                  when
                    "not(../trans-mode='wan-mode')";
                  type uint32 {
                    range "0..86400000";
                  }
                  units "ms";
                  description "Down hold time.";
                }
    
                leaf up-hold-time {
                  ext:dynamic-default;
                  when
                    "not(../trans-mode='wan-mode')";
                  type uint32 {
                    range "0..86400000";
                  }
                  units "ms";
                  description "Up hold time.";
                }
    
                leaf hold-up {
                  ext:dynamic-default;
                  type enumeration {
                    enum "enable" {
                      value 1;
                      description "Enable.";
                    }
                    enum "disable" {
                      value 0;
                      description "Disable.";
                    }
                  }
                  description
                    "Whether the hold-up function is configured on an Ethernet port.";
                }
    
                leaf inter-packet-gap {
                  ext:dynamic-default;
                  type enumeration {
                    enum "shrink" {
                      value 0;
                      description "Shrink.";
                    }
                    enum "non-shrink" {
                      value 1;
                      description "Non-shrink.";
                    }
                  }
                  description
                    "Inter-packet Gap.";
                }
    
                leaf speed {
                  ext:dynamic-default;
                  when
                    "../negotiation!='default'";
                  type remote-speed-type;
                  description
                    "Speed of an Ethernet port. This leaf needs to be set at the same time as other leafs.";
                }
    
                leaf duplex {
                  ext:dynamic-default;
                  when
                    "../negotiation!='default'";
                  type remote-duplex-type;
                  description
                    "Duplex type of an Ethernet port. This leaf needs to be set at the same time as other leafs.";
                }
    
                leaf negotiation {
                  ext:dynamic-default;
                  type enumeration {
                    enum "enable" {
                      value 1;
                      description "Enable.";
                    }
                    enum "disable" {
                      value 0;
                      description "Disable.";
                    }
                    enum "default" {
                      value 255;
                      description
                        "Auto for GE port, disable for GF port.";
                    }
                  }
                  description
                    "Auto negotiation on an Ethernet port. This leaf needs to be set at the same time as other leafs.";
                }
    
                leaf negotiation-mode {
                  ext:dynamic-default;
                  type remote-port-negotiation-mode-type;
                  must
                    "(../negotiation-mode = 'slave' and (../speed ='auto' or ../speed='1000M')) or ../negotiation-mode = 'master'";
                  description
                    "Auto negotiation mode. If the hardware does not support it, returning to the current interface does not support it.";
                }
    
                leaf gf-media-type {
                  ext:dynamic-default;
                  type enumeration {
                    enum "copper" {
                      value 3;
                      description "Copper.";
                    }
                    enum "fiber100" {
                      value 2;
                      description "Fiber 100M.";
                    }
                    enum "fiber1000" {
                      value 1;
                      description "Fiber 1000M.";
                    }
                    enum "auto" {
                      value 0;
                      description "Auto.";
                    }
                  }
                  description
                    "Medium type on an Ethernet GF port. This leaf needs to be set at the same time as other leafs.";
                }
    
                leaf flow-control-state {
                  type enumeration {
                    enum "all-enable" {
                      value 3;
                      description "All enable.";
                    }
                    enum "receive-enable" {
                      value 1;
                      description
                        "Receive enable.";
                    }
                    enum "send-enable" {
                      value 2;
                      description "Send enable.";
                    }
                    enum "all-disable" {
                      value 0;
                      description "All disable.";
                    }
                  }
                  config false;
                  description
                    "Flow control method of an Ethernet port.";
                }
    
                container eth-wan-attr {
                  when
                    "../trans-mode='wan-mode'";
                  description
                    "Configure Ethernet port attributes.";
                  leaf frame-format {
                    ext:dynamic-default;
                    type enumeration {
                      enum "SDH" {
                        value 0;
                        description
                          "Synchronous Digital Hierarchy.";
                      }
                      enum "SONET" {
                        value 1;
                        description
                          "Synchronous Optical Network.";
                      }
                    }
                    description
                      "Frame format of an Ethernet WAN port.";
                  }
    
                  leaf j0-mode {
                    ext:dynamic-default;
                    type enumeration {
                      enum "1byte" {
                        value 1;
                        description
                          "Configure 1 byte mode.";
                      }
                      enum "16byte" {
                        value 16;
                        description
                          "Configure 16 bytes mode.";
                      }
                      enum "64byte-or-null-mode" {
                        value 64;
                        description
                          "Configure 64bytes or null mode.";
                      }
                    }
                    description
                      "J0 mode on an Ethernet WAN port.";
                  }
    
                  leaf j0-value {
                    ext:dynamic-default;
                    when "../j0-mode='1byte'";
                    type uint32 {
                      range "0..255";
                    }
                    description
                      "Value of j0-mode on an Ethernet WAN port.";
                  }
    
                  leaf j0-trace {
                    ext:dynamic-default;
                    when
                      "../j0-mode='16byte' or ../j0-mode='64byte-or-null-mode'";
                    type string {
                      length "1..62";
                    }
                    must
                      "(string-length(../j0-trace)<16 and ../j0-mode='16byte') or ../j0-mode='64byte-or-null-mode'";
                    description
                      "Description of the j0 mode on an Ethernet WAN port.";
                  }
    
                  leaf j1-mode {
                    ext:dynamic-default;
                    type enumeration {
                      enum "1byte" {
                        value 1;
                        description
                          "Configure 1 byte mode.";
                      }
                      enum "16byte" {
                        value 16;
                        description
                          "Configure 16 bytes mode.";
                      }
                      enum "64byte-or-null-mode" {
                        value 64;
                        description
                          "Configure 64byte or null mode.";
                      }
                    }
                    description
                      "J1 mode on an Ethernet WAN port.";
                  }
    
                  leaf j1-value {
                    ext:dynamic-default;
                    when "../j1-mode='1byte'";
                    type uint32 {
                      range "0..255";
                    }
                    description
                      "Value of j1-mode on an Ethernet WAN port.";
                  }
    
                  leaf j1-trace {
                    ext:dynamic-default;
                    when
                      "../j1-mode='16byte' or ../j1-mode='64byte-or-null-mode'";
                    type string {
                      length "1..62";
                    }
                    must
                      "(string-length(../j1-trace)<16 and ../j1-mode='16byte') or ../j1-mode='64byte-or-null-mode'";
                    description
                      "Description of the j1 mode on an Ethernet WAN port.";
                  }
    
                  leaf c2 {
                    ext:dynamic-default;
                    type uint32 {
                      range "0..255";
                    }
                    description
                      "C2 mode on an Ethernet WAN port.";
                  }
    
                  leaf clock {
                    ext:dynamic-default;
                    type enumeration {
                      enum "master" {
                        value 0;
                        description
                          "Master clock.";
                      }
                      enum "slave" {
                        value 1;
                        description
                          "Slave clock.";
                      }
                    }
                    description
                      "Active/standby clock on an Ethernet WAN port.";
                  }
    
                  leaf scramble {
                    ext:dynamic-default;
                    type enumeration {
                      enum "enable" {
                        value 3;
                        description "Enable.";
                      }
                      enum "disable" {
                        value 0;
                        description "Disable.";
                      }
                    }
                    description
                      "Whether the scrambling function is configured on an Ethernet WAN port.";
                  }
                }  // container eth-wan-attr
              }  // container ethernet
    
              container laser {
                description
                  "Configure Laser. Port insertion does not support configuration for some optical modules, such as electrical modules.";
                leaf auto-shut-enable {
                  ext:dynamic-default;
                  type enumeration {
                    enum "enable" {
                      value 1;
                      description
                        "Laser automatic shutdown enable.";
                    }
                    enum "disable" {
                      value 0;
                      description
                        "Laser automatic shutdown disable.";
                    }
                  }
                  description
                    "Laser auto shutdown.";
                }
    
                leaf open-time {
                  ext:dynamic-default;
                  type uint32 {
                    range "100..300";
                  }
                  units "10 ms";
                  description "Laser open time.";
                }
    
                leaf close-time {
                  ext:dynamic-default;
                  type uint32 {
                    range "200..30000";
                  }
                  units "10 ms";
                  description
                    "Laser close time.";
                }
              }  // container laser
    
              container optical-module {
                description
                  "Configure information about optical transceivers.";
                leaf rx-high-power-warn-enable {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable receiving optical power high warning.";
                }
    
                leaf rx-low-power-warn-enable {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable receiving optical power low warning.";
                }
    
                leaf tx-high-power-warn-enable {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable transmit optical power high warning.";
                }
    
                leaf tx-low-power-warn-enable {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable transmit optical power low warning.";
                }
    
                leaf volt-high-warn-enable {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable optical module voltage high warning.";
                }
    
                leaf volt-low-warn-enable {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable optical module voltage low warning.";
                }
    
                leaf wavelength-channel-number {
                  ext:dynamic-default;
                  type tunable-wavelength-type;
                  must
                    "not(../tunable-wavelength or ../tunable-frequency)";
                  description
                    "Tunable optical module wave length.";
                }
    
                leaf tunable-wavelength {
                  ext:dynamic-default;
                  type uint32 {
                    range "0..4294967294";
                  }
                  units "10 fm";
                  must
                    "not(../wavelength-channel-number or ../tunable-frequency)";
                  description
                    "Wavelength value of a tunable optical module. Any two of the following cannot be set at the same time: wavelength channel number, wavelength value, and frequency value.";
                }
    
                leaf tunable-frequency {
                  ext:dynamic-default;
                  type uint32 {
                    range "0..4294967294";
                  }
                  units "10 MHz";
                  must
                    "not(../tunable-wavelength or ../wavelength-channel-number)";
                  description
                    "Frequency value of a tunable optical module. Any two of the following cannot be set at the same time: wavelength channel number, wavelength value, and frequency value.";
                }
              }  // container optical-module
    
              container transmission-alarm {
                when
                  "../ethernet/trans-mode='wan-mode'";
                description
                  "Configure TAD Alarm Information.";
                leaf holdoff-timer {
                  ext:dynamic-default;
                  type uint32 {
                    range "0|20..10000";
                  }
                  units "ms";
                  description
                    "TAD Hold Down Time.";
                }
    
                leaf holdup-timer {
                  ext:dynamic-default;
                  type uint32 {
                    range "0|200..3600000";
                  }
                  units "ms";
                  description
                    "TAD Hold Up Time.";
                }
    
                leaf threshold-b3tca {
                  ext:dynamic-default;
                  type uint32 {
                    range "3..9";
                  }
                  description
                    "TAD Alarm B3tca Threshold (x of 10e-x).";
                }
    
                leaf threshold-b1tca {
                  ext:dynamic-default;
                  type uint32 {
                    range "3..9";
                  }
                  description
                    "TAD Alarm B1tca Threshold (x of 10e-x).";
                }
    
                leaf threshold-b2tca {
                  ext:dynamic-default;
                  type uint32 {
                    range "3..9";
                  }
                  description
                    "TAD Alarm B2tca Threshold (x of 10e-x).";
                }
    
                leaf threshold-sdbere {
                  ext:dynamic-default;
                  type uint32 {
                    range "3..9";
                  }
                  must
                    "../threshold-sdbere >= ../threshold-sfbere";
                  description
                    "TAD Alarm Sdbere Threshold (x of 10e-x).";
                }
    
                leaf threshold-sfbere {
                  ext:dynamic-default;
                  type uint32 {
                    range "3..9";
                  }
                  must
                    "../threshold-sdbere >= ../threshold-sfbere";
                  description
                    "TAD Alarm Sfbere Threshold (x of 10e-x).";
                }
    
                leaf damp-suppress {
                  type uint32 {
                    range "2..19999";
                  }
                  must
                    "((../damp-suppress and ../damp-reuse and ../damp-ceiling and ../damp-decay-ok and ../damp-decay-ng) and ../damp-suppress >= ../damp-reuse and ../damp-suppress < ../damp-ceiling) or 
                  (not(../damp-suppress) and not(../damp-reuse) and not(../damp-ceiling) and not(../damp-decay-ok) and not(../damp-decay-ng))";
                  description
                    "TAD Alarm Damp Suppress Value.";
                }
    
                leaf damp-reuse {
                  type uint32 {
                    range "1..19998";
                  }
                  must
                    "((../damp-suppress and ../damp-reuse and ../damp-ceiling and ../damp-decay-ok and ../damp-decay-ng) and ../damp-suppress >= ../damp-reuse) or 
                  (not(../damp-suppress) and not(../damp-reuse) and not(../damp-ceiling) and not(../damp-decay-ok) and not(../damp-decay-ng))";
                  description
                    "TAD Alarm Damping Reuse Value.";
                }
    
                leaf damp-ceiling {
                  type uint32 {
                    range "1001..20000";
                  }
                  must
                    "((../damp-suppress and ../damp-reuse and ../damp-ceiling and ../damp-decay-ok and ../damp-decay-ng) and ../damp-suppress < ../damp-ceiling) or 
                  (not(../damp-suppress) and not(../damp-reuse) and not(../damp-ceiling) and not(../damp-decay-ok) and not(../damp-decay-ng))";
                  description
                    "TAD Alarm Damping Ceiling Value.";
                }
    
                leaf damp-decay-ok {
                  type uint32 {
                    range "500..10000";
                  }
                  units "ms";
                  must
                    "(../damp-suppress and ../damp-reuse and ../damp-ceiling and ../damp-decay-ok and ../damp-decay-ng) or 
                  (not(../damp-suppress) and not(../damp-reuse) and not(../damp-ceiling) and not(../damp-decay-ok) and not(../damp-decay-ng))";
                  description
                    "TAD Alarm OK Half Decay Value.";
                }
    
                leaf damp-decay-ng {
                  type uint32 {
                    range "500..10000";
                  }
                  units "ms";
                  must
                    "(../damp-suppress and ../damp-reuse and ../damp-ceiling and ../damp-decay-ok and ../damp-decay-ng) or 
                  (not(../damp-suppress) and not(../damp-reuse) and not(../damp-ceiling) and not(../damp-decay-ok) and not(../damp-decay-ng))";
                  description
                    "TAD Alarm NG Half Decay Value.";
                }
    
                container trans-alarm-if-downs {
                  description
                    "List of TAD Alarm Status Information.";
                  list trans-alarm-if-down {
                    ext:generated-by "system";
                    ext:operation-exclude "create";
                    key "alarm-type";
                    description
                      "Configure TAD Alarm Status Information.";
                    leaf alarm-type {
                      type devm-trans-alarm-type;
                      description
                        "TAD Alarm Type.";
                    }
    
                    leaf if-down {
                      ext:dynamic-default;
                      type boolean;
                      description
                        "Enable/disable TAD Alarm If down. If the if-down is true, the alarm will cause the port down.";
                    }
                  }  // list trans-alarm-if-down
                }  // container trans-alarm-if-downs
              }  // container transmission-alarm
    
              container port-alarm {
                description
                  "Configure port alarm information.";
                leaf crc-enable-down {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable CRC error enable down.";
                }
    
                leaf input-enable-down {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable input error enable down.";
                }
    
                leaf input-error-high-threshold {
                  ext:dynamic-default;
                  type uint32 {
                    range "1..4294967295";
                  }
                  must
                    "../input-error-high-threshold >= ../input-error-low-threshold";
                  description
                    "The high threshold of input error alarm threshold. The number of error packets counted in the time in interval exceeds this threshold will produce input-error alarm.";
                }
    
                leaf input-error-low-threshold {
                  ext:dynamic-default;
                  type uint32 {
                    range "1..4294967295";
                  }
                  must
                    "../input-error-high-threshold >= ../input-error-low-threshold";
                  description
                    "The low threshold of input error alarm threshold. The number of error packets counted in the time in interval less than this threshold will recover input-error alarm.";
                }
    
                leaf input-error-interval {
                  ext:dynamic-default;
                  type uint32 {
                    range "1..65535";
                  }
                  units "s";
                  description
                    "Time interval for statistical input-error alarm.";
                }
    
                leaf output-enable-down {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable output error enable down.";
                }
    
                leaf output-error-high-threshold {
                  ext:dynamic-default;
                  type uint32 {
                    range "1..4294967295";
                  }
                  must
                    "../output-error-high-threshold >= ../output-error-low-threshold";
                  description
                    "The high threshold of output error alarm threshold. The number of error packets counted in the time in interval exceeds this threshold will produce output-error alarm.";
                }
    
                leaf output-error-low-threshold {
                  ext:dynamic-default;
                  type uint32 {
                    range "1..4294967295";
                  }
                  must
                    "../output-error-high-threshold >= ../output-error-low-threshold";
                  description
                    "The low threshold of output error alarm threshold. The number of error packets counted in the time in interval less than this threshold will recover output-error alarm.";
                }
    
                leaf output-error-interval {
                  ext:dynamic-default;
                  type uint32 {
                    range "1..65535";
                  }
                  units "s";
                  description
                    "Time interval for statistical output-error alarm.";
                }
    
                leaf physical-updown-enable {
                  ext:dynamic-default;
                  type boolean;
                  description
                    "Enable/disable physical up/down enable.";
                }
    
                container eth-port-alarm {
                  description
                    "Configure ethernet port alarm information.";
                  leaf symbol-enable-down {
                    ext:dynamic-default;
                    type boolean;
                    description
                      "Enable/disable symbol error enable down.";
                  }
    
                  leaf symbol-error-high-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..4294967295";
                    }
                    must
                      "../symbol-error-high-threshold >= ../symbol-error-low-threshold";
                    description
                      "The high threshold of symbol error alarm threshold. The number of error packets counted in the time in interval exceeds this threshold will produce symbol-error alarm.";
                  }
    
                  leaf symbol-error-low-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..4294967295";
                    }
                    must
                      "../symbol-error-high-threshold >= ../symbol-error-low-threshold";
                    description
                      "The low threshold of symbol error alarm threshold. The number of error packets counted in the time in interval less than this threshold will recover symbol-error alarm.";
                  }
    
                  leaf symbol-error-interval {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..65535";
                    }
                    units "s";
                    description
                      "Time interval for statistical symbol-error alarm.";
                  }
    
                  leaf bip8-sd-enable-down {
                    ext:dynamic-default;
                    type boolean;
                    description
                      "Enable/disable BIP8-SD error enable down.";
                  }
    
                  leaf bip8-sd-error-high-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "6..9";
                    }
                    description
                      "The high threshold of BIP8-SD error alarm threshold (x of 10Ex). The number of error packets counted in the time in interval exceeds this threshold will produce bip8-sd-error alarm.";
                  }
    
                  leaf bad-bytes-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "Bad-bytes alarm Threshold.";
                  }
    
                  leaf bad-bytes-interval {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..65535";
                    }
                    units "s";
                    description
                      "Time interval for statistical bad-bytes alarm.";
                  }
    
                  leaf tx-pause-error-high-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..4294967295";
                    }
                    must
                      "../tx-pause-error-high-threshold >= ../tx-pause-error-low-threshold";
                    description
                      "The high threshold of tx-pause error alarm threshold. The number of error packets counted in the time in interval exceeds this threshold will produce tx-pause-error alarm.";
                  }
    
                  leaf tx-pause-error-low-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..4294967295";
                    }
                    must
                      "../tx-pause-error-high-threshold >= ../tx-pause-error-low-threshold";
                    description
                      "The low threshold of tx-pause error alarm threshold. The number of error packets counted in the time in interval less than this threshold will recover tx-pause-error alarm.";
                  }
    
                  leaf tx-pause-error-interval {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..65535";
                    }
                    units "s";
                    description
                      "Time interval for statistical tx-pause-error alarm.";
                  }
                }  // container eth-port-alarm
    
                container sdh-port-alarm {
                  when
                    "../../ethernet/trans-mode='wan-mode'";
                  description
                    "Configure SDH port alarm information.";
                  leaf sdh-enable-down {
                    ext:dynamic-default;
                    type boolean;
                    description
                      "Enable/disable SDH error enable down.";
                  }
    
                  leaf sdh-error-high-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..4294967295";
                    }
                    must
                      "../sdh-error-high-threshold >= ../sdh-error-low-threshold";
                    description
                      "The high threshold of SDH error alarm threshold. The number of error packets counted in the time in interval exceeds this threshold will produce sdh-error alarm.";
                  }
    
                  leaf sdh-error-low-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..4294967295";
                    }
                    must
                      "../sdh-error-high-threshold >= ../sdh-error-low-threshold";
                    description
                      "The low threshold of SDH error alarm threshold. The number of error packets counted in the time in interval less than this threshold will recover sdh-error alarm.";
                  }
    
                  leaf sdh-error-interval {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..65535";
                    }
                    units "s";
                    description
                      "Time interval for statistical sdh-error alarm.";
                  }
    
                  leaf sdh-b1-error-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "B1 error threshold.";
                  }
    
                  leaf sdh-b1-error-interval {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..65535";
                    }
                    units "s";
                    description
                      "B1 error interval.";
                  }
    
                  leaf sdh-b2-error-threshold {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..65535";
                    }
                    description
                      "B2 error threshold.";
                  }
    
                  leaf sdh-b2-error-interval {
                    ext:dynamic-default;
                    type uint32 {
                      range "1..65535";
                    }
                    units "s";
                    description
                      "B2 error interval.";
                  }
                }  // container sdh-port-alarm
    
                choice alarm-type {
                  default "crc-error-threshold";
                  description
                    "CRC alarm config.";
                  case crc-error-threshold {
                    description
                      "Configure set crc error threshold.";
                    container crc-error-threshold {
                      description
                        "Configure set crc error threshold.";
                      leaf crc-error-high {
                        ext:dynamic-default;
                        type uint32 {
                          range "1..4294967295";
                        }
                        must
                          "(../crc-error-high >= ../crc-error-low) and not(../crc-error-percent-alm-thr)";
                        description
                          "The high threshold of CRC error alarm threshold. The number of error packets counted in the time in interval exceeds this threshold will produce crc-error alarm.";
                      }
    
                      leaf crc-error-low {
                        ext:dynamic-default;
                        type uint32 {
                          range "1..4294967295";
                        }
                        must
                          "(../crc-error-high >= ../crc-error-low) and not(../crc-error-percent-alm-thr)";
                        description
                          "The low threshold of CRC error alarm threshold. The number of error packets counted in the time in interval less than this threshold will recover crc-error alarm.";
                      }
    
                      leaf crc-error-interval {
                        ext:dynamic-default;
                        type uint32 {
                          range "1..65535";
                        }
                        units "s";
                        description
                          "Time interval for statistical crc-error alarm.";
                      }
    
                      leaf crc-shutdown-enable {
                        ext:dynamic-default;
                        type boolean;
                        must
                          "not(../crc-error-percent-alm-thr)";
                        description
                          "Enable/disable crc shutdown. The port will shutdown when the number of error packets counted in the time in interval exceeds threshold.";
                      }
    
                      leaf crc-error-percent-alm-thr {
                        ext:dynamic-default;
                        type uint32 {
                          range "1..100";
                        }
                        units "%";
                        must
                          "not(../crc-error-high) and not(../crc-error-low) and not(../crc-error-interval) and not(../crc-shutdown-enable)";
                        description
                          "Crc-error alarm percent threshold, Higher than this threshold will produce crc-error alarm, lower than this threshold will recover crc-error alarm.";
                      }
                    }  // container crc-error-threshold
                  }  // case crc-error-threshold
    
                  case link-crc {
                    description
                      "Enable/disable set link quality bit error ratio threshold and crc packet-error-ratio alarm threshold.";
                    container link-quality {
                      must
                        "(link-quality-alm-thr-coefficient > link-quality-rsum-thr-coefficient and link-quality-alm-thr-power = link-quality-rsum-thr-power) or (link-quality-alm-thr-power < link-quality-rsum-thr-power)";
                      presence
                        "Enable link quality threshold.";
                      description
                        "Enable/disable set link quality bit error ratio threshold.";
                      leaf link-quality-alm-thr-coefficient {
                        type uint32 {
                          range "1..9";
                        }
                        mandatory true;
                        description
                          "Link-quality alarm bit error ratio trigger coefficient.";
                      }
    
                      leaf link-quality-alm-thr-power {
                        type uint32 {
                          range "1..7";
                        }
                        mandatory true;
                        description
                          "Link-quality alarm bit error ratio trigger power.";
                      }
    
                      leaf link-quality-rsum-thr-coefficient {
                        type uint32 {
                          range "1..9";
                        }
                        mandatory true;
                        description
                          "Link-quality alarm bit error ratio recovery coefficient.";
                      }
    
                      leaf link-quality-rsum-thr-power {
                        type uint32 {
                          range "1..7";
                        }
                        mandatory true;
                        description
                          "Link-quality alarm bit error ratio recovery power.";
                      }
                    }  // container link-quality
    
                    container crc-per-alarm {
                      must
                        "((crc-per-alm-thr-coefficient > crc-per-rsum-thr-coefficient and crc-per-alm-thr-power = crc-per-rsum-thr-power) or (crc-per-alm-thr-power < crc-per-rsum-thr-power))";
                      must
                        "((crc-per-alm-section-enable='false' and crc-per-alm-lsp-enable='true') or (crc-per-alm-section-enable='true' and crc-per-alm-lsp-enable='false') or (crc-per-alm-section-enable='false' and crc-per-alm-lsp-enable='false'))";
                      presence
                        "Enable crc alarm threshold.";
                      description
                        "Enable/disable set crc packet-error-ratio alarm threshold.";
                      leaf crc-per-alm-thr-coefficient {
                        type uint32 {
                          range "1..9";
                        }
                        mandatory true;
                        description
                          "Packet error ratio coefficient (x of xE-y).";
                      }
    
                      leaf crc-per-alm-thr-power {
                        type uint32 {
                          range "1..5";
                        }
                        mandatory true;
                        description
                          "Packet error ratio exponent (y of xE-y).";
                      }
    
                      leaf crc-per-rsum-thr-coefficient {
                        type uint32 {
                          range "1..9";
                        }
                        mandatory true;
                        description
                          "For resume-threshold: Packet error ratio coefficient (x of xE-y).";
                      }
    
                      leaf crc-per-rsum-thr-power {
                        type uint32 {
                          range "1..6";
                        }
                        mandatory true;
                        description
                          "For resume-threshold: Packet error ratio exponent (y of xE-y).";
                      }
    
                      leaf crc-per-alm-lsp-enable {
                        type boolean;
                        mandatory true;
                        description
                          "Enable/disable configure PER (packet error ratio) of crc-error trigger LSP.";
                      }
    
                      leaf crc-per-alm-section-enable {
                        type boolean;
                        mandatory true;
                        description
                          "Enable/disable configure PER (packet error ratio) of crc-error trigger section.";
                      }
    
                      container crc-sample {
                        must
                          "crc-per-child-win-alarm-num <= crc-per-child-win-max-num and crc-per-child-win-resume-num <= crc-per-child-win-max-num";
                        description
                          "Configure crc error windows.";
                        leaf crc-per-samp-win-factor {
                          ext:dynamic-default;
                          type uint32 {
                            range "10..100";
                          }
                          description
                            "Sample window factor.";
                        }
    
                        leaf crc-per-child-win-max-num {
                          ext:dynamic-default;
                          type uint32 {
                            range "10..100";
                          }
                          description
                            "Maximum number of child windows.";
                        }
    
                        leaf crc-per-child-win-alarm-num {
                          ext:dynamic-default;
                          type uint32 {
                            range "1..100";
                          }
                          description
                            "Minimal number of child windows for alarm generating.";
                        }
    
                        leaf crc-per-child-win-resume-num {
                          ext:dynamic-default;
                          type uint32 {
                            range "1..100";
                          }
                          description
                            "Minimal number of child windows for alarm resuming.";
                        }
    
                        leaf crc-alg-realtime-factor {
                          ext:dynamic-default;
                          type uint32 {
                            range "0..10";
                          }
                          description
                            "Realtime factor template for crc-error algorithm.";
                        }
                      }  // container crc-sample
                    }  // container crc-per-alarm
                  }  // case link-crc
                }  // choice alarm-type
              }  // container port-alarm
            }  // list remote-port
          }  // container remote-ports
        }
      }  // module huawei-pic-remote
    

© 2023 YumaWorks, Inc. All rights reserved.