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 {
            range "1..255";
            smi:display-hint "d";
         }
         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 {
            range "0..2147483647";
            smi:display-hint "d";
         }
         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 {
            range "0..2147483647";
            smi:display-hint "d";
         }
         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 {
            range "0..2147483647";
            smi:display-hint "d";
         }
         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 {
         list intSrvIfAttribEntry {
            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 {
               type BitRate;
               units "Bits per second";
               config "false";
               description
                  "The number of bits/second currently  allocated
                  to reserved sessions on the interface.";
               smi:oid "1.3.6.1.2.1.52.1.1.1.1";
            }

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

            leaf intSrvIfAttribAllocatedBuffer {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.1.1.3";
            }

            leaf intSrvIfAttribFlows {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.1.1.4";
            }

            leaf intSrvIfAttribPropagationDelay {
               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.";
               smi:default "0";
               smi:oid "1.3.6.1.2.1.52.1.1.1.5";
            }

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

         list intSrvFlowEntry {
            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 {
               type SessionNumber;
               description
                  "The number of this flow.  This is for SNMP In-
                  dexing purposes only and has no relation to any
                  protocol value.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.1";
            }

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

            leaf intSrvFlowOwner {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.3";
            }

            leaf intSrvFlowDestAddr {
               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'.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.4";
            }

            leaf intSrvFlowSenderAddr {
               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'.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.5";
            }

            leaf intSrvFlowDestAddrLength {
               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'.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.6";
            }

            leaf intSrvFlowSenderAddrLength {
               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'.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.7";
            }

            leaf intSrvFlowProtocol {
               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'.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.8";
            }

            leaf intSrvFlowDestPort {
               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'.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.9";
            }

            leaf intSrvFlowPort {
               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'.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.10";
            }

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

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

            leaf intSrvFlowIfAddr {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.13";
            }

            leaf intSrvFlowRate {
               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).";
               smi:oid "1.3.6.1.2.1.52.1.2.1.14";
            }

            leaf intSrvFlowBurst {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.15";
            }

            leaf intSrvFlowWeight {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.16";
            }

            leaf intSrvFlowQueue {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.17";
            }

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

            leaf intSrvFlowMaxTU {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.19";
            }

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

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

            leaf intSrvFlowDiscard {
               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.";
               smi:default "false";
               smi:oid "1.3.6.1.2.1.52.1.2.1.22";
            }

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

            leaf intSrvFlowOrder {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.24";
            }

            leaf intSrvFlowStatus {
               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.";
               smi:oid "1.3.6.1.2.1.52.1.2.1.25";
            }
            smi:oid "1.3.6.1.2.1.52.1.2.1";
         }  // list intSrvFlowEntry
         smi:oid "1.3.6.1.2.1.52.1";
      }  // container intSrvObjects

      container intSrvGenObjects {
         leaf intSrvFlowNewIndex {
            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.";
            smi:oid "1.3.6.1.2.1.52.2.1";
         }
         smi:oid "1.3.6.1.2.1.52.2";
      }  // container intSrvGenObjects
   }  // module INTEGRATED-SERVICES-MIB