netconfcentral logo

ietf-bier-te

HTML

ietf-bier-te@2017-10-23



  module ietf-bier-te {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-bier-te";

    prefix bier-te;

    import ietf-routing {
      prefix rt;
    }
    import ietf-routing-types {
      prefix rt-types;
    }

    organization
      " IETF BIER(Bit Indexed Explicit Replication ) Working Group";

    contact
      "WG List:  <mailto:bier@ietf.org>
      WG Chair: Tony Przygienda
                <mailto:tonysietf@gmail.com>
      WG Chair: Greg Shepherd
                <mailto:gjshep@gmail.com>

      Editor:   Zheng Zhang
                <mailto:zhang.zheng@zte.com.cn>
      Editor:   Cui Wang
                <mailto:wang.cui1@zte.com.cn>
      Editor:   Ran Chen
                <mailto:chen.ran@zte.com.cn>
      Editor:   Fangwei Hu
                <mailto:hu.fangwei@zte.com.cn>
      Editor:   Mahesh Sivakumar
                <mailto:masivaku@cisco.com>
     ";

    description
      "This module contains a collection of YANG definitions for
      managing BIER TE information.";

    revision "2017-10-23" {
      description ".";
      reference
        "https://tools.ietf.org/html/draft-zhang-bier-te-yang";

    }

    revision "2017-04-26" {
      description
        "Add label for combination of [SD, SI, BSL].";
      reference
        "https://tools.ietf.org/html/draft-zhang-bier-te-yang";

    }

    revision "2016-10-13" {
      description
        "Add reference of BIER common structure.";
      reference
        "https://tools.ietf.org/html/draft-zhang-bier-te-yang";

    }

    revision "2016-03-01" {
      description "Initial version.";
      reference
        "https://tools.ietf.org/html/draft-zhang-bier-te-yang";

    }


    feature bier-te-frr {
      description
        "Support ECMP feature in BIER TE.";
    }

    grouping te-frr {
      description
        "The TE fast reroute information.";
      list btaft {
        key "adj-index";
        description
          "The adjacency index of the frr paths.";
        leaf adj-index {
          type uint32;
          mandatory true;
          description
            "The frr adjacency index.";
        }

        leaf bitposition {
          type bit-string;
          mandatory true;
          description
            "The bitposition information.";
        }

        leaf resetbitmask {
          type bit-string;
          mandatory true;
          description
            "The deleting bitmask of the forwarding item.";
        }

        leaf addbitmask {
          type bit-string;
          mandatory true;
          description
            "The adding bitmask of the forwarding item.";
        }
      }  // list btaft
    }  // grouping te-frr

    grouping te-adj-type {
      description
        "The collection of all possible adjacency type.";
      choice te-adj-type {
        mandatory true;
        description
          "The collection of all possible adjacency type.";
        case connected {
          description
            "The type of adjacency is connected. Mostly connected interfaces.";
        }  // case connected

        case routed {
          description
            "The type of adjacency is routed. Mostly not connected interfaces.";
        }  // case routed

        case local-decap {
          description
            "Means that the packet should be decapsulated and forward out BIER domain.";
        }  // case local-decap

        case ecmp {
          description
            "There is more than one path in the adjacency with equal cost.";
        }  // case ecmp

        case other {
          description
            "Means that the packet should be discarded.";
        }  // case other
      }  // choice te-adj-type
    }  // grouping te-adj-type

    grouping te-adjID-type {
      description
        "The collection of all possible adjacency type.";
      choice te-adjID-type {
        mandatory true;
        description
          "The collection of all possible adjacency type.";
        case p2p {
          description
            "Describes p2p adjacency.";
        }  // case p2p

        case bfer {
          description
            "Describes bfer adjacency.";
        }  // case bfer

        case leaf-bfer {
          description
            "Describes leaf-bfer adjacency. There is no next BFR that the packet should be forwarded.";
        }  // case leaf-bfer

        case lan {
          description
            "Describes lan adjacency..";
        }  // case lan

        case spoke {
          description
            "Describes spoke adjacency of hub-and-spoke.";
        }  // case spoke

        case ring-clockwise {
          description
            "Describes clockwise adjacency in ring.";
        }  // case ring-clockwise

        case ring-counterclockwise {
          description
            "Describes counterclockwise adjacency in ring.";
        }  // case ring-counterclockwise

        case ecmp {
          description
            "Describes  ecmp adjacency.";
        }  // case ecmp

        case virtual-link {
          description
            "Describes virtual adjacency between two indirect connect nodes.";
        }  // case virtual-link

        case other {
          description
            "Describes other id type of adjacency.";
        }  // case other
      }  // choice te-adjID-type
    }  // grouping te-adjID-type

    typedef adjid {
      type uint32;
      description
        "The type for adjacency ID.";
    }

    typedef bit-string {
      type uint16;
      description
        "The bit mask of one bitstring.";
    }

    grouping te-adjID {
      description
        "This group presents adjacency ID information for BIER TE.";
      list adj-id {
        key "adjID";
        description
          "This ID information of one adjacency.";
        leaf adjID {
          type adjid;
          mandatory true;
          description "The adjacency id.";
        }

        leaf adj-if {
          type uint32;
          mandatory true;
          description
            "The corresponding interface of this adjacency.";
        }

        uses te-adjID-type;
      }  // list adj-id
    }  // grouping te-adjID

    grouping te-ecmp {
      description "The ecmp information.";
      list ecmp-path {
        key "index";
        description
          "The index of the ecmp paths.";
        leaf index {
          type uint32;
          mandatory true;
          description "The ecmp index.";
        }

        list number {
          key "number";
          description
            "The list of the ecmp paths.";
          leaf number {
            type uint16;
            mandatory true;
            description
              "The number of the ecmp paths.";
          }

          leaf out-if {
            type uint32;
            mandatory true;
            description
              "The outgoing interface.";
          }
        }  // list number
      }  // list ecmp-path
    }  // grouping te-ecmp

    grouping te-items {
      description
        "The BIER TE forwarding items collection.";
      uses te-adj-type;

      leaf f-bm {
        type bit-string;
        mandatory true;
        description
          "The bitmask of the forwarding item.";
      }

      leaf f-intf {
        type uint32;
        mandatory true;
        description
          "The out interface of this forwarding item.";
      }

      leaf ecmp {
        type boolean;
        description
          "The capibility of ecmp paths.";
      }

      leaf ecmp-index {
        type uint16;
        description
          "The index of ecmp path.";
      }

      leaf frr {
        type boolean;
        description
          "The capibility of fast re-route.";
      }
    }  // grouping te-items

    grouping te-fwd-item {
      description
        "The forwarding items in one set identifier.";
      list te-si {
        key "si";
        description
          "The forwarding items of one set identifier.";
        leaf si {
          type uint16;
          mandatory true;
          description
            "The set identifier of this forwarding item.";
        }

        leaf ft-label {
          type rt-types:mpls-label;
          description
            "The label of forwarding table.";
        }

        list te-f-index {
          key "te-f-index";
          description
            "The forwarding information of one BIER TE item.";
          leaf te-f-index {
            type bit-string;
            mandatory true;
            description
              "The bit index of BIER TE forwarding item.";
          }

          uses te-items;
        }  // list te-f-index
      }  // list te-si
    }  // grouping te-fwd-item

    grouping te-info {
      description
        "The BIER TE forwarding information.";
      list te-subdomain {
        key "subdomain-id";
        description
          "The forwarding items of one sub-domain.";
        leaf subdomain-id {
          type uint16;
          description
            "The sub-domain-id of this sub-domain.";
        }

        uses te-adjID;

        list te-bsl {
          key "fwd-bsl";
          description
            "The forwarding items in one bitstringlength.";
          leaf fwd-bsl {
            type uint16;
            description
              "The value of bitstringlength.";
          }

          uses te-fwd-item;
        }  // list te-bsl

        uses te-ecmp;

        uses te-frr;
      }  // list te-subdomain
    }  // grouping te-info

    augment /rt:routing {
      description "The BIER TE information.";
      container bier-te {
        description
          "The BIER TE information container.";
        uses te-info;
      }  // container bier-te
    }

    notification bier-te-notification {
      description
        "This notification is sent when a condition changes in BIER TE.";
      list adjID-is-zero {
        key "if-index";
        description
          "The adjacency id is zero.";
        leaf if-index {
          type uint32;
          description
            "The adjacency id of this interface is zero.";
        }

        uses te-adjID-type;
      }  // list adjID-is-zero
    }  // notification bier-te-notification
  }  // module ietf-bier-te

Summary

  
  
Organization IETF BIER(Bit Indexed Explicit Replication ) Working Group
  
Module ietf-bier-te
Version 2017-10-23
File ietf-bier-te@2017-10-23.yang
  
Prefix bier-te
Namespace urn:ietf:params:xml:ns:yang:ietf-bier-te
  
Cooked /cookedmodules/ietf-bier-te/2017-10-23
YANG /src/ietf-bier-te@2017-10-23.yang
XSD /xsd/ietf-bier-te@2017-10-23.xsd
  
Abstract This module contains a collection of YANG definitions for managing BIER TE information.
  
Contact
WG List:  <mailto:bier@ietf.org>
WG Chair: Tony Przygienda
	  <mailto:tonysietf@gmail.com>
WG Chair: Greg Shepherd
	  <mailto:gjshep@gmail.com>

Editor:   Zheng Zhang
	  <mailto:zhang.zheng@zte.com.cn>
Editor:   Cui Wang
	  <mailto:wang.cui1@zte.com.cn>
Editor:   Ran Chen
	  <mailto:chen.ran@zte.com.cn>
Editor:   Fangwei Hu
	  <mailto:hu.fangwei@zte.com.cn>
Editor:   Mahesh Sivakumar
	  <mailto:masivaku@cisco.com>

Description

 
This module contains a collection of YANG definitions for
managing BIER TE information.

Typedefs

Typedef Base type Abstract
adjid uint32 The type for adjacency ID.
bit-string uint16 The bit mask of one bitstring.

Groupings

Grouping Objects Abstract
te-adj-type te-adj-type The collection of all possible adjacency type.
te-adjID adj-id This group presents adjacency ID information for BIER TE.
te-adjID-type te-adjID-type The collection of all possible adjacency type.
te-ecmp ecmp-path The ecmp information.
te-frr btaft The TE fast reroute information.
te-fwd-item te-si The forwarding items in one set identifier.
te-info te-subdomain The BIER TE forwarding information.
te-items te-adj-typef-bm f-intf ecmp ecmp-index frr The BIER TE forwarding items collection.

Notifications

Notification Abstract
bier-te-notification This notification is sent when a condition changes in BIER TE.