ietf-trill

TRILL Yang Module

  • Version: 2015-12-21

    ietf-trill@2015-12-21


    
      module ietf-trill {
    
        yang-version 1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:ietf-trill";
    
        prefix trill;
    
        organization "IETF TRILL Working Group";
    
        contact
          "WG Web: <http://tools.ietf.org/wg/TRILL/>
      WG List:  <mailto:trill@ietf.org>
    
      WG Chair: Susan Hares
                <mailto:shares@ndzh.com>
    
      Editor: Weiguo Hao
              <mailto:haoweiguo@huawei.com>";
    
        description "TRILL Yang Module";
    
        revision "2015-12-21" {
          description
            "04 version, as per RFC6325";
          reference
            "draft-ietf-trill-yang-04";
    
        }
    
    
        typedef port-mode {
          type enumeration {
            enum "access" {
              value 0;
              description "Access Port";
            }
            enum "p2p" {
              value 1;
              description "P2P Hello Link";
            }
            enum "trunk" {
              value 2;
              description "Trunk Port";
            }
            enum "hybrid" {
              value 3;
              description
                "Both Trunk and Access Port";
            }
          }
          description "TRILL port mode type";
        }
    
        typedef drb-state {
          type enumeration {
            enum "non-drb" {
              value 0;
              description "Non-DRB Port";
            }
            enum "drb" {
              value 1;
              description "DRB Port";
            }
            enum "down" {
              value 2;
              description "Down Port";
            }
            enum "suspended" {
              value 3;
              description "Suspended Port";
            }
          }
          description
            "TRILL DRB port state type.";
        }
    
        typedef peer-state {
          type enumeration {
            enum "report" {
              value 0;
              description "report state";
            }
            enum "detect" {
              value 1;
              description "detect state";
            }
            enum "down" {
              value 2;
              description "down state";
            }
            enum "2way" {
              value 3;
              description "2way state";
            }
          }
          description
            "TRILL neighbour state type.";
        }
    
        typedef authen-mode {
          type enumeration {
            enum "simple" {
              value 0;
              description
                "Indicates that the password is transmitted
            in plaintext";
            }
            enum "md5" {
              value 1;
              description
                "Indicates that the password is transmitted
            after encryption by MD5.";
            }
            enum "keychain" {
              value 2;
              description
                "Indicates that the password is a keychain
            which varies with time.";
            }
          }
          description
            "TRILL authentication mode.";
        }
    
        typedef conflict-state {
          type enumeration {
            enum "S" {
              value 0;
              description "Nickname suspended";
            }
            enum "A" {
              value 1;
              description "Nickname advertised";
            }
          }
          description "Nickname conflict state.";
        }
    
        typedef static-flag {
          type enumeration {
            enum "S" {
              value 0;
              description "Manually configured";
            }
            enum "D" {
              value 1;
              description "Dynamic generated";
            }
          }
          description
            "Static or dynamic nickname flag.";
        }
    
        container trill-site {
          description
            "Trill all configuration and display information";
          leaf max-loadbalance-num {
            type uint8 {
              range "1..max";
            }
            default "32";
            description
              "The maximum number of equal-cost
          routes for load-balancing.";
          }
    
          leaf bandwidth-reference {
            type uint32 {
              range "1..2147483648";
            }
            default "20000000";
            description
              "Sets the bandwidth reference value
          for a TRILL interface. Unit:M bit/s.
          Cost of the interface = Bandwidth reference
          value/Interface bandwidth";
          }
    
          leaf native-confidence {
            type uint8;
            default "32";
            description
              "The confidence in { MAC, VLAN, local port }
          triples learned from locally received native frames";
          }
    
          leaf remote-confidence {
            type uint8;
            default "32";
            description
              "The confidence in { MAC, VLAN, remote RBridge}
          triples learned from decapsulating frames";
          }
    
          leaf min-link-mtu {
            type uint16 {
              range "1..max";
            }
            default "1470";
            description "Minimum link MTU";
          }
    
          leaf mtu-probes {
            type uint8 {
              range "1..max";
            }
            default "3";
            description
              "The number of failed MTU-probes";
          }
    
          container lsp-timer {
            description
              "LSP timer configuration";
            leaf lspLife {
              type uint16 {
                range "2..max";
              }
              default "1200";
              description
                "LSP aging timer.Unit:Second";
            }
    
            leaf lsp-refresh {
              type uint16 {
                range "1..65534";
              }
              default "900";
              description
                "LSP refresh timer.Unit:Second";
            }
    
            leaf lsp-generation {
              type uint8 {
                range "1..120";
              }
              default "2";
              description
                "LSP generate timer.Unit:Second";
            }
          }  // container lsp-timer
    
          container lsp-snp-authen {
            description
              "Authentication information for LSPs and SNPs";
            leaf authen-mode {
              type authen-mode;
              description "authentication-mode ";
            }
    
            leaf cipher-or-plain {
              type boolean;
              description
                "0 indicates that the password is in ciphertext,
    1 indicates that the password is in plaintext";
            }
    
            leaf password-key {
              type string;
              description
                "The value is a string of case-sensitive
    characters, spaces not supported. The password range varies
    with the authentication mode. When the authentication mode
    is simple, the value is a string of 1 to 16 characters
    in simple text, or a string of 32 characters in ciphertext.
    When the authentication mode is md5, the value is a string
    of 1 to 255 characters in simple text, or a string of 32 to
    392
    characters in ciphertext.";
            }
    
            leaf password {
              type string;
              description
                "The value is a string of case-sensitive
    characters,
    spaces not supported. The password range varies with the
    authentication mode. When the authentication mode is simple,
    the password ranges from 1 to 16 characters. When the
    authentication mode is md5, the password ranges
    from 1 to 255 characters.";
            }
    
            leaf keychain {
              type string;
              description
                "The name is keychain name which is a string
    of 1 to 47 case-insensitive characters, spaces not supported.";
            }
          }  // container lsp-snp-authen
    
          container tree-para {
            description
              "Distribution tree configuration";
            leaf nick-number {
              type uint16 {
                range "1..256";
              }
              default "1";
              description "Nickname number";
            }
    
            leaf tree-number {
              type uint16 {
                range "1..max";
              }
              default "1";
              description
                "Distribution tree number";
            }
          }  // container tree-para
    
          leaf-list net-entity {
            type string;
            description "TRILL network entity";
          }
    
          container nicknames {
            description
              "All Nicknames and the associated properties";
            list nickname {
              key "nickName";
              description
                "Each nickname and the associated property";
              leaf nickName {
                type uint16 {
                  range "1..65471";
                }
                description "Nickname value";
              }
    
              leaf priority {
                type uint8 {
                  range "128..max";
                }
                default "192";
                description "Nickname priority";
              }
    
              leaf root-priority {
                type uint16 {
                  range "1..max";
                }
                default "32768";
                description
                  "Nickname root priority";
              }
            }  // list nickname
          }  // container nicknames
    
          container trill-ports {
            description
              "All TRILL port configurations";
            list trill-port {
              key "ifName";
              description
                "Each TRILL port configuration";
              leaf ifName {
                type string;
                description "trill interface";
              }
    
              leaf port-mode {
                type port-mode;
                default "p2p";
                description "TRILL port mode";
              }
    
              container hello-authen {
                description
                  "Authentication information for Hellos";
                leaf authen-mode {
                  type authen-mode;
                  description
                    "authentication-mode ";
                }
    
                leaf cipher-or-plain {
                  type boolean;
                  description
                    "0 indicates that the password is in ciphertext,
    1 indicates that the password is in plaintext";
                }
    
                leaf password-key {
                  type string;
                  description
                    "The value is a string of case-sensitive
    characters, spaces not supported. The password range varies
    with the authentication mode. When the authentication mode
    is simple, the value is a string of 1 to 16 characters
    in simple text, or a string of 32 characters in ciphertext.
    When the authentication mode is md5, the value is a string
    of 1 to 255 characters in simple text, or a string of 32 to
    392
    characters in ciphertext.";
                }
    
                leaf password {
                  type string;
                  description
                    "The value is a string of case-sensitive
    characters,
    spaces not supported. The password range varies with the
    authentication mode. When the authentication mode is simple,
    the password ranges from 1 to 16 characters. When the
    authentication mode is md5, the password ranges
    from 1 to 255 characters.";
                }
    
                leaf keychain {
                  type string;
                  description
                    "The name is keychain name which is a string
    of 1 to 47 case-insensitive characters, spaces not supported.";
                }
              }  // container hello-authen
    
              leaf csnp-timer {
                type uint16 {
                  range "1..max";
                }
                default "10";
                description "Csnp-timer value";
              }
    
              leaf hello {
                type uint8 {
                  range "3..max";
                }
                default "10";
                description "Hello timer value";
              }
    
              leaf holding-multiplier {
                type uint16 {
                  range "3..1000";
                }
                default "3";
                description
                  "Holding-multiplier timer value";
              }
    
              leaf lsp-retransmit {
                type uint16 {
                  range "1..300";
                }
                default "5";
                description
                  "Lsp retransmit timers";
              }
    
              container lsp-throttle {
                description
                  "TRILL LSP throttle configuration.";
                leaf throttleInterval {
                  type uint16 {
                    range "1..10000";
                  }
                  default "50";
                  description
                    "The interval timer between
                two LSP messages.Unit:ms";
                }
    
                leaf count-number {
                  type uint16 {
                    range "1..1000";
                  }
                  default "10";
                  description
                    "The max messages number being
                sent each time.Unit:ms";
                }
              }  // container lsp-throttle
    
              leaf inhibition-timer {
                type uint8 {
                  range "0..30";
                }
                default "30";
                description
                  "The inhibition time for the port
              when root bridge changes.Unit:Second";
              }
    
              container drb-config {
                description
                  "TRILL DRB negotiation parameter";
                leaf drb-priority {
                  type uint8 {
                    range "0..127";
                  }
                  default "64";
                  description "Drb priority";
                }
    
                leaf holding-timer {
                  type uint8 {
                    range "3..255";
                  }
                  default "10";
                  description "Holding timer";
                }
              }  // container drb-config
    
              leaf mac-learning-flag {
                type boolean;
                default "true";
                description
                  "if learning MAC address from locally
              received native frames";
              }
    
              leaf trill-frame-receive-flag {
                type boolean;
                default "false";
                description
                  "if receiving of TRILL frames from
              non IS-IS adjacency";
              }
    
              leaf cost {
                type uint32 {
                  range "0..16777215";
                }
                default "0";
                description "link cost";
              }
    
              leaf enabled-vlans {
                type binary {
                  length "1..512";
                }
                description "Enabled vlans";
              }
    
              leaf announcing-vlans {
                type binary {
                  length "1..512";
                }
                description "Announcing vlans";
              }
    
              leaf forwarding-vlans {
                type binary {
                  length "1..512";
                }
                description "Forwarding vlans";
              }
    
              leaf designated-vlan {
                type uint16 {
                  range "1..4096";
                }
                description "Designated vlans";
              }
            }  // list trill-port
          }  // container trill-ports
    
          container vlan-para {
            description "All VLAN parameters";
            list vlan-config {
              key "vlan-id";
              description "Each VLAN parameter";
              leaf vlan-id {
                type uint16 {
                  range "1..4096";
                }
                description "Vlan Id";
              }
    
              leaf participation-flag {
                type boolean;
                default "false";
                description "Participation flag";
              }
    
              leaf priority {
                type uint8 {
                  range "0..127";
                }
                default "64";
                description "Vlan priority";
              }
    
              leaf holdingTimer {
                type uint8 {
                  range "3..max";
                }
                default "10";
                description "Holding timer";
              }
            }  // list vlan-config
          }  // container vlan-para
    
          container trill-route-infos {
            description
              "All TRILL unicast route informations";
            list trill-route-info {
              key "nickname nexthop";
              config false;
              description
                "Each TRILL unicast route information";
              leaf nickname {
                type uint32;
                config false;
                description
                  "Dest nickname for the route";
              }
    
              leaf cost {
                type uint32;
                config false;
                description
                  "The link cost to the nickname";
              }
    
              leaf out-interface {
                type string;
                config false;
                description
                  "Out interface to the nickname";
              }
    
              leaf out-vlan {
                type uint32;
                config false;
                description
                  "Out vlan on the out interface";
              }
    
              leaf nexthop {
                type string;
                config false;
                description
                  "Next hop to the nickname";
              }
    
              leaf hop-count {
                type uint32;
                config false;
                description
                  "Hop count to the nickname";
              }
            }  // list trill-route-info
          }  // container trill-route-infos
    
          container trill-mroute-infos {
            description
              "TRILL multicast route information";
            list trill-mroute-info {
              key "vlan root-nickname";
              config false;
              description
                "Distribution pruning tree route table;
           For non-pruning tree, VLAN is set to be 0XFFFF";
              leaf vlan {
                type uint16;
                description "CE vlan";
              }
    
              leaf root-nickname {
                type uint16;
                description "Root nickname";
              }
    
              leaf hop-count {
                type uint16;
                description "Hop count";
              }
    
              list trill-mroute-outinterface-info {
                key "out-interface out-vlan";
                description
                  "The out interface and out vlan for a multicast
    route";
                leaf out-interface {
                  type string;
                  description "Out interface";
                }
    
                leaf out-vlan {
                  type uint32;
                  description "Out vlan";
                }
              }  // list trill-mroute-outinterface-info
            }  // list trill-mroute-info
          }  // container trill-mroute-infos
    
          container trill-rpf-check-infos {
            description
              "All TRILL RPF check information";
            list trill-rpf-check-info {
              key "ingress-nickname tree-nickname";
              config false;
              description
                "Each TRILL RPF check information";
              leaf ingress-nickname {
                type uint16;
                description "Ingress nickname";
              }
    
              leaf tree-nickname {
                type uint16;
                description "Tree nickname";
              }
    
              leaf interface-name {
                type string;
                description "Interface name";
              }
    
              leaf neighbor-mac {
                type string;
                description "Neighbour Mac";
              }
    
              leaf out-vlan {
                type uint16;
                description "Out vlan";
              }
            }  // list trill-rpf-check-info
          }  // container trill-rpf-check-infos
    
          container trill-peer-infos {
            description
              "All TRILL peer informations";
            list trill-peer-info {
              key "host-name circuit-id";
              config false;
              description
                "Each TRILL peer information";
              leaf host-name {
                type string;
                description "Peer RBridge name";
              }
    
              leaf interface-name {
                type string;
                description "Interface name";
              }
    
              leaf circuit-id {
                type string;
                description "Circuit Id";
              }
    
              leaf status {
                type peer-state;
                description "Peer status";
              }
    
              leaf holdTime {
                type uint32;
                description "Hold time";
              }
    
              leaf priority {
                type string;
                description "Priority";
              }
            }  // list trill-peer-info
          }  // container trill-peer-infos
    
          container trill-lsdb-infos {
            description
              "All TRILL LSDB information";
            list trill-lsdb-info {
              key "lspid";
              config false;
              description
                "Each TRILL LSDB information";
              leaf lspid {
                type string;
                description "Lspid";
              }
    
              leaf sequence-number {
                type string;
                description "Sequence number";
              }
    
              leaf checksum {
                type string;
                description "Checksum";
              }
    
              leaf lsp-length {
                type uint32 {
                  range "0..2000";
                }
                description "Lsp length";
              }
    
              leaf lsp-flags {
                type bits {
                  bit attbit {
                    position 0;
                    description
                      "TRILL lsp attribute flag";
                  }
                  bit partition-bit {
                    position 1;
                    description
                      "TRILL lsp partition flag";
                  }
                  bit overload-bit {
                    position 2;
                    description
                      "TRILL lsp position flag";
                  }
                }
                default "attbit";
                description "TRILL lsp flags";
              }
    
              leaf holdtime {
                type string;
                description "Hold time";
              }
    
              leaf local-lsp {
                type boolean;
                description "Local lsp";
              }
            }  // list trill-lsdb-info
          }  // container trill-lsdb-infos
    
          container trill-nickname-infos {
            description
              "All Trill nickname information";
            list trill-nickname-info {
              key "nickname systemid";
              config false;
              description
                "Each Trill nickname information";
              leaf nickname {
                type uint32;
                description "Nickname";
              }
    
              leaf priority {
                type uint32;
                description "Priority";
              }
    
              leaf root-priority {
                type uint32;
                description "Root priority";
              }
    
              leaf systemid {
                type string;
                description "SystemId";
              }
    
              leaf conflict-state {
                type conflict-state;
                description "Conflict state";
              }
    
              leaf static-flag {
                type static-flag;
                description "Static flag";
              }
    
              leaf is-local {
                type boolean;
                description "Is local flag";
              }
            }  // list trill-nickname-info
          }  // container trill-nickname-infos
    
          container trill-statistics {
            config false;
            description "Trill statistics";
            container interface-stat {
              description
                "Trill up and down interface number";
              leaf up-num {
                type uint32;
                description
                  "Trill up interface number";
              }
    
              leaf down-num {
                type uint32;
                description
                  "Trill down interface number";
              }
            }  // container interface-stat
    
            container pktstatistics {
              description
                "Trill packet statistics";
              leaf report-num {
                type uint32;
                description
                  "Trill interface number in report state";
              }
    
              leaf detect-num {
                type uint32;
                description
                  "Trill interface number in detect state";
              }
    
              leaf twoway-num {
                type uint32;
                description
                  "Trill interface number in two way state";
              }
            }  // container pktstatistics
    
            leaf unicast-routes-num {
              type uint32;
              description
                "Trill unicast route number";
            }
    
            leaf multicast-routes-num {
              type uint32;
              description
                "Trill multicast route number";
            }
    
            leaf rpf-entrys-num {
              type uint32;
              description
                "Trill RPF entry number";
            }
    
            leaf remote-nicknames-num {
              type uint32;
              description
                "Trill remote nickname number";
            }
    
            leaf lsdb-lsps-num {
              type uint32;
              description "Trill LSP number";
            }
    
            leaf self-lsps-num {
              type uint32;
              description
                "Trill self generated LSP number";
            }
    
            leaf multicast-trees-num {
              type uint32;
              description
                "Trill distribution tree tree number";
            }
    
            leaf unicast-nodes-num {
              type uint32;
              description
                "Trill unicast node number";
            }
    
            leaf multicast-nodes-num {
              type uint32;
              description
                "Trill multicast node number";
            }
          }  // container trill-statistics
    
          container pkt-statistics {
            description "All packet statistics";
            list pkt-statistic {
              key "interface-name";
              config false;
              description
                "Each packet statistic";
              leaf interface-name {
                type string;
                description "Interface name";
              }
    
              leaf sent-hellos-num {
                type uint32;
                description
                  "The number of the sent TRILL hello";
              }
    
              leaf recved-hellos-num {
                type uint32;
                description
                  "The number of the received TRILL hello";
              }
    
              leaf sent-lsps-num {
                type uint32;
                description
                  "The number of the sent LSP number";
              }
    
              leaf recved-lsps-num {
                type uint32;
                description
                  "The number of the received TRILL LSP";
              }
    
              leaf sent-csnps-num {
                type uint32;
                description
                  "The number of the sent CSNP number";
              }
    
              leaf recved-csnps-num {
                type uint32;
                description
                  "The number of the received CSNP number";
              }
    
              leaf sent-psnps-num {
                type uint32;
                description
                  "The number of the sent PSNP number";
              }
    
              leaf recved-psnps-num {
                type uint32;
                description
                  "The number of the received PSNP number";
              }
    
              leaf lsp-retransmissions-num {
                type uint32;
                description
                  "The number of the retransmitted LSP number";
              }
    
              leaf drb-elections-num {
                type uint32;
                description
                  "The number of the DRB election number";
              }
            }  // list pkt-statistic
          }  // container pkt-statistics
        }  // container trill-site
      }  // module ietf-trill
    

© 2023 YumaWorks, Inc. All rights reserved.