nokia-types-ldp

Common ldp data types used in the SR OS management system. Copyright 2016 Nokia. All rights reserved. Reproduction of this docu...

  • Version: 2020-04-08

    nokia-types-ldp@2020-04-08


    
      module nokia-types-ldp {
    
        yang-version 1.1;
    
        namespace
          "urn:nokia.com:sros:ns:yang:sr:types-ldp";
    
        prefix types-ldp;
    
        import nokia-sros-yang-extensions {
          prefix sros-ext;
        }
        import nokia-types-sros {
          prefix types-sros;
        }
    
        organization "Nokia";
    
        contact
          "Nokia SR OS Support
             Web: <http://www.nokia.com>";
    
        description
          "Common ldp data types used in the SR OS management system.
    
             Copyright 2016 Nokia. All rights reserved. Reproduction of this document
             is authorized on the condition that the foregoing copyright notice is included.
    
             This nokia-types-ldp YANG module embodies Nokia's proprietary
             intellectual property. Nokia retains all title and ownership in the
             specification, including any revisions.
    
             Nokia grants all interested parties a non-exclusive license to use
             and distribute an unmodified copy of this specification in connection with
             management of Nokia products, and without fee, provided this
             copyright notice and license appear on all copies.
    
             This specification is supplied `as is', and Nokia makes no warranty,
             either express or implied, as to the use, operation, condition, or performance
             of the specification.";
    
        revision "2020-04-08";
        sros-ext:sros-major-release "rel24";
    
        typedef backoff-time {
          type uint32 {
            range "0..2592000";
          }
          units "seconds";
          description
            "specifies the backoff interval (initial and maximum).
                 The backoff interval is the time, in seconds, that LDP waits
                 after an LDP session setup has failed before it attempts to
                 setup the session again. After the LDP session startup fails
                 the first time, the backoff interval is set to an initial
                 value. Thereafter, if session startup fails again the backoff
                 interval increases exponentially until it reaches a maximum
                 value specified by the maximum backoff interval.
                 If the maximum backoff interval is set to zero (0), then the
                 backoff interval does not increase exponentially after the
                 first session startup attempt fails. Instead it remains
                 constant and LDP will keep retrying to establish a session
                 until it succeeds.";
        }
    
        typedef gen-down-reason-code {
          type enumeration {
            enum "oper-up" {
              value 0;
            }
            enum "admin-down" {
              value 1;
            }
            enum "no-listen-socket" {
              value 2;
            }
            enum "no-discovery-socket" {
              value 3;
            }
            enum "no-rtm" {
              value 4;
            }
            enum "no-ttm" {
              value 5;
            }
            enum "iom-failure" {
              value 6;
            }
            enum "recv-failure" {
              value 7;
            }
            enum "clear-fown" {
              value 8;
            }
            enum "no-resources" {
              value 9;
            }
            enum "system-ip-down" {
              value 10;
            }
            enum "hello-failure" {
              value 11;
            }
            enum "ipv6-not-supported" {
              value 12;
            }
            enum "no-bgp" {
              value 13;
            }
          }
          description
            "gen-down-reason-code is an enumerated integer that specifies
                 the reason that the LDP instance is operationally down.";
        }
    
        typedef policy-string {
          type types-sros:named-item;
          description
            "policy-string specifies type for policy-name leafs in LDP.";
        }
    
        typedef targ-oper-down-reason-code {
          type enumeration {
            enum "oper-up" {
              value 0;
            }
            enum "admin-down" {
              value 1;
            }
            enum "no-listen-socket" {
              value 2;
            }
            enum "no-discovery-socket" {
              value 3;
            }
            enum "no-resources" {
              value 4;
            }
            enum "addr-fec-deprogram" {
              value 5;
            }
            enum "svc-fec-deprogram" {
              value 6;
            }
            enum "clear-down" {
              value 7;
            }
            enum "instance-down" {
              value 8;
            }
            enum "interface-down" {
              value 9;
            }
            enum "target-ip-invalid" {
              value 10;
            }
            enum "interface-invalid" {
              value 11;
            }
            enum "lsr-interface-down" {
              value 12;
            }
            enum "lsr-interface-invalid" {
              value 13;
            }
            enum "hello-failure" {
              value 14;
            }
            enum "parent-if-down" {
              value 15;
            }
            enum "interface-no-valid-ip" {
              value 16;
            }
            enum "lsr-interface-no-valid-ip" {
              value 17;
            }
          }
          description
            "targ-oper-down-reason-code is an enumerated integer that specifies the reason that the LDP interface and targeted peer
                 is operationally down.";
        }
    
        typedef lsr-id {
          type string {
            length "5..46";
            pattern
              "(((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])):([0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))|((((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}(([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4})))\\[([0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])\\])";
          }
          description
            "The lsr-id is Label Distribution Protocol (LDP) identifier. It identifies
                 a Label Switch Router (LSR) and label space.
    
                 The first pattern accepted is <IPv4-address>:<label-space>. The second pattern
                 accepted is <IPv6-address>[<label-space>].";
        }
    
        typedef fec-type-bits {
          type bits {
            bit ipv4-prefix {
              position 0;
            }
            bit ipv6-prefix {
              position 1;
            }
            bit ipv4-p2mp {
              position 2;
            }
            bit ipv6-p2mp {
              position 3;
            }
            bit fec128 {
              position 4;
            }
            bit fec129 {
              position 5;
            }
          }
          description
            "Indicates supported FEC type.";
        }
    
        typedef capabilities {
          type bits {
            bit p2mp-fec {
              position 0;
            }
            bit multipoint-mbb {
              position 1;
            }
            bit dynamic {
              position 2;
            }
            bit overload {
              position 3;
            }
            bit ipv4-prefix-fec {
              position 4;
            }
            bit ipv6-prefix-fec {
              position 5;
            }
            bit fec-128 {
              position 6;
            }
            bit fec-129 {
              position 7;
            }
            bit unrecognized-notification {
              position 8;
            }
          }
          description
            "Indicates supported capabilities.";
        }
    
        typedef distribution-method {
          type enumeration {
            enum "downstream-on-demand" {
              value 1;
            }
            enum "downstream-unsolicited" {
              value 2;
            }
          }
          description
            "Indicates label distribution method.";
        }
    
        typedef fec-type {
          type enumeration {
            enum "wildcard" {
              value 1;
            }
            enum "addr-prefix" {
              value 2;
            }
            enum "addr-host" {
              value 3;
            }
          }
          description
            "fec-type determines the kind of FEC that the label
                 mapping, withdraw, release and request messages are
                 referring to.";
        }
    
        typedef fec-flags {
          type bits {
            bit egress {
              position 1;
            }
            bit ingress {
              position 2;
            }
            bit installed-swap {
              position 3;
            }
            bit installed-push {
              position 4;
            }
            bit installed-pop {
              position 5;
            }
            bit local {
              position 6;
            }
            bit next-hop {
              position 7;
            }
            bit import-policy-rejected {
              position 8;
            }
            bit export-policy-accepted {
              position 9;
            }
            bit installed-static-fec {
              position 10;
            }
            bit vc-switching {
              position 11;
            }
            bit import-targ-policy-rejected {
              position 12;
            }
            bit export-targ-policy-rejected {
              position 13;
            }
            bit import-peer-policy-rejected {
              position 14;
            }
            bit local-multihomed-secondary {
              position 15;
            }
            bit bgp-next-hop {
              position 16;
            }
            bit label-req-sent {
              position 17;
            }
            bit class-based-forwarding {
              position 18;
            }
            bit sr-isis-next-hop {
              position 19;
            }
            bit sr-ospf-next-hop {
              position 20;
            }
            bit upper-fec {
              position 21;
            }
            bit lower-fec {
              position 22;
            }
            bit community-mismatch {
              position 23;
            }
            bit bkp-upper-fec {
              position 24;
            }
          }
          description
            "fec-flags bit flags define the characteristics of FEC.
    
                 Flag 'egress':  this node is an egress for this FEC.
                 Flag 'ingress': this node is a potential ingress for this FEC.
                 Flag 'installed-swap': the label for this FEC has been programmed
                                       as a 'swap' label.
                 Flag 'installed-push': the label for this FEC has been programmed
                                       as a 'push' label.
                 Flag 'installed-pop':  the label for this FEC has been programmed
                                       as a 'pop' label.
                 Flag 'local':   this FEC is local to this node.
                 Flag 'next-hop': the nextHop for this FEC is known.
                 Flag 'import-policy-rejected': global LDP import policy has rejected
                                              this FEC.
                 Flag 'export-policy-accepted': global LDP export policy has accepted
                                              this FEC.
                 Flag 'installed-static-fec': this FEC is created by static FEC
                                            configuration on this node.
                 Flag 'vc-switching': vc-switching is enabled for the FEC.
                 Flag 'import-targ-policy-rejected': targeted LDP import policy has
                                                  rejected this FEC.
                 Flag 'export-targ-policy-rejected': targeted LDP export policy has
                                                  rejected this FEC.
                 Flag 'import-peer-policy-rejected': peer LDP import policy has
                                                  rejected this FEC.
                 Flag 'local-multihomed-secondary': this FEC is local to this node
                                                  and is a multi-homed secondary
                                                  ip address.
                 Flag 'bgp-next-hop' : LDP binding is resolved to BGP next-hop.
                 Flag 'label-req-sent' : Label request to peer has been sent.
                 Flag 'class-based-forwarding' : Label binding is using class-based-forwarding.
                 Flag 'sr-isis-next-hop' : LDP binding is resolved to ISIS segment-routing next-hop.
                 Flag 'sr-ospf-next-hop' : LDP binding is resolved to OSPF segment-routing next-hop.
                 Flag 'upper-fec' : this upper FEC is stitched to lower FEC
                 Flag 'lower-fec' : this lower FEC is stitched to upper FEC
                 Flag 'community-mismatch' : targeted LDP community mismatch
                 Flag 'bkp-upper-fec' : backup upper FEC
                 ";
        }
    
        typedef label-status {
          type bits {
            bit status-signaling-supported {
              position 2;
            }
            bit in-use-push {
              position 3;
            }
            bit in-use-swap {
              position 4;
            }
            bit in-use-pop {
              position 5;
            }
            bit released {
              position 6;
            }
            bit not-in-use {
              position 7;
            }
            bit withdrawn {
              position 8;
            }
            bit control-word {
              position 9;
            }
            bit withdraw-pending {
              position 10;
            }
            bit alternate-next-hop {
              position 11;
            }
            bit alternate-phop {
              position 12;
            }
            bit unnum-interface {
              position 13;
            }
            bit sr-isis-next-hop {
              position 14;
            }
            bit sr-ospf-next-hop {
              position 15;
            }
            bit entropy-label-capability {
              position 16;
            }
          }
          description
            "label-status bit flags specifies the status of an ingress or
                 egress label.
    
                 'status-signaling-supported' - indicates whether status signaling is
                                                enabled or not.
                 'in-use-push' - indicates that the label contains valid information
                                 that is currently being used as a 'push' label.
                 'in-use-swap' - indicates that the label contains valid information
                                 that is currently being used as a 'swap' label.
                 'in-use-pop'  - indicates that the label contains valid information
                                 that is currently being used as a 'pop' label.
                 'released'  - indicates that the label is in the process of being
                               freed. With this flag set, no other flags will be set.
                 'not-in-use'  - indicates that the label contains valid information
                                 but is currently not being used possibly because the
                                 service is temporarily down.
                 'withdrawn' - indicates that the label has not been sent (possibly
                               due to a mismatch in control word or status signaling)
                 'control-word' - indicates that the control word will be signaled
                 'withdraw-pending' - indicates that the label withdrawal is pending
                 'alternate-next-hop' - indicates that the label is programmed as
                                        alternate next-hop for fast re-route
                 'alternate-pHop' - indicates that the label is programmed as alternate
                                    upstream for fast re-route.
                 'unnum-interface' - indicates that the label is programmed using unnumbered
                                     interface.
                 'sr-isis-next-hop' - LDP binding is resolved to ISIS segment-routing
                                      next-hop.
                 'sr-ospf-next-hop' - LDP binding is resolved to OSPF segment-routing
                                      next-hop.
                 'entropy-label-capability' - entropy label capabilities.
                 ";
        }
    
        typedef vc-type {
          type enumeration {
            enum "fr-dlci-martini" {
              value 1;
            }
            enum "atm-sdu" {
              value 2;
            }
            enum "atm-cell" {
              value 3;
            }
            enum "ethernet-vlan" {
              value 4;
            }
            enum "ethernet" {
              value 5;
            }
            enum "atm-vcc-cell" {
              value 9;
            }
            enum "atm-vpc-cell" {
              value 10;
            }
            enum "ipipe" {
              value 11;
            }
            enum "satop-e1" {
              value 17;
            }
            enum "satop-t1" {
              value 18;
            }
            enum "satop-e3" {
              value 19;
            }
            enum "satop-t3" {
              value 20;
            }
            enum "cesopsn" {
              value 21;
            }
            enum "cesopsn-cas" {
              value 23;
            }
            enum "fr-dlci" {
              value 25;
            }
            enum "mirror-dest" {
              value 4096;
            }
          }
          description
            "The value is an enumerated integer that indicates a
                 Virtual Circuit (VC) type. 'fr-dlci-martini(1)'
                 replaces the old 'fr-dlci' when used over martini tunnels.";
        }
    
        typedef label-signaling-status {
          type uint32;
          description
            "label-signaling-status specifies the status of the pseudowire and attached
                 circuit.  The values are defined in draft-ietf-pwe3-iana-allocation-07.txt.";
        }
    
        typedef in-label-withdraw-reason {
          type enumeration {
            enum "none" {
              value 0;
            }
            enum "no-sw-label" {
              value 1;
            }
            enum "local-fault" {
              value 2;
            }
            enum "stack-mismatch" {
              value 3;
            }
          }
          description
            "This is a value that specifies the reason that the LDP ingress
                 label is withdrawn.
    
                 The value of 'none(0)' means no reason specified for the withdrawal of
                 the ingress label.
    
                 The value of 'no-sw-label(1)' means the ingress label is withdrawn
                 because there is no vc switching label from upstream.
    
                 The value of 'local-fault(2)' means the ingress label is withdrawn
                 because there is a local fault.
    
                 The value of 'stack-mismatch(3)' means the ingress label is withdrawn
                 due to stack capability mismatch.";
        }
      }  // module nokia-types-ldp
    

© 2023 YumaWorks, Inc. All rights reserved.