netconfcentral logo

ietf-srv6-types

HTML

ietf-srv6-types@2017-11-12



  module ietf-srv6-types {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-srv6-types";

    prefix srv6-types;

    import ietf-inet-types {
      prefix inet;
    }

    organization "IETF SPRING Working Group";

    contact
      "WG Web:   <http://tools.ietf.org/wg/spring/>
     WG List:  <mailto:spring@ietf.org>

     WG Chair: Bruno Decraene
               <mailto:loa@pi.nu>

     WG Chair: Martin Vigoureux
               <mailto:rcallon@juniper.net>

     Editor:   Kamran Raza
               <mailto:skraza@cisco.com>

     Editor:   Jaganbabu Rajamanickam
               <maito:jrajaman@cisco.com>

     Editor:   Xufeng Liu
               <mailto:Xufeng_Liu@jabil.com>

     Editor:   Iftekhar Hussain
               <mailto:IHussain@infinera.com>

     Editor:   Himanshu Shah
               <mailto:hshah@ciena.com>

     Editor:   Daniel Voyer
               <mailto:daniel.voyer@bell.ca>

     Editor:   Hani Elmalky
               <mailto:hani.elmalky@ericsson.com>

     Editor:   Ahmed AbdelSalam
               <mailto:ahmed.abdelsalam@gssi.it>

     ";

    description
      "This YANG module defines the essential types for the
     management of Segment-Routing with IPv6 dataplane (SRv6).

     Copyright (c) 2017 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (http://trustee.ietf.org/license-info).";

    reference
      "RFC XXXX";


    revision "2017-11-12" {
      description "Initial revision.";
      reference
        "RFC XXXX: YANG Data Model for SRv6";

    }


    typedef srv6-end-type {
      type enumeration {
        enum "End" {
          value 1;
          description
            "The Endpoint function. This is the most
           basic function";
        }
        enum "End.X" {
          value 2;
          description
            "Endpoint with cross-connect to an array
           of layer-3 adjacencies";
        }
        enum "End.T" {
          value 3;
          description
            "Endpoint with specific IPv6 table lookup";
        }
        enum "End.DX2" {
          value 4;
          description
            "Endpoint with decapsulation and Layer-2
           cross-connect to an L2 interface";
        }
        enum "End.DX2V" {
          value 5;
          description
            "Endpoint with decapsulation and specific
           VLAN L2 table lookup";
        }
        enum "End.DT2U" {
          value 6;
          description
            "Endpoint with decapsulation and specific
           unicast MAC L2 table lookup";
        }
        enum "End.DT2M" {
          value 7;
          description
            "Endpoint with decapsulation and specific L2 table
           flooding";
        }
        enum "End.DX6" {
          value 8;
          description
            "Endpoint with decapsulation and cross-connect
           to an array of IPv6 adjacencies";
        }
        enum "End.DX4" {
          value 9;
          description
            "Endpoint with decapsulation and cross-connect
           to an array of IPv4 adjacencies";
        }
        enum "End.DT6" {
          value 10;
          description
            "Endpoint with decapsulation and specific
           IPv6 table lookup";
        }
        enum "End.DT4" {
          value 11;
          description
            "Endpoint with decapsulation and specific
           IPv4 table lookup";
        }
        enum "End.DT46" {
          value 12;
          description
            "Endpoint with decapsulation and specific IP
           (IPv4 or IPv6) table lookup";
        }
        enum "End.B6" {
          value 13;
          description
            "Endpoint bound to an SRv6 Policy";
        }
        enum "End.B6.Encaps" {
          value 14;
          description
            "This is a variation of the End.B6 behavior
           where the SRv6 Policy also includes an
           IPv6 Source Address A.";
        }
        enum "End.BM" {
          value 15;
          description
            "Endpoint bound to an SR-MPLS Policy";
        }
        enum "End.S" {
          value 16;
          description
            "Endpoint in search of a target in table TE";
        }
        enum "End.AS" {
          value 17;
          description
            "Service-Chaining Static proxy for inner type (Ethernet, IPv4 or IPv6)";
        }
        enum "End.AD" {
          value 18;
          description
            "Service-Chaining Dynamic proxy for inner type (Ethernet, IPv4 or IPv6)";
        }
        enum "End.ASM" {
          value 19;
          description
            "Service-Chaining Shared memory SR proxy for inner type (Ethernet, IPv4 or IPv6)";
        }
        enum "End.AM" {
          value 20;
          description
            "Service-Chaining Masquerading SR proxy";
        }
      }
      description "SRv6 End behavior types";
    }

    typedef srv6-transit-type {
      type enumeration {
        enum "T" {
          value 1;
          description "Transit";
        }
        enum "T.Encaps" {
          value 2;
          description "T.Encaps";
        }
        enum "T.Insert" {
          value 3;
          description "T.Insert";
        }
        enum "T.Encaps.L2" {
          value 4;
          description "T.Encaps.L2";
        }
      }
      description
        "SRv6 Transit behavior types";
    }

    typedef srv6-security-rule-type {
      type enumeration {
        enum "SEC1" {
          value 1;
          description "Security rule SEC1";
        }
        enum "SEC2" {
          value 2;
          description "Security rule SEC2";
        }
        enum "SEC3" {
          value 3;
          description "Security rule SEC3";
        }
        enum "SEC4" {
          value 4;
          description "Security rule SEC4";
        }
      }
      description "SRv6 Security rule types";
    }

    typedef srv6-counter-type {
      type enumeration {
        enum "CNT0" {
          value 0;
          description "CNT0";
        }
        enum "CNT1" {
          value 1;
          description "CNT1";
        }
        enum "CNT2" {
          value 2;
          description "CNT2";
        }
      }
      description "SRv6 counter types";
    }

    typedef srv6-sid {
      type inet:ipv6-prefix;
      description
        "This type defines a SID value in SRv6";
    }

    typedef srv6-func-opcode {
      type uint32;
      description
        "This is a typedef for SID FUNC's opcode type";
    }

    typedef srv6-func-opcode-reserved {
      type uint32 {
        range "1 .. 63";
      }
      description
        "This is a typedef for SID FUNC's reserved opcode type";
    }

    typedef srv6-func-opcode-unreserved {
      type uint32 {
        range "64 .. max";
      }
      description
        "This is a typedef for SID FUNC's allocatable (unreserved) opcode type";
    }

    typedef srv6-func-opcode-reserved-type {
      type enumeration {
        enum "invalid" {
          value 0;
          description "Invalid opcode";
        }
        enum "default-end-psp" {
          value 1;
          description
            "Opcode for Default End/PSP funcion";
        }
        enum "default-end-usp" {
          value 2;
          description
            "Opcode for Default End/USP funcion";
        }
      }
      description
        "SRv6 SID FUNC Reserved Opcodes";
    }

    typedef srv6-locator-len {
      type uint8 {
        range "32 .. 96";
      }
      description
        "This type defines an SRv6 locator len with range constraints";
    }

    typedef srv6-sid-pfxlen {
      type uint8 {
        range "33 .. 128";
      }
      default '128';
      description
        "This type defines a SID prefixlen with range constraints";
    }

    typedef sid-alloc-type {
      type enumeration {
        enum "Dynamic" {
          value 0;
          description
            "SID allocated dynamically.";
        }
        enum "Explicit" {
          value 1;
          description
            "SID allocated with explicit (static) value";
        }
      }
      description
        "Types of sid allocation used.";
    }

    typedef srv6-sid-owner-type {
      type enumeration {
        enum "isis" {
          value 1;
          description "ISIS";
        }
        enum "ospfv3" {
          value 2;
          description "OSPFv3";
        }
        enum "bgp" {
          value 3;
          description "BGP";
        }
        enum "evpn" {
          value 4;
          description "EVPN";
        }
        enum "sr-policy" {
          value 5;
          description "SR Policy";
        }
        enum "service-chain" {
          value 6;
          description "Service-Chaining";
        }
      }
      description "SID Client types.";
    }

    typedef table-id {
      type uint32;
      description "Routing Table Id";
    }

    typedef srv6-status-type {
      type enumeration {
        enum "up" {
          value 1;
          description "State is Up";
        }
        enum "down" {
          value 2;
          description "State is Down";
        }
      }
      description "Status type";
    }

    typedef srv6-nexthop-type {
      type enumeration {
        enum "ipv4" {
          value 1;
          description "IPv4 next-hop";
        }
        enum "ipv6" {
          value 2;
          description "IPv6 next-hop";
        }
        enum "mpls" {
          value 3;
          description "MPLS next-hop";
        }
        enum "l2" {
          value 4;
          description "L2 next-hop";
        }
      }
      description "Forwarding Next-hop type";
    }
  }  // module ietf-srv6-types

Summary

  
  
Organization IETF SPRING Working Group
  
Module ietf-srv6-types
Version 2017-11-12
File ietf-srv6-types@2017-11-12.yang
  
Prefix srv6-types
Namespace urn:ietf:params:xml:ns:yang:ietf-srv6-types
Reference
RFC XXXX
  
Cooked /cookedmodules/ietf-srv6-types/2017-11-12
YANG /src/ietf-srv6-types@2017-11-12.yang
XSD /xsd/ietf-srv6-types@2017-11-12.xsd
  
Abstract This YANG module defines the essential types for the management of Segment-Routing with IPv6 dataplane (SRv6). Copyright (c) 20...
  
Contact
WG Web:   <http://tools.ietf.org/wg/spring/>
WG List:  <mailto:spring@ietf.org>

WG Chair: Bruno Decraene
	  <mailto:loa@pi.nu>

WG Chair: Martin Vigoureux
	  <mailto:rcallon@juniper.net>

Editor:   Kamran Raza
	  <mailto:skraza@cisco.com>

Editor:   Jaganbabu Rajamanickam
	  <maito:jrajaman@cisco.com>

Editor:   Xufeng Liu
	  <mailto:Xufeng_Liu@jabil.com>

Editor:   Iftekhar Hussain
	  <mailto:IHussain@infinera.com>

Editor:   Himanshu Shah
	  <mailto:hshah@ciena.com>

Editor:   Daniel Voyer
	  <mailto:daniel.voyer@bell.ca>

Editor:   Hani Elmalky
	  <mailto:hani.elmalky@ericsson.com>

Editor:   Ahmed AbdelSalam
	  <mailto:ahmed.abdelsalam@gssi.it>

Description

 
This YANG module defines the essential types for the
management of Segment-Routing with IPv6 dataplane (SRv6).

Copyright (c) 2017 IETF Trust and the persons identified as
authors of the code.  All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).

Typedefs

Typedef Base type Abstract
sid-alloc-type enumeration Types of sid allocation used.
srv6-counter-type enumeration SRv6 counter types
srv6-end-type enumeration SRv6 End behavior types
srv6-func-opcode uint32 This is a typedef for SID FUNC's opcode type
srv6-func-opcode-reserved uint32 This is a typedef for SID FUNC's reserved opcode type
srv6-func-opcode-reserved-type enumeration SRv6 SID FUNC Reserved Opcodes
srv6-func-opcode-unreserved uint32 This is a typedef for SID FUNC's allocatable (unreserved) opcode type
srv6-locator-len uint8 This type defines an SRv6 locator len with range constraints
srv6-nexthop-type enumeration Forwarding Next-hop type
srv6-security-rule-type enumeration SRv6 Security rule types
srv6-sid string This type defines a SID value in SRv6
srv6-sid-owner-type enumeration SID Client types.
srv6-sid-pfxlen uint8 This type defines a SID prefixlen with range constraints
srv6-status-type enumeration Status type
srv6-transit-type enumeration SRv6 Transit behavior types
table-id uint32 Routing Table Id