Cisco-IOS-XR-vservice-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR vservice package configuration. This module contains def...

  • Version: 2019-04-05

    Cisco-IOS-XR-vservice-cfg@2019-04-05


    
      module Cisco-IOS-XR-vservice-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-vservice-cfg";
    
        prefix vservice-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR vservice package configuration.
         
         This module contains definitions
         for the following management objects:
           vservice: configure vservice node
         
         Copyright (c) 2013-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.0.1";
    
        typedef Sfc-metadata-type1-alloc-format {
          type enumeration {
            enum "dc-allocation" {
              value 1;
              description
                "data center allocation";
            }
          }
          description
            "Sfc metadata type1 alloc format";
        }
    
        typedef Sfc-sf-transport {
          type enumeration {
            enum "vxlan-gpe" {
              value 1;
              description
                "vxlan-gpe transport type";
            }
          }
          description "Sfc sf transport";
        }
    
        typedef Sfc-metadata-disposition-match {
          type enumeration {
            enum "type1-dcalloc-tenant-id" {
              value 1;
              description "match type 1";
            }
          }
          description
            "Sfc metadata disposition match";
        }
    
        typedef Sfc-metadata-disposition-action {
          type enumeration {
            enum "redirect-nexthop" {
              value 1;
              description
                "redirect nexthop action";
            }
          }
          description
            "Sfc metadata disposition action";
        }
    
        typedef Sfc-metadata-alloc {
          type enumeration {
            enum "type1" {
              value 1;
              description "type 1 allocation";
            }
          }
          description "Sfc metadata alloc";
        }
    
        grouping NAME-TABLE {
          description
            "Common node of service-function-locator,
           service-function-forward-locator";
          container names {
            description
              "Mention the sf/sff name";
            list name {
              key "function-name locator-id";
              description
                "service function name";
              container node {
                description "configure sff/sffl";
                leaf transport {
                  type Sfc-sf-transport;
                  description "Transport type";
                }
    
                leaf ipv4-source-address {
                  type inet:ipv4-address-no-zone;
                  description
                    "IPv4 source address";
                }
    
                leaf ipv4-destination-address {
                  type inet:ipv4-address-no-zone;
                  description
                    "IPv4 destination address";
                }
    
                leaf vni {
                  type uint32;
                  description "VNI";
                }
              }  // container node
    
              leaf function-name {
                type xr:Cisco-ios-xr-string;
                description
                  "Service function/forwarder name";
              }
    
              leaf locator-id {
                type uint32 {
                  range "1..255";
                }
                description "Specify locator id";
              }
            }  // list name
          }  // container names
        }  // grouping NAME-TABLE
    
        grouping NODE {
          description
            "Common node of sf-name, sff-name";
          container node {
            description "configure SFP";
            leaf enable {
              type empty;
              description
                "Enable Service function path";
            }
    
            leaf reserved {
              type empty;
              description "Dummy";
            }
          }  // container node
        }  // grouping NODE
    
        container vservice {
          description "configure vservice node";
          container service-function-locator {
            description
              "configure service function locator";
            uses NAME-TABLE;
          }  // container service-function-locator
    
          container metadata-dispositions {
            description
              "Configure metadata disposition";
            list metadata-disposition {
              key "disposition-name format";
              description
                "metadata disposition name";
              leaf disposition-name {
                type xr:Cisco-ios-xr-string;
                description "disposition name";
              }
    
              leaf format {
                type Sfc-metadata-type1-alloc-format;
                description "Specify Format";
              }
    
              list match-entry {
                key "match-entry-name";
                description "match entry name";
                container node {
                  description
                    "configure disposition data";
                  leaf match-type {
                    type Sfc-metadata-disposition-match;
                    description "match type";
                  }
    
                  leaf action-type {
                    type Sfc-metadata-disposition-action;
                    description "action type";
                  }
    
                  leaf vrf {
                    type string;
                    description "VRF name";
                  }
    
                  leaf nexthop-ipv4-address {
                    type inet:ipv4-address-no-zone;
                    description
                      "IPv4 nexthop address";
                  }
    
                  leaf-list tenant-id {
                    type uint32;
                    max-elements 4;
                    description
                      "24-bit tenant id";
                  }
                }  // container node
    
                leaf match-entry-name {
                  type xr:Cisco-ios-xr-string;
                  description "match entry name";
                }
              }  // list match-entry
            }  // list metadata-disposition
          }  // container metadata-dispositions
    
          container service-function-forward-locator {
            description
              "configure service function forward locator";
            uses NAME-TABLE;
          }  // container service-function-forward-locator
    
          container metadata-templates {
            description
              "configure metadata imposition";
            list metadata-template {
              key "metadata-name type format";
              description
                "metadata name, type and format";
              leaf tenant-id {
                type uint32 {
                  range "1..16777215";
                }
                description
                  "Enter 24-bit tenant id";
              }
    
              leaf metadata-name {
                type xr:Cisco-ios-xr-string;
                description "metadata name";
              }
    
              leaf type {
                type Sfc-metadata-alloc;
                description "Specify Type ";
              }
    
              leaf format {
                type Sfc-metadata-type1-alloc-format;
                description "Specify Format";
              }
            }  // list metadata-template
          }  // container metadata-templates
    
          container service-function-path {
            description "service function path";
            container paths {
              description
                "service function path id";
              list path {
                key "path-id";
                description
                  "specify the service function path id";
                leaf path-id {
                  type uint32 {
                    range "1..16777215";
                  }
                  description
                    "Specify the service function path id";
                }
    
                list service-index {
                  key "index";
                  description
                    "specify the service index";
                  container terminate {
                    description
                      "configure terminate";
                    container node {
                      description
                        "configure default terminate action";
                      leaf action {
                        type Sfc-metadata-disposition-action;
                        description
                          "default action enum";
                      }
    
                      leaf vrf {
                        type string;
                        description
                          "nexthop vrf name";
                      }
    
                      leaf nexthop-ipv4-address {
                        type inet:ipv4-address-no-zone;
                        description
                          "IPv4 nexthop address";
                      }
    
                      leaf metatdata-disposition {
                        type string;
                        description
                          "metadata-disposition name";
                      }
                    }  // container node
                  }  // container terminate
    
                  container sff-names {
                    description
                      "service function forwarder ";
                    list sff-name {
                      key "name";
                      description
                        "service function forwarder name";
                      leaf name {
                        type xr:Cisco-ios-xr-string;
                        description "SFF Name";
                      }
    
                      uses NODE;
                    }  // list sff-name
                  }  // container sff-names
    
                  container sf-names {
                    description
                      "service function ";
                    list sf-name {
                      key "name";
                      description
                        "service function name";
                      leaf name {
                        type xr:Cisco-ios-xr-string;
                        description "SF Name";
                      }
    
                      uses NODE;
                    }  // list sf-name
                  }  // container sf-names
    
                  leaf index {
                    type uint32 {
                      range "1..255";
                    }
                    description
                      "Specify the id of service function";
                  }
                }  // list service-index
              }  // list path
            }  // container paths
          }  // container service-function-path
        }  // container vservice
      }  // module Cisco-IOS-XR-vservice-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.