netconfcentral logo

ietf-qos-classifier

HTML

ietf-qos-classifier@2016-03-03



  module ietf-qos-classifier {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-qos-classifier";

    prefix classifier;

    import ietf-inet-types {
      prefix inet;
    }

    organization
      "IETF RTG (Routing Area) Working Group";

    contact
      "WG Web:   <http://tools.ietf.org/wg/rtgwg/>
     WG List:  <mailto:rtgwg@ietf.org>
     WG Chair: Chris Bowers
               <mailto:cbowers@juniper.net>
     WG Chair: Jeff Tantsura
               <mailto:jefftant.ietf@gmail.com>
     Editor:   Aseem Choudhary
               <mailto:asechoud@cisco.com>
     Editor:   Mahesh Jethanandani
               <mailto:mjethanandani@gmail.com>
     Editor:   Norm Strahle
               <mailto:nstrahle@juniper.net>";

    description
      "This module contains a collection of YANG definitions for
     configuring qos specification implementations.
     Copyright (c) 2014 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).
     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

    revision "2016-03-03" {
      description
        "Latest revision of qos base classifier module";
      reference
        "RFC XXXX";

    }


    feature policy-inline-classifier-config {
      description
        " This feature allows classifier configuration
        directly under policy.";
    }

    identity filter-type {
      base 
      description
        "This is identity of base filter-type";
    }

    identity dscp {
      base filter-type;
      description
        "Differentiated services code point filter-type";
    }

    identity source-ip-address {
      base filter-type;
      description
        "source ipv4 and ipv6 address filter-type";
    }

    identity destination-ip-address {
      base filter-type;
      description
        "destination ipv4 and ipv6 address filter-type";
    }

    identity source-port {
      base filter-type;
      description "source port filter-type";
    }

    identity destination-port {
      base filter-type;
      description
        "destination port filter-type";
    }

    identity protocol {
      base filter-type;
      description
        "protocol type filter-type";
    }

    identity classifier-entry-filter-operation-type {
      base 
      description
        "Classifier entry filter logical operation";
    }

    identity match-any-filter {
      base classifier-entry-filter-operation-type;
      description
        "Classifier entry filter logical OR operation";
    }

    identity match-all-filter {
      base classifier-entry-filter-operation-type;
      description
        "Classifier entry filter logical AND operation";
    }

    grouping dscp-cfg {
      description
        "Filter grouping containing list of dscp ranges";
      list dscp-cfg {
        key "dscp-min dscp-max";
        description "list of dscp ranges";
        leaf dscp-min {
          type inet:dscp;
          description
            "Minimum value of dscp min-max range";
        }

        leaf dscp-max {
          type inet:dscp;
          description
            "maximum value of dscp min-max range";
        }
      }  // list dscp-cfg
    }  // grouping dscp-cfg

    grouping source-ip-address-cfg {
      description
        "Filter grouping containing list of source ip addresses";
      list source-ip-address-cfg {
        key "source-ip-addr";
        description
          "list of source ipv4 or ipv6 address";
        leaf source-ip-addr {
          type inet:ip-prefix;
          description
            "source ipv4 or ipv6 prefix";
        }
      }  // list source-ip-address-cfg
    }  // grouping source-ip-address-cfg

    grouping destination-ip-address-cfg {
      description
        "Filter grouping containing list of destination ip address";
      list destination-ip-address-cfg {
        key "destination-ip-addr";
        description
          "list of destination ipv4 or ipv6 address";
        leaf destination-ip-addr {
          type inet:ip-prefix;
          description
            "destination ipv4 or ipv6 prefix";
        }
      }  // list destination-ip-address-cfg
    }  // grouping destination-ip-address-cfg

    grouping source-port-cfg {
      description
        "Filter grouping containing list of source port ranges";
      list source-port-cfg {
        key "source-port-min source-port-max";
        description
          "list of ranges of source port";
        leaf source-port-min {
          type inet:port-number;
          description
            "minimum value of source port range";
        }

        leaf source-port-max {
          type inet:port-number;
          description
            "maximum value of source port range";
        }
      }  // list source-port-cfg
    }  // grouping source-port-cfg

    grouping destination-port-cfg {
      description
        "Filter grouping containing list of destination port ranges";
      list destination-port-cfg {
        key "destination-port-min destination-port-max";
        description
          "list of ranges of destination port";
        leaf destination-port-min {
          type inet:port-number;
          description
            "minimum value of destination port range";
        }

        leaf destination-port-max {
          type inet:port-number;
          description
            "maximum value of destination port range";
        }
      }  // list destination-port-cfg
    }  // grouping destination-port-cfg

    grouping protocol-cfg {
      description
        "Filter grouping containing list of Protocol ranges";
      list protocol-cfg {
        key "protocol-min protocol-max";
        description
          "list of ranges of protocol values";
        leaf protocol-min {
          type uint8 {
            range "0..255";
          }
          description
            "minimum value of protocol range";
        }

        leaf protocol-max {
          type uint8 {
            range "0..255";
          }
          description
            "maximum value of protocol range";
        }
      }  // list protocol-cfg
    }  // grouping protocol-cfg

    grouping filters {
      description
        "Filters types in a Classifier entry";
      leaf filter-type {
        type identityref {
          base filter-type;
        }
        description
          "This leaf defines type of the filter";
      }

      leaf filter-logical-not {
        type boolean;
        description
          "
         This is logical-not operator for a filter. When true, it
         indicates filter looks for absence of a pattern defined
         by the filter
        ";
      }
    }  // grouping filters

    grouping classifier-entry-generic-attr {
      description
        "
       Classifier generic attributes like name,
       description, operation type
      ";
      leaf classifier-entry-name {
        type string;
        description "classifier entry name";
      }

      leaf classifier-entry-descr {
        type string;
        description
          "classifier entry description statement";
      }

      leaf classifier-entry-filter-operation {
        type identityref {
          base classifier-entry-filter-operation-type;
        }
        default "match-any-filter";
        description
          "Filters are applicable as match-any or match-all filters";
      }
    }  // grouping classifier-entry-generic-attr

    grouping classifier-entry-inline-attr {
      description
        "attributes of inline classifier in a policy";
      leaf classifier-entry-inline {
        type boolean;
        default "false";
        description
          "Indication of inline classifier entry";
      }

      leaf classifier-entry-filter-oper {
        type identityref {
          base classifier-entry-filter-operation-type;
        }
        default "match-all-filter";
        description
          "Filters are applicable as match-any or match-all filters";
      }

      list filter-entry {
        if-feature policy-inline-classifier-config;
        must
          " ../classifier-entry-inline = 'true' " {
          description
            "For inline filter configuration, inline attribute"
              + "must be true";
        }
        key "filter-type filter-logical-not";
        description
          "Filters configured inline in a policy";
        uses filters;
      }  // list filter-entry
    }  // grouping classifier-entry-inline-attr

    container classifiers {
      description "list of classifier entry";
      list classifier-entry {
        key "classifier-entry-name";
        description
          "each classifier entry contains a list of filters";
        uses classifier-entry-generic-attr;

        list filter-entry {
          key "filter-type filter-logical-not";
          description
            "Filter entry configuration";
          uses filters;
        }  // list filter-entry
      }  // list classifier-entry
    }  // container classifiers
  }  // module ietf-qos-classifier

Summary

  
  
Organization IETF RTG (Routing Area) Working Group
  
Module ietf-qos-classifier
Version 2016-03-03
File ietf-qos-classifier@2016-03-03.yang
  
Prefix classifier
Namespace urn:ietf:params:xml:ns:yang:ietf-qos-classifier
  
Cooked /cookedmodules/ietf-qos-classifier/2016-03-03
YANG /src/ietf-qos-classifier@2016-03-03.yang
XSD /xsd/ietf-qos-classifier@2016-03-03.xsd
  
Abstract This module contains a collection of YANG definitions for configuring qos specification implementations. Copyright (c) 2014 IETF...
  
Contact
WG Web:   <http://tools.ietf.org/wg/rtgwg/>
WG List:  <mailto:rtgwg@ietf.org>
WG Chair: Chris Bowers
	  <mailto:cbowers@juniper.net>
WG Chair: Jeff Tantsura
	  <mailto:jefftant.ietf@gmail.com>
Editor:   Aseem Choudhary
	  <mailto:asechoud@cisco.com>
Editor:   Mahesh Jethanandani
	  <mailto:mjethanandani@gmail.com>
Editor:   Norm Strahle
	  <mailto:nstrahle@juniper.net>

Description

 
This module contains a collection of YANG definitions for
configuring qos specification implementations.
Copyright (c) 2014 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).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.

Groupings

Grouping Objects Abstract
classifier-entry-generic-attr classifier-entry-name classifier-entry-descr classifier-entry-filter-operation Classifier generic attributes like name, description, operation type
classifier-entry-inline-attr classifier-entry-inline classifier-entry-filter-oper filter-entry attributes of inline classifier in a policy
destination-ip-address-cfg destination-ip-address-cfg Filter grouping containing list of destination ip address
destination-port-cfg destination-port-cfg Filter grouping containing list of destination port ranges
dscp-cfg dscp-cfg Filter grouping containing list of dscp ranges
filters filter-type filter-logical-not Filters types in a Classifier entry
protocol-cfg protocol-cfg Filter grouping containing list of Protocol ranges
source-ip-address-cfg source-ip-address-cfg Filter grouping containing list of source ip addresses
source-port-cfg source-port-cfg Filter grouping containing list of source port ranges

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
classifiers container list of classifier entry
   classifier-entry list each classifier entry contains a list of filters
      classifier-entry-descr leaf classifier entry description statement
      classifier-entry-filter-operation leaf Filters are applicable as match-any or match-all filters
      classifier-entry-name leaf classifier entry name
      filter-entry list Filter entry configuration
         filter-logical-not leaf This is logical-not operator for a filter. When true, it indicates filter looks for absence of a pattern defined by the filter
         filter-type leaf This leaf defines type of the filter