-- MIB created 6/25/99 12:57:58, by
--   SMIC (the next generation) version 1.6.29, November 22, 1994.

INT-SERV-GUARANTEED-MIB DEFINITIONS ::= BEGIN

-- From file: "INT-SERV-GUARANTEED-MIB.my"

IMPORTS
    OBJECT-TYPE
            FROM RFC-1212
    RowStatus
            FROM SNMPv2-TC-v1
    intSrv
            FROM INT-SERV-MIB
    ifIndex
            FROM IF-MIB;

intSrvGuaranteed OBJECT IDENTIFIER ::= { intSrv 4 }
-- MODULE-IDENTITY
--  LastUpdated
--    9511030500Z
--  OrgName
--    IETF Integrated Services Working Group
--  ContactInfo
--           Fred Baker
--    Postal: Cisco Systems
--            519 Lado Drive
--            Santa Barbara, California 93111
--    Tel:    +1 805 681 0115
--    E-Mail: fred@cisco.com
--  Descr
--    The MIB module to describe the Guaranteed Service of
--    the Integrated Services Protocol

intSrvGuaranteedObjects OBJECT IDENTIFIER ::= { intSrvGuaranteed 1 }
intSrvGuaranteedNotifications OBJECT IDENTIFIER ::= { intSrvGuaranteed 2 }
intSrvGuaranteedConformance OBJECT IDENTIFIER ::= { intSrvGuaranteed 3 }
intSrvGuaranteedGroups OBJECT IDENTIFIER ::= { intSrvGuaranteedConformance 1 }
intSrvGuaranteedCompliances OBJECT IDENTIFIER ::= { intSrvGuaranteedConformance 2 }

intSrvGuaranteedIfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IntSrvGuaranteedIfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The attributes of the system's interfaces  ex-
        ported by the Guaranteed Service."
    ::= { intSrvGuaranteedObjects 1 }

intSrvGuaranteedIfEntry OBJECT-TYPE
    SYNTAX IntSrvGuaranteedIfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The reservable attributes of  a  given  inter-
        face."
    INDEX { ifIndex }
    ::= { intSrvGuaranteedIfTable 1 }

IntSrvGuaranteedIfEntry ::= SEQUENCE {
    intSrvGuaranteedIfC INTEGER,
    intSrvGuaranteedIfD INTEGER,
    intSrvGuaranteedIfSlack INTEGER,
    intSrvGuaranteedIfStatus RowStatus
    }

intSrvGuaranteedIfC OBJECT-TYPE
    SYNTAX INTEGER(0..268435455)
--  Units
--    bytes
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The parameter C is the data backlog  resulting
        from the vagaries of how a specific implementa-
        tion deviates from a strict bit-by-bit service.
        So,  for instance, for packetized weighted fair
        queueing, C is set to the Maximum Packet Size.
        
        The error term C is measured in units of bytes.
        An  individual  element can advertise a C value
        between 1 and 2**28 (a little  over  250  mega-
        bytes)  and  the  total added over all elements
        can range as high as (2**32)-1.  Should the sum
        of   the   different   elements   delay  exceed
        (2**32)-1, the end-to-end error term should  be
        (2**32)-1."
    ::= { intSrvGuaranteedIfEntry 1 }

intSrvGuaranteedIfD OBJECT-TYPE
    SYNTAX INTEGER(0..268435455)
--  Units
--    microseconds
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The parameter D at each service element should
        be  set  to  the  maximum packet transfer delay
        (independent of bucket size) through  the  ser-
        vice   element.   For  instance,  in  a  simple
        router, one might compute the worst case amount
        of  time  it  make  take  for a datagram to get
        through the input interface to  the  processor,
        and how long it would take to get from the pro-
        cessor to the outbound interface (assuming  the
        queueing  schemes work correctly).  For an Eth-
        ernet, it might represent the worst case  delay
        if  the maximum number of collisions is experi-
        enced.
        
        The error term D is measured in  units  of  one
        microsecond.   An individual element can adver-
        tise a delay value between 1 and  2**28  (some-
        what  over two minutes) and the total delay ad-
        ded all elements can range as high as  (2**32)-
        1.   Should  the  sum of the different elements
        delay exceed (2**32)-1,  the  end-to-end  delay
        should be (2**32)-1."
    ::= { intSrvGuaranteedIfEntry 2 }

intSrvGuaranteedIfSlack OBJECT-TYPE
    SYNTAX INTEGER(0..268435455)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "If a network element uses a certain amount  of
        slack,  Si,  to  reduce the amount of resources
        that it has reserved for a particular flow,  i,
        the  value  Si  should be stored at the network
        element.   Subsequently,  if  reservation   re-
        freshes  are  received  for flow i, the network
        element must use the same slack Si without  any
        further computation. This guarantees consisten-
        cy in the reservation process.
        
        As an example for the use of  the  slack  term,
        consider the case where the required end-to-end
        delay, Dreq, is larger than the  maximum  delay
        of  the  fluid  flow  system. The latter is ob-
        tained by setting R=r in the fluid delay formu-
        la, and is given by
        
                     b/r + Ctot/r + Dtot.
        
        In this case the slack term is
        
               S = Dreq - (b/r + Ctot/r + Dtot).
        
        The slack term may be used by the network  ele-
        ments  to  adjust  their local reservations, so
        that they can admit flows that would  otherwise
        have been rejected. A service element at an in-
        termediate network element that can  internally
        differentiate between delay and rate guarantees
        can now take advantage of this  information  to
        lower the amount of resources allocated to this
        flow. For example, by taking an amount of slack
        s  <= S, an RCSD scheduler [5] can increase the
        local delay bound, d, assigned to the flow,  to
        d+s. Given an RSpec, (Rin, Sin), it would do so
        by setting Rout = Rin and Sout = Sin - s.
        
        Similarly,  a  network  element  using  a   WFQ
        scheduler  can  decrease  its local reservation
        from Rin to Rout by using some of the slack  in
        
        
        
        the  RSpec.  This  can be accomplished by using
        the transformation rules given in the  previous
        section,  that ensure that the reduced reserva-
        tion level will not increase the  overall  end-
        to-end delay."
    ::= { intSrvGuaranteedIfEntry 3 }

intSrvGuaranteedIfStatus OBJECT-TYPE
    SYNTAX RowStatus
--    Rsyntax INTEGER {
--        active(1),
--        notInService(2),
--        notReady(3),
--        createAndGo(4),
--        createAndWait(5),
--        destroy(6)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "'valid' on interfaces that are configured  for
        the Guaranteed Service."
    ::= { intSrvGuaranteedIfEntry 4 }

intSrvGuaranteedIfAttribGroup OBJECT IDENTIFIER ::= { intSrvGuaranteedGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    These objects are required  for  Systems  sup-
--    porting the Guaranteed Service of the Integrat-
--    ed Services Architecture.
--  objects
--    intSrvGuaranteedIfC, intSrvGuaranteedIfD, 
--    intSrvGuaranteedIfSlack, intSrvGuaranteedIfStatus

intSrvGuaranteedCompliance OBJECT IDENTIFIER ::= { intSrvGuaranteedCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement 
--  Module
--    >>current<<
--   MandGroup
--    intSrvGuaranteedIfAttribGroup


END

