netconfcentral logo

INTEGRATED-SERVICES-MIB.yang



  module INTEGRATED-SERVICES-MIB {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB";

    prefix integrated-services;

    import IF-MIB {
      prefix if-mib;
    }
    import SNMPv2-TC {
      prefix smiv2;
    }
    import yang-smi {
      prefix smi;
    }
    import ietf-yang-types {
      prefix yang;
    }

    organization
      "IETF Integrated Services Working Group";

    contact
      "       Fred Baker
      Postal: Cisco Systems
              519 Lado Drive
              Santa Barbara, California 93111
      Tel:    +1 805 681 0115
      E-Mail: fred@cisco.com
      
              John Krawczyk
      Postal: ArrowPoint Communications
              235 Littleton Road
              Westford, Massachusetts 01886
      Tel:    +1 508 692 5875
      E-Mail: jjk@tiac.net";

    description
      "The MIB module to describe the Integrated Services
      
      
      
      Protocol";

    revision "1995-11-03" {
      description
        "This version published as RFC 2213.";
    }


    typedef SessionNumber {
      type int32 {
        range "0..2147483647";
      }
      description
        "The Session  Number  convention  is  used  for
         numbers  identifying  sessions or saved PATH or
         RESV information. It is a number in  the  range
         returned  by  a TestAndIncr variable, having no
         protocol meaning whatsoever but serving instead
         as simple identifier.
         
         The alternative was a very complex instance  or
         instance object that became unwieldy.";
    }

    typedef Protocol {
      type int32 {
        smi:display-hint "d";
        range "1..255";
      }
      description
        "The value of the IP Protocol field  of  an  IP
         Datagram  Header.  This identifies the protocol
         layer above IP.  For example, the  value  6  is
         used  for TCP and the value 17 is used for UDP.
         The values of this field are defined in the As-
         signed Numbers RFC.";
    }

    typedef SessionType {
      type int32 {
        range "1..255";
      }
      description
        "The value of the C-Type field of a Session ob-
         ject,  as  defined  in  the RSVP specification.
         This value  determines  the  lengths  of  octet
         strings  and use of certain objects such as the
         'port' variables. If the C-Type  calls  for  an
         IP6  address, one would expect all source, des-
         
         
         
         tination, and next/previous hop addresses to be
         16  bytes long, and for the ports to be UDP/TCP
         port numbers, for example.";
    }

    typedef Port {
      type binary {
        length "2..4";
      }
      description
        "The value of the UDP or TCP Source or Destina-
         tion  Port field, a virtual destination port or
         generalized port identifier used with the IPSEC
         Authentication Header or Encapsulating Security
         Payload, or other session discriminator.  If it
         is  not  used, the value should be of length 0.
         This pair, when coupled with the  IP  Addresses
         of the source and destination system and the IP
         protocol  field,  uniquely  identifies  a  data
         stream.";
    }

    typedef MessageSize {
      type int32 {
        smi:display-hint "d";
        range "0..2147483647";
      }
      description
        "The size of a message in bytes. This  is  used
         to  specify  the  minimum and maximum size of a
         message along an integrated services route.";
    }

    typedef BitRate {
      type int32 {
        smi:display-hint "d";
        range "0..2147483647";
      }
      description
        "The rate, in bits/second, that data  may  move
         in  the context.  Applicable contexts minimally
         include the speed of an  interface  or  virtual
         circuit, the data rate of a (potentially aggre-
         gated) data flow, or the data rate to be  allo-
         cated for use by a flow.";
    }

    typedef BurstSize {
      type int32 {
        smi:display-hint "d";
        range "0..2147483647";
      }
      description
        "The number of octets of IP Data, including  IP
         Headers, that a stream may send without concern
         for policing.";
    }

    typedef QosService {
      type enumeration {
        enum "bestEffort" {
          value 1;
        }
        enum "guaranteedDelay" {
          value 2;
        }
        enum "controlledLoad" {
          value 5;
        }
      }
      description
        "The class of service in use by a flow.";
    }

    container intSrvObjects {
      smi:oid "1.3.6.1.2.1.52.1";
      list intSrvIfAttribEntry {
        smi:oid "1.3.6.1.2.1.52.1.1.1";
        key "ifIndex";
        description
          "The reservable attributes of  a  given  inter-
            face.";
        leaf ifIndex {
          type leafref {
            path "/if-mib:interfaces/if-mib:ifEntry/if-mib:ifIndex";
          }
          description
            "Automagically generated leafref leaf.";
        }

        leaf intSrvIfAttribAllocatedBits {
          smi:oid "1.3.6.1.2.1.52.1.1.1.1";
          type BitRate;
          units "Bits per second";
          config false;
          description
            "The number of bits/second currently  allocated
               to reserved sessions on the interface.";
        }

        leaf intSrvIfAttribMaxAllocatedBits {
          smi:oid "1.3.6.1.2.1.52.1.1.1.2";
          type BitRate;
          units "Bits per second";
          description
            "The maximum number of bits/second that may  be
               allocated  to  reserved  sessions on the inter-
               face.";
        }

        leaf intSrvIfAttribAllocatedBuffer {
          smi:oid "1.3.6.1.2.1.52.1.1.1.3";
          type BurstSize;
          units "Bytes";
          config false;
          description
            "The amount of buffer space  required  to  hold
               the simultaneous burst of all reserved flows on
               the interface.";
        }

        leaf intSrvIfAttribFlows {
          smi:oid "1.3.6.1.2.1.52.1.1.1.4";
          type yang:gauge32;
          config false;
          description
            "The number of reserved flows currently  active
               on  this  interface.  A flow can be created ei-
               ther from a reservation protocol (such as  RSVP
               or ST-II) or via configuration information.";
        }

        leaf intSrvIfAttribPropagationDelay {
          smi:default "0";
          smi:oid "1.3.6.1.2.1.52.1.1.1.5";
          type int32;
          units "microseconds";
          description
            "The amount of propagation delay that this  in-
               terface  introduces  in addition to that intro-
               diced by bit propagation delays.";
        }

        leaf intSrvIfAttribStatus {
          smi:oid "1.3.6.1.2.1.52.1.1.1.6";
          type smiv2:RowStatus;
          description
            "'active' on interfaces that are configured for
               RSVP.";
        }
      }  // list intSrvIfAttribEntry

      list intSrvFlowEntry {
        smi:oid "1.3.6.1.2.1.52.1.2.1";
        key "intSrvFlowNumber";
        description
          "Information describing the use of a given  in-
            terface   by   a   given   flow.   The  counter
            intSrvFlowPoliced starts counting  at  the  in-
            stallation of the flow.";
        leaf intSrvFlowNumber {
          smi:oid "1.3.6.1.2.1.52.1.2.1.1";
          type SessionNumber;
          description
            "The number of this flow.  This is for SNMP In-
               dexing purposes only and has no relation to any
               protocol value.";
        }

        leaf intSrvFlowType {
          smi:oid "1.3.6.1.2.1.52.1.2.1.2";
          type SessionType;
          description
            "The type of session (IP4, IP6, IP6  with  flow
               information, etc).";
        }

        leaf intSrvFlowOwner {
          smi:oid "1.3.6.1.2.1.52.1.2.1.3";
          type enumeration {
            enum "other" {
              value 1;
            }
            enum "rsvp" {
              value 2;
            }
            enum "management" {
              value 3;
            }
          }
          description
            "The process that installed this  flow  in  the
               queue policy database.";
        }

        leaf intSrvFlowDestAddr {
          smi:oid "1.3.6.1.2.1.52.1.2.1.4";
          type binary {
            length "4..16";
          }
          description
            "The destination address used by all senders in
               this  session.   This object may not be changed
               when the value of the RowStatus object is  'ac-
               tive'.";
        }

        leaf intSrvFlowSenderAddr {
          smi:oid "1.3.6.1.2.1.52.1.2.1.5";
          type binary {
            length "4..16";
          }
          description
            "The source address of the sender  selected  by
               this  reservation.  The value of all zeroes in-
               dicates 'all senders'.  This object may not  be
               changed  when the value of the RowStatus object
               is 'active'.";
        }

        leaf intSrvFlowDestAddrLength {
          smi:oid "1.3.6.1.2.1.52.1.2.1.6";
          type int32 {
            range "0..128";
          }
          description
            "The length of the destination address in bits.
               This  is  the CIDR Prefix Length, which for IP4
               hosts and multicast addresses is 32 bits.  This
               object may not be changed when the value of the
               RowStatus object is 'active'.";
        }

        leaf intSrvFlowSenderAddrLength {
          smi:oid "1.3.6.1.2.1.52.1.2.1.7";
          type int32 {
            range "0..128";
          }
          description
            "The length of the sender's  address  in  bits.
               This  is  the CIDR Prefix Length, which for IP4
               hosts and multicast addresses is 32 bits.  This
               object may not be changed when the value of the
               RowStatus object is 'active'.";
        }

        leaf intSrvFlowProtocol {
          smi:oid "1.3.6.1.2.1.52.1.2.1.8";
          type Protocol;
          description
            "The IP Protocol used by a session.   This  ob-
               ject  may  not be changed when the value of the
               RowStatus object is 'active'.";
        }

        leaf intSrvFlowDestPort {
          smi:oid "1.3.6.1.2.1.52.1.2.1.9";
          type Port;
          description
            "The UDP or TCP port number used as a  destina-
               tion  port for all senders in this session.  If
               the  IP   protocol   in   use,   specified   by
               intSrvResvFwdProtocol,  is 50 (ESP) or 51 (AH),
               this  represents  a  virtual  destination  port
               number.   A value of zero indicates that the IP
               protocol in use does not have ports.  This  ob-
               ject  may  not be changed when the value of the
               
               
               
               RowStatus object is 'active'.";
        }

        leaf intSrvFlowPort {
          smi:oid "1.3.6.1.2.1.52.1.2.1.10";
          type Port;
          description
            "The UDP or TCP port number used  as  a  source
               port  for  this sender in this session.  If the
               IP    protocol    in    use,    specified    by
               intSrvResvFwdProtocol  is  50 (ESP) or 51 (AH),
               this represents a generalized  port  identifier
               (GPI).   A  value of zero indicates that the IP
               protocol in use does not have ports.  This  ob-
               ject  may  not be changed when the value of the
               RowStatus object is 'active'.";
        }

        leaf intSrvFlowFlowId {
          smi:oid "1.3.6.1.2.1.52.1.2.1.11";
          type int32 {
            range "0..16777215";
          }
          config false;
          description
            "The flow ID that  this  sender  is  using,  if
               this  is  an IPv6 session.";
        }

        leaf intSrvFlowInterface {
          smi:oid "1.3.6.1.2.1.52.1.2.1.12";
          type if-mib:InterfaceIndex;
          description
            "The ifIndex value of the  interface  on  which
               this reservation exists.";
        }

        leaf intSrvFlowIfAddr {
          smi:oid "1.3.6.1.2.1.52.1.2.1.13";
          type binary {
            length "4..16";
          }
          description
            "The IP Address on the ifEntry  on  which  this
               reservation  exists.  This is present primarily
               
               
               
               to support those interfaces which layer  multi-
               ple IP Addresses on the interface.";
        }

        leaf intSrvFlowRate {
          smi:oid "1.3.6.1.2.1.52.1.2.1.14";
          type BitRate;
          units "bits per second";
          description
            "The Reserved Rate of the sender's data stream.
               If this is a Controlled Load service flow, this
               rate is derived from the Tspec  rate  parameter
               (r).   If  this  is  a Guaranteed service flow,
               this rate is derived from  the  Rspec  clearing
               rate parameter (R).";
        }

        leaf intSrvFlowBurst {
          smi:oid "1.3.6.1.2.1.52.1.2.1.15";
          type BurstSize;
          units "bytes";
          description
            "The size of the largest  burst  expected  from
               the sender at a time.
               
               If this is less than  the  sender's  advertised
               burst  size, the receiver is asking the network
               to provide flow pacing  beyond  what  would  be
               provided  under normal circumstances. Such pac-
               ing is at the network's option.";
        }

        leaf intSrvFlowWeight {
          smi:oid "1.3.6.1.2.1.52.1.2.1.16";
          type int32;
          description
            "The weight used  to  prioritize  the  traffic.
               Note  that the interpretation of this object is
               implementation-specific,   as   implementations
               vary in their use of weighting procedures.";
        }

        leaf intSrvFlowQueue {
          smi:oid "1.3.6.1.2.1.52.1.2.1.17";
          type int32;
          description
            "The number of the queue used by this  traffic.
               Note  that the interpretation of this object is
               implementation-specific,   as   implementations
               vary in their use of queue identifiers.";
        }

        leaf intSrvFlowMinTU {
          smi:oid "1.3.6.1.2.1.52.1.2.1.18";
          type MessageSize;
          description
            "The minimum message size for  this  flow.  The
               policing  algorithm will treat smaller messages
               as though they are this size.";
        }

        leaf intSrvFlowMaxTU {
          smi:oid "1.3.6.1.2.1.52.1.2.1.19";
          type MessageSize;
          description
            "The maximum datagram size for this  flow  that
               will conform to the traffic specification. This
               value cannot exceed the MTU of the interface.";
        }

        leaf intSrvFlowBestEffort {
          smi:oid "1.3.6.1.2.1.52.1.2.1.20";
          type yang:counter32;
          config false;
          description
            "The number of packets that  were  remanded  to
               best effort service.";
        }

        leaf intSrvFlowPoliced {
          smi:oid "1.3.6.1.2.1.52.1.2.1.21";
          type yang:counter32;
          config false;
          description
            "The number of packets policed since the incep-
               tion of the flow's service.";
        }

        leaf intSrvFlowDiscard {
          smi:default "false";
          smi:oid "1.3.6.1.2.1.52.1.2.1.22";
          type smiv2:TruthValue;
          description
            "If 'true', the flow  is  to  incur  loss  when
               traffic is policed.  If 'false', policed traff-
               ic is treated as best effort traffic.";
        }

        leaf intSrvFlowService {
          smi:oid "1.3.6.1.2.1.52.1.2.1.23";
          type QosService;
          config false;
          description
            "The QoS service being applied to this flow.";
        }

        leaf intSrvFlowOrder {
          smi:oid "1.3.6.1.2.1.52.1.2.1.24";
          type int32 {
            range "0..65535";
          }
          description
            "In the event of ambiguity, the order in  which
               the  classifier  should  make  its comparisons.
               The row with intSrvFlowOrder=0 is tried  first,
               and  comparisons  proceed  in  the order of in-
               creasing value.  Non-serial implementations  of
               the classifier should emulate this behavior.";
        }

        leaf intSrvFlowStatus {
          smi:oid "1.3.6.1.2.1.52.1.2.1.25";
          type smiv2:RowStatus;
          description
            "'active' for all active  flows.   This  object
               
               
               
               may be used to install static classifier infor-
               mation, delete classifier information,  or  au-
               thorize such.";
        }
      }  // list intSrvFlowEntry
    }  // container intSrvObjects

    container intSrvGenObjects {
      smi:oid "1.3.6.1.2.1.52.2";
      leaf intSrvFlowNewIndex {
        smi:oid "1.3.6.1.2.1.52.2.1";
        type smiv2:TestAndIncr;
        description
          "This  object  is  used  to  assign  values  to
            intSrvFlowNumber  as described in 'Textual Con-
            ventions  for  SNMPv2'.   The  network  manager
            reads  the  object,  and  then writes the value
            back in the SET that creates a new instance  of
            intSrvFlowEntry.   If  the  SET  fails with the
            code 'inconsistentValue', then the process must
            be  repeated; If the SET succeeds, then the ob-
            ject is incremented, and the  new  instance  is
            created according to the manager's directions.";
      }
    }  // container intSrvGenObjects
  }  // module INTEGRATED-SERVICES-MIB