smilint output for ./IPFIX-MIB


Message Severities
SeverityCount
error1
Message Types
TypeCount
object-identifier-not-prefix (error)1

Messages:

IPFIX-MIB

   1: -- extracted from draft-ietf-ipfix-mib-01.txt
   2: -- at Tue Jul 24 06:08:49 2007
   3: 
   4:    IPFIX-MIB DEFINITIONS ::= BEGIN
   5: 
   6:    IMPORTS
   7:        MODULE-IDENTITY, OBJECT-TYPE, mib-2, Integer32, Unsigned32,
   8:        Counter32, Counter64
   9:            FROM SNMPv2-SMI                                -- RFC2578
  10:        TEXTUAL-CONVENTION, DateAndTime
  11:            FROM SNMPv2-TC                                 -- RFC2579
  12:        MODULE-COMPLIANCE, OBJECT-GROUP
  13:            FROM SNMPv2-CONF                               -- RFC2580
  14:        InetAddressType, InetAddress
  15:            FROM INET-ADDRESS-MIB                          -- RFC3291
  16:        PhysicalIndexOrZero
  17:            FROM ENTITY-MIB;                               -- RFC4133
  18: 
  19:    ipfixMIB MODULE-IDENTITY
  20:        LAST-UPDATED "200707090900Z"         -- 09 July 2007
  21:        ORGANIZATION "IETF IPFIX Working Group"
  22:        CONTACT-INFO
  23:            "WG charter:
  24:              http://www.ietf.org/html.charters/ipfix-charter.html
  25: 
  26:            Mailing Lists:
  27:              General Discussion: ipfix@ietf.org
  28:              To Subscribe: majordomo@net.doit.wisc.edu
  29:              In Body: subscribe ipfix
  30:              Archive: http://ipfix.doit.wisc.edu/archive/
  31: 
  32:            Editor:
  33:              Thomas Dietz
  34:              NEC Europe Ltd.
  35:              NEC Laboratories Europe
  36:              Network Research Division
  37:              Kurfuersten-Anlage 36
  38:              69115 Heidelberg
  39:              Germany
  40:              Phone: +49 6221 4342-128
  41:              Email: dietz@netlab.nec.de
  42: 
  43:            Editor:
  44:              Atsushi Kobayashi
  45:              NTT Information Sharing Platform Laboratories
  46:              3-9-11 Midori-cho
  47:              Musashino-shi
  48:              180-8585
  49:              Japan
  50:              Phone: +81-422-59-3978
  51:              Email: akoba@nttv6.net
  52: 
  53:              Benoit Claise
  54:              Cisco Systems, Inc.
  55:              De Kleetlaan 6a b1
  56:              Degem 1831
  57:              Belgium
  58:              Phone:  +32 2 704 5622
  59:              Email: bclaise@cisco.com"
  60:        DESCRIPTION
  61:            "The IPFIX MIB defines managed objects for IP Flow
  62:            Information eXport. These objects provide information about
  63:            managed nodes supporting the IP Flow Information Export
  64:            protocol, for Exporters as well as for Collectors. The
  65:            objects also allow to perform some limited configuration on
  66:            an IPFIX Exporter.
  67: 
  68:            Copyright (C) The IETF Trust (2007). This version
  69:            of this MIB module is part of RFC yyyy; see the RFC itself
  70:            for full legal notices."
  71:    -- replace yyyy with actual RFC number & remove this notice
  72: 
  73:    --  Revision history
  74: 
  75:        REVISION     "200707090900Z"         -- 09 July 2007
  76:        DESCRIPTION
  77:            "Initial version, published as RFC yyyy."
  78:    -- replace yyyy with actual RFC number & remove this notice
  79: 
  80:        ::= { mib-2 xxx }
  80: error - Object identifier element `xxx' name only allowed as first element
  81:    -- xxx to be assigned by IANA.
  82: 
  83:    --******************************************************************
  84:    -- Textual Conventions
  85:    --******************************************************************
  86: 
  87:    --------------------------------------------------------------------
  88:    -- Define Selector Function Availability
  89:    --------------------------------------------------------------------
  90: 
  91:    IpfixFunctionAvailability ::= TEXTUAL-CONVENTION
  92:        STATUS  current
  93:        DESCRIPTION
  94:            "Used to report the availability of a selection function:
  95: 
  96:            available(1)
  97:                the function is supported and can be used
  98: 
  99:            notAvailable(2)
 100:                the function is not available"
 101:        SYNTAX      INTEGER {
 102:                        available(1),
 103:                        notAvailable(2)
 104:                    }
 105: 
 106:    --******************************************************************
 107:    -- Top Level Structure of the MIB
 108:    --******************************************************************
 109: 
 110:    ipfixObjects     OBJECT IDENTIFIER ::= { ipfixMIB 1 }
 111:    ipfixExtensions  OBJECT IDENTIFIER ::= { ipfixMIB 2 }
 112:    ipfixConformance OBJECT IDENTIFIER ::= { ipfixMIB 3 }
 113: 
 114:    --==================================================================
 115:    -- 1: Objects used by all IPFIX implementations
 116:    --==================================================================
 117:    ipfixExportVersion OBJECT-TYPE
 118:        SYNTAX      Integer32
 119:        MAX-ACCESS  read-only
 120:        STATUS      current
 121:        DESCRIPTION
 122:            "On Exporters the object contains the version number of the
 123:            IPFIX Protocol that the exporter uses to export its data.
 124: 
 125:            On Collectors the object contains the highest version
 126:            number of all IPFIX Protocols understood by the Collector."
 127:        ::= { ipfixObjects 1 }
 128: 
 129:    --------------------------------------------------------------------
 130:    -- 1.2: Transport Session Table
 131:    --------------------------------------------------------------------
 132: 
 133:    ipfixTransportSessionTable  OBJECT-TYPE
 134:        SYNTAX      SEQUENCE OF IpfixTransportSessionEntry
 135:        MAX-ACCESS  not-accessible
 136:        STATUS      current
 137:        DESCRIPTION
 138:            "This table lists the currently established transport
 139:            sessions between an Exporting Process and a Collecting
 140:            Process."
 141:        ::= { ipfixObjects 2 }
 142: 
 143:    ipfixTransportSessionEntry OBJECT-TYPE
 144:        SYNTAX      IpfixTransportSessionEntry
 145:        MAX-ACCESS  not-accessible
 146:        STATUS      current
 147:        DESCRIPTION
 148:            "Defines an entry in the ipfixTransportSessionTable"
 149:        INDEX       { ipfixTransportSessionIndex }
 150:        ::= { ipfixTransportSessionTable 1 }
 151: 
 152:    IpfixTransportSessionEntry ::=
 153:        SEQUENCE {
 154:           ipfixTransportSessionIndex                  Integer32,
 155:           ipfixTransportSessionProtocol               Integer32,
 156:           ipfixTransportSessionAddressType            InetAddressType,
 157:           ipfixTransportSessionSourceAddress          InetAddress,
 158:           ipfixTransportSessionDestinationAddress     InetAddress,
 159:           ipfixTransportSessionSourcePort             Integer32,
 160:           ipfixTransportSessionDestinationPort        Integer32,
 161:           ipfixTransportSessionSctpAssocId            Unsigned32,
 162:           ipfixTransportSessionTemplateRefreshTimeout Unsigned32,
 163:           ipfixTransportSessionOptionTemplateRefreshTimeout Unsigned32,
 164:           ipfixTransportSessionTemplateRefreshPacket  Unsigned32,
 165:           ipfixTransportSessionOptionTemplateRefreshPacket Unsigned32,
 166:           ipfixTransportSessionStatus                 INTEGER
 167:        }
 168: 
 169:    ipfixTransportSessionIndex OBJECT-TYPE
 170:        SYNTAX      Integer32 (1..2147483647)
 171:        MAX-ACCESS  not-accessible
 172:        STATUS      current
 173:        DESCRIPTION
 174:            "Locally arbitrary, but unique identifier of an entry in
 175:            the ipfixTransportSessionTable. The value is expected to
 176:            remain constant from a re-initialization of the entity's
 177:            network management system to the next re-initialization."
 178:        ::= { ipfixTransportSessionEntry 1 }
 179: 
 180:    ipfixTransportSessionProtocol OBJECT-TYPE
 181:        SYNTAX      Integer32 (1..255)
 182:        MAX-ACCESS  read-only
 183:        STATUS      current
 184:        DESCRIPTION
 185:            "The transport protocol used for receiving or transmitting
 186:            IPFIX Messages. The protocols currently defined for usage
 187:            within IPFIX are TCP (6), UDP (17) and SCTP (132). The
 188:            default protocol is SCTP."
 189:        DEFVAL      { 132 }
 190:        ::= { ipfixTransportSessionEntry 2 }
 191: 
 192:    ipfixTransportSessionAddressType OBJECT-TYPE
 193:        SYNTAX      InetAddressType
 194:        MAX-ACCESS  read-only
 195:        STATUS      current
 196:        DESCRIPTION
 197:            "The type of address used for source and destination address
 198:            as specified in RFC4001. This object is only valid if
 199:            ipfixTransportSessionProtocol has the value 6 (TCP) or 17
 200:            (UDP)."
 201:        ::= { ipfixTransportSessionEntry 3 }
 202: 
 203:    ipfixTransportSessionSourceAddress OBJECT-TYPE
 204:        SYNTAX      InetAddress
 205:        MAX-ACCESS  read-only
 206:        STATUS      current
 207:        DESCRIPTION
 208:            "The source address of the Exporter of the IPFIX transport
 209:            session. This value is interpreted according to the value of
 210:            ipfixTransportSessionAddressType as specified in RFC4001.
 211:            This object is only valid if ipfixTransportSessionProtocol
 212:            has the value 6 (TCP) or 17 (UDP)."
 213:        ::= { ipfixTransportSessionEntry 4 }
 214: 
 215:    ipfixTransportSessionDestinationAddress OBJECT-TYPE
 216:        SYNTAX      InetAddress
 217:        MAX-ACCESS  read-only
 218:        STATUS      current
 219:        DESCRIPTION
 220:            "The destination address of the Collector of the IPFIX
 221:            transport session. This value is interpreted according to
 222:            the value of ipfixTransportSessionAddressType as specified
 223:            in RFC4001. This object is only valid if
 224:            ipfixTransportSessionProtocol has the value 6 (TCP) or 17
 225:            (UDP)."
 226:        ::= { ipfixTransportSessionEntry 5 }
 227: 
 228:    ipfixTransportSessionSourcePort OBJECT-TYPE
 229:        SYNTAX      Integer32 (0..65535)
 230:        MAX-ACCESS  read-only
 231:        STATUS      current
 232:        DESCRIPTION
 233:            "The transport protocol port number of the Exporter."
 234:        ::= { ipfixTransportSessionEntry 6 }
 235: 
 236:    ipfixTransportSessionDestinationPort OBJECT-TYPE
 237:        SYNTAX      Integer32 (0..65535)
 238:        MAX-ACCESS  read-only
 239:        STATUS      current
 240:        DESCRIPTION
 241:            "The transport protocol port number of the Collector. The
 242:            default value is 4739 for all currently defined transport
 243:            protocol types."
 244:        DEFVAL      { 4739 }
 245:        ::= { ipfixTransportSessionEntry 7 }
 246: 
 247:    ipfixTransportSessionSctpAssocId OBJECT-TYPE
 248:        SYNTAX      Unsigned32
 249:        MAX-ACCESS  read-only
 250:        STATUS      current
 251:        DESCRIPTION
 252:            "The association id used for the SCTP session between the
 253:            Exporter and the Collector of the IPFIX transport session.
 254:            It is equal to the sctpAssocIdentry in the sctpAssocTable
 255:            defined in the SCTP MIB. This object is only valid if
 256:            ipfixTransportSessionProtocol has the value 132 (SCTP). In
 257:            all other cases the value MUST be 0."
 258:        DEFVAL      { 0 }
 259:        ::= { ipfixTransportSessionEntry 8 }
 260: 
 261:    ipfixTransportSessionTemplateRefreshTimeout OBJECT-TYPE
 262:        SYNTAX      Unsigned32
 263:        MAX-ACCESS  read-only
 264:        STATUS      current
 265:        DESCRIPTION
 266:            "On Exporters this object contains the time in seconds
 267:            after which IPFIX Templates must be resend by the
 268:            Exporter.
 269: 
 270:            On Collectors this object contains the lifetime in seconds
 271:            after which a Template becomes invalid when it is not
 272:            received again within this lifetime.
 273: 
 274:            This object is only valid if ipfixTransportSessionProtocol
 275:            has the value 17 (UDP). In all other cases the value MUST
 276:            be 0."
 277:        DEFVAL      { 0 }
 278:        ::= { ipfixTransportSessionEntry 9 }
 279: 
 280:    ipfixTransportSessionOptionTemplateRefreshTimeout OBJECT-TYPE
 281:        SYNTAX      Unsigned32
 282:        MAX-ACCESS  read-only
 283:        STATUS      current
 284:        DESCRIPTION
 285:            "On Exporters this object contains the time in seconds
 286:            after which IPFIX Option Templates must be resend by the
 287:            Exporter.
 288: 
 289:            On Collectors this object contains the lifetime in seconds
 290:            after which an Option Template becomes invalid when it is
 291:            not received again within this lifetime.
 292: 
 293:            This object is only valid if ipfixTransportSessionProtocol
 294:            has the value 17 (UDP). In all other cases the value MUST
 295:            be 0."
 296:        DEFVAL      { 0 }
 297:        ::= { ipfixTransportSessionEntry 10 }
 298: 
 299:    ipfixTransportSessionTemplateRefreshPacket OBJECT-TYPE
 300:        SYNTAX      Unsigned32
 301:        MAX-ACCESS  read-only
 302:        STATUS      current
 303:        DESCRIPTION
 304:            "On Exporters this object contains the number of packets
 305:            after which IPFIX Templates must be resend by the
 306:            Exporter.
 307: 
 308:            On Collectors this object contains the lifetime in number
 309:            of packets after which a Template becomes invalid when it
 310:            is not received again within this lifetime.
 311: 
 312:            This object is only valid if ipfixTransportSessionProtocol
 313:            has the value 17 (UDP). In all other cases the value MUST
 314:            be 0."
 315:        DEFVAL      { 0 }
 316:        ::= { ipfixTransportSessionEntry 11 }
 317: 
 318:    ipfixTransportSessionOptionTemplateRefreshPacket OBJECT-TYPE
 319:        SYNTAX      Unsigned32
 320:        MAX-ACCESS  read-only
 321:        STATUS      current
 322:        DESCRIPTION
 323:            "On Exporters this object contains the number of packets
 324:            after which IPFIX Option Templates must be resend by the
 325:            Exporter.
 326: 
 327:            On Collectors this object contains the lifetime in number
 328:            of packets after which an Option Template becomes invalid
 329:            when it is not received again within this lifetime.
 330: 
 331:            This object is only valid if ipfixTransportSessionProtocol
 332:            has the value 17 (UDP). In all other cases the value MUST
 333:            be 0."
 334:        DEFVAL      { 0 }
 335:        ::= { ipfixTransportSessionEntry 12 }
 336: 
 337:    ipfixTransportSessionStatus OBJECT-TYPE
 338:        SYNTAX      INTEGER {
 339:                        unknown(0),
 340:                        inactive(1),
 341:                        active(2)
 342:                    }
 343:        MAX-ACCESS  read-only
 344:        STATUS      current
 345:        DESCRIPTION
 346:            "The status of a transport session. This object can have the
 347:            following values:
 348: 
 349:            unknown(0)
 350:                This value muse be used if the status of the
 351:                connection cannot be detected by the equipment. This
 352:                value should be avoided as far as possible.
 353: 
 354:            inactive(1)
 355:                This value must be used for transport sessions that
 356:                are specified in the system but not currently connected.
 357:                The value can be used e.g. for transport sessions that
 358:                are backup (secondary) sessions in a transport session
 359:                group.
 360: 
 361:            active(2)
 362:                This value must be used for transport sessions that are
 363:                currently connected and transmitting or receiving data."
 364:        ::= { ipfixTransportSessionEntry 13 }
 365: 
 366:    --------------------------------------------------------------------
 367:    -- 1.3: Transport Session Group Table
 368:    --------------------------------------------------------------------
 369: 
 370:    ipfixTransportSessionGroupTable  OBJECT-TYPE
 371:        SYNTAX      SEQUENCE OF IpfixTransportSessionGroupEntry
 372:        MAX-ACCESS  not-accessible
 373:        STATUS      current
 374:        DESCRIPTION
 375:            "This table lists groups of transport sessions to
 376:            achieve features like automatic failover, load
 377:            balancing, parallel export etc.
 378: 
 379:            On Exporters this table can group one ore more transport
 380:            sessions to achieve a special functionality like failover
 381:            management, load-balancing etc. If the Exporter does not
 382:            use Transport Session grouping then each group MUST contain
 383:            a single Transport Session and this session MUST have the
 384:            member type unused(5).
 385: 
 386:            On Collectors the Transport Session grouping is not used
 387:            and the same scheme must be used as described above for
 388:            Exporters not using Transport Session grouping."
 389:        ::= { ipfixObjects 3 }
 390: 
 391:    ipfixTransportSessionGroupEntry OBJECT-TYPE
 392:        SYNTAX      IpfixTransportSessionGroupEntry
 393:        MAX-ACCESS  not-accessible
 394:        STATUS      current
 395:        DESCRIPTION
 396:            "Defines an entry in the ipfixTransportSessionGroupTable"
 397:        INDEX       {
 398:            ipfixTransportSessionGroupIndex,
 399:            ipfixTransportSessionIndex
 400:        }
 401:        ::= { ipfixTransportSessionGroupTable 1 }
 402: 
 403:    IpfixTransportSessionGroupEntry ::=
 404:        SEQUENCE {
 405:           ipfixTransportSessionGroupIndex      Integer32,
 406:           ipfixTransportSessionGroupMemberType INTEGER
 407:        }
 408: 
 409:    ipfixTransportSessionGroupIndex OBJECT-TYPE
 410:        SYNTAX      Integer32 (0..2147483647)
 411:        MAX-ACCESS  not-accessible
 412:        STATUS      current
 413:        DESCRIPTION
 414:            "Locally arbitrary, but unique identifier of an entry in
 415:            the ipfixTransportSessionGroupTable. The value is expected
 416:            to remain constant from a re-initialization of the entity's
 417:            network management system to the next re-initialization.
 418: 
 419:            The special value of zero (0) is reserved for use within
 420:            the ipfixObservationDomainTable and is not allowed as an
 421:            index in this table. For a detailed explanation see the
 422:            definition of the ipfixObservationDomainTable."
 423:        ::= { ipfixTransportSessionGroupEntry 1 }
 424: 
 425:    ipfixTransportSessionGroupMemberType OBJECT-TYPE
 426:        SYNTAX      INTEGER {
 427:                        unknown(0),
 428:                        primary(1),
 429:                        secondary(2),
 430:                        parallel(3),
 431:                        loadBalancing(4),
 432:                        unused(5)
 433:                    }
 434:        MAX-ACCESS  read-only
 435:        STATUS      current
 436:        DESCRIPTION
 437:            "The type of a member transport session in its transport
 438:            session group (identified by the value of
 439:            ipfixTransportSessionGroupIndex). The following values are
 440:            valid:
 441: 
 442:            unknown(0)
 443:                This value muse be used if the status of the group
 444:                membership cannot be detected by the equipment. This
 445:                value should be avoided as far as possible.
 446: 
 447:            primary(1)
 448:                This value is used for a group member that is used as
 449:                the primary target of an Exporter. Other group members
 450:                (with the same ipfixTransportSessionGroupIndex) MUST
 451:                NOT have the value primary(1) but MUST have the value
 452:                secondary(2).
 453: 
 454:            secondary(2)
 455:                This value is used for a group member that is used as a
 456:                secondary target of an Exporter. The Exporter will use
 457:                one of the targets specified as secondary(2) within the
 458:                same transport session group when the primary target is
 459:                not reachable.
 460: 
 461:            duplicate(3)
 462:                This value is used for a group member that is used for
 463:                duplicate exporting i.e., all group members identified
 464:                by the ipfixTransportSessionGroupIndex are exporting
 465:                the same Records in parallel. This implies that all
 466:                group members MUST have the the same membertype
 467:                duplicate(3).
 468: 
 469:            loadBalancing(4)
 470:                This value is used for a group member that is used as
 471:                as one target for load-balancing. This means that a
 472:                Record is send to one of the group members in this
 473:                group identified by ipfixTransportSessionGroupIndex.
 474:                This implies that all group members MUST have the same
 475:                membertype load-balancing(4)
 476: 
 477:            unused(5)
 478:                This value MUST be specified if the Exporter does not
 479:                support transport session grouping. It is the default
 480:                value for Collectors since the Collector cannot decide
 481:                if the received transport session uses transport
 482:                session grouping or not. In this case the group MUST
 483:                contain only one transport session."
 484:        ::= { ipfixTransportSessionGroupEntry 2 }
 485: 
 486:    --------------------------------------------------------------------
 487:    -- 1.4: Observation Domain Table
 488:    --------------------------------------------------------------------
 489: 
 490:    ipfixObservationDomainTable  OBJECT-TYPE
 491:        SYNTAX      SEQUENCE OF IpfixObservationDomainEntry
 492:        MAX-ACCESS  not-accessible
 493:        STATUS      current
 494:        DESCRIPTION
 495:            "This table lists Observation Domains used by the Metering
 496:            Process, the Exporting Process or the Collecting Process.
 497: 
 498:            On Exporters the index ipfixTransportSessionGroupIndex MUST
 499:            always be zero (0) because the Observation Domain Id is
 500:            unique on the Exporter and can be used by any Transport
 501:            Session.
 502: 
 503:            On Collectors the index ipfixTransportSessionGroupIndex MUST
 504:            NOT be zero (0) because the Collector could receive Records
 505:            from different Transport Sessions which use the same
 506:            Observation Domain Ids."
 507:        ::= { ipfixObjects 4 }
 508: 
 509:    ipfixObservationDomainEntry OBJECT-TYPE
 510:        SYNTAX      IpfixObservationDomainEntry
 511:        MAX-ACCESS  not-accessible
 512:        STATUS      current
 513:        DESCRIPTION
 514:            "Defines an entry in the ipfixObservationDomainTable."
 515:        INDEX       {
 516:            ipfixTransportSessionGroupIndex,
 517:            ipfixObservationDomainId
 518:        }
 519:        ::= { ipfixObservationDomainTable 1 }
 520: 
 521:    IpfixObservationDomainEntry ::=
 522:        SEQUENCE {
 523:            ipfixObservationDomainId     Integer32,
 524:            ipfixPhysicalEntity          PhysicalIndexOrZero,
 525:            ipfixPhysicalEntityDirection INTEGER
 526:        }
 527: 
 528:    ipfixObservationDomainId OBJECT-TYPE
 529:        SYNTAX      Integer32 (0..2147483647)
 530:        MAX-ACCESS  not-accessible
 531:        STATUS      current
 532:        DESCRIPTION
 533:            "Locally arbitrary, but unique identifier of an entry in the
 534:            ipfixObservationDomainTable. The value is expected to remain
 535:            constant from a re-initialization of the entity's network
 536:            management system to the next re-initialization.
 537: 
 538:            The special value of 0 MUST NOT be used within this table
 539:            but is reserved for the usage in the ipfixTemplateTable
 540:            and the ipfixTemplateDefinitionTable. An index of 0 for the
 541:            ipfixObservationDomainId index in those tables indicates
 542:            that a Template or Option Template cannot be applied to a
 543:            single Observation Domain."
 544:        ::= { ipfixObservationDomainEntry 1 }
 545: 
 546:    ipfixPhysicalEntity OBJECT-TYPE
 547:        SYNTAX      PhysicalIndexOrZero
 548:        MAX-ACCESS  read-only
 549:        STATUS      current
 550:        DESCRIPTION
 551:            "This object contains the index of a physical entity in
 552:            the Entity MIB. This physical entity is the given
 553:            Observation Domain. If such a physical entity cannot be
 554:            specified or is not known then the object contains 0."
 555:        DEFVAL      { 0 }
 556:        ::= { ipfixObservationDomainEntry 2 }
 557: 
 558:    ipfixPhysicalEntityDirection OBJECT-TYPE
 559:        SYNTAX      INTEGER {
 560:                        none(0),
 561:                        ingress(1),
 562:                        egress(2),
 563:                        both(3)
 564:                    }
 565:        MAX-ACCESS  read-only
 566:        STATUS      current
 567:        DESCRIPTION
 568:            "The direction of the flow that is monitored on the given
 569:            physical entity. The following values are valid:
 570: 
 571:            none(0)
 572:                This value muse be used if a direction is not
 573:                applicable on the given physical entity.
 574: 
 575:            ingress(1)
 576:                This value is used for monitoring incoming flows on the
 577:                given physical entity.
 578: 
 579:            egress(2)
 580:                This value is used for monitoring outgoing flows on the
 581:                given physical entity.
 582: 
 583:            both(3)
 584:                This value is used for monitoring incoming and outgoing
 585:                flows on the given physical entity."
 586:        ::= { ipfixObservationDomainEntry 3 }
 587: 
 588:    --------------------------------------------------------------------
 589:    -- 1.5: Template Table
 590:    --------------------------------------------------------------------
 591: 
 592:    ipfixTemplateTable  OBJECT-TYPE
 593:        SYNTAX      SEQUENCE OF IpfixTemplateEntry
 594:        MAX-ACCESS  not-accessible
 595:        STATUS      current
 596:        DESCRIPTION
 597:            "This table lists the Templates and Option Templates that
 598:            are transmitted or received by the Exporting or Collecting
 599:            Process.
 600: 
 601:            On an Exporter the table contains the Templates and Option
 602:            Templates that are used for exporting data for a given
 603:            Transport Session group and Observation Domain.
 604: 
 605:            On an Collector the table contains Templates and Option
 606:            Templates that are received in the given Transport Session
 607:            group per Observation Domain.
 608: 
 609:            If a value of zero (0) is specified for the
 610:            ipfixObservationDomainId then the Template or Option
 611:            Template cannot be applied to a single Observation Domain."
 612:        ::= { ipfixObjects 5 }
 613: 
 614:    ipfixTemplateEntry OBJECT-TYPE
 615:        SYNTAX      IpfixTemplateEntry
 616:        MAX-ACCESS  not-accessible
 617:        STATUS      current
 618:        DESCRIPTION
 619:            "Defines an entry in the ipfixTemplateTable"
 620:        INDEX       {
 621:            ipfixTransportSessionGroupIndex,
 622:            ipfixObservationDomainId,
 623:            ipfixTemplateId
 624:        }
 625:        ::= { ipfixTemplateTable 1 }
 626: 
 627:    IpfixTemplateEntry ::=
 628:        SEQUENCE {
 629:            ipfixTemplateId          Integer32,
 630:            ipfixTemplateSetId       Integer32,
 631:            ipfixTemplateAccessTime  DateAndTime
 632:        }
 633: 
 634:    ipfixTemplateId OBJECT-TYPE
 635:        SYNTAX      Integer32 (256..2147483647)
 636:        MAX-ACCESS  not-accessible
 637:        STATUS      current
 638:        DESCRIPTION
 639:            "This number indicates the Template Id in the IPFIX
 640:            message. Values from 0 to 255 are not allowed for Template
 641:            Ids (see FIX_ME!!!!! IPFIX-PROTO)."
 642:        ::= { ipfixTemplateEntry 1 }
 643: 
 644:    ipfixTemplateSetId OBJECT-TYPE
 645:        SYNTAX      Integer32 (1..2147483647)
 646:        MAX-ACCESS  read-only
 647:        STATUS      current
 648:        DESCRIPTION
 649:            "This number indicates the set id of the Template. This
 650:            object allows to easily retrieve the Template type.
 651: 
 652:            Currently there are two values defined. The value 3 is
 653:            used for Sets containing Template definitions. The value 4
 654:            is used for Sets containing Option Template definitions. A
 655:            value greater than 255 is used for Sets containing Data
 656:            Records for the (Option) Template Id given by the Set Id."
 657:        ::= { ipfixTemplateEntry 2 }
 658: 
 659:    ipfixTemplateAccessTime OBJECT-TYPE
 660:        SYNTAX      DateAndTime
 661:        MAX-ACCESS  read-only
 662:        STATUS      current
 663:        DESCRIPTION
 664:            "The time when the Template was last sent or received.
 665: 
 666:            On the Exporter this object contains the time when this
 667:            (Option) Template was last sent to the Collector(s). This
 668:            time is used if the transport protocol is UDP to know when a
 669:            retransmission of the (Option) Template is needed.
 670: 
 671:            On the Collector this object contains the time when this
 672:            (Option) Template was last received from the Exporter. This
 673:            time is used if the transport protocol is UDP to know when
 674:            this (Option) Template times out and thus is no longer
 675:            valid."
 676:        ::= { ipfixTemplateEntry 3 }
 677: 
 678:    --------------------------------------------------------------------
 679:    -- 1.6: Template Definition Table
 680:    --------------------------------------------------------------------
 681: 
 682:    ipfixTemplateDefinitionTable  OBJECT-TYPE
 683:        SYNTAX      SEQUENCE OF IpfixTemplateDefinitionEntry
 684:        MAX-ACCESS  not-accessible
 685:        STATUS      current
 686:        DESCRIPTION
 687:            "This table lists the (Option) Template Fields of which a
 688:            (Option) Template is defined. It defines the (Option)
 689:            Template given in the ipfixTemplateId specified in the
 690:            ipfixTemplateTable."
 691:        ::= { ipfixObjects 6 }
 692: 
 693:    ipfixTemplateDefinitionEntry OBJECT-TYPE
 694:        SYNTAX      IpfixTemplateDefinitionEntry
 695:        MAX-ACCESS  not-accessible
 696:        STATUS      current
 697:        DESCRIPTION
 698:            "Defines an entry in the ipfixTemplateDefinitionTable"
 699:        INDEX       {
 700:            ipfixTransportSessionIndex,
 701:            ipfixObservationDomainId,
 702:            ipfixTemplateId,
 703:            ipfixTemplateDefinitionIndex
 704:        }
 705:        ::= { ipfixTemplateDefinitionTable 1 }
 706: 
 707:    IpfixTemplateDefinitionEntry ::=
 708:        SEQUENCE {
 709:            ipfixTemplateDefinitionIndex    Integer32,
 710:            ipfixTemplateDefinitionIeId     Integer32,
 711:            ipfixTemplateDefinitionIeLength Integer32,
 712:            ipfixTemplateDefinitionFlags    BITS
 713:        }
 714: 
 715:    ipfixTemplateDefinitionIndex OBJECT-TYPE
 716:        SYNTAX      Integer32 (1..2147483647)
 717:        MAX-ACCESS  not-accessible
 718:        STATUS      current
 719:        DESCRIPTION
 720:            "The ipfixTemplateDefinitionIndex specifies the order in
 721:            which the Information Elements are used in the (Option)
 722:            Template Record if an order must be applied.
 723: 
 724:            For more information on the order of Information Elements
 725:            see [XXXXXXXX Reference IPFIX-PROTO]."
 726:        ::= { ipfixTemplateDefinitionEntry 1 }
 727: 
 728:    ipfixTemplateDefinitionIeId OBJECT-TYPE
 729:        SYNTAX      Integer32 (1..2147483647)
 730:        MAX-ACCESS  read-only
 731:        STATUS      current
 732:        DESCRIPTION
 733:            "This indicates the Information Element Id at position
 734:            ipfixTemplateDefinitionIndex in the (Option) Template
 735:            ipfixTemplateId. This implicitly specifies the data type of
 736:            the Information Element.
 737: 
 738:            For more information about Information Elements see [XXXXXX
 739:            Reference IPFIX-INFO] and [XXXXXXX Reference IPFIX-PROTO]."
 740:        ::= { ipfixTemplateDefinitionEntry 2 }
 741: 
 742:    ipfixTemplateDefinitionIeLength OBJECT-TYPE
 743:        SYNTAX      Integer32 (1..2147483647)
 744:        MAX-ACCESS  read-only
 745:        STATUS      current
 746:        DESCRIPTION
 747:            "This indicates the length of the Information Element Id at
 748:            position ipfixTemplateDefinitionIndex in the (Option)
 749:            Template ipfixTemplateId.
 750: 
 751:            For more information about Information Elements see [XXXXXX
 752:            Reference IPFIX-INFO] and [XXXXXXX Reference IPFIX-PROTO]."
 753:        ::= { ipfixTemplateDefinitionEntry 3 }
 754: 
 755:    ipfixTemplateDefinitionFlags OBJECT-TYPE
 756:        SYNTAX      BITS {
 757:                        scope(0),
 758:                        flowKey(1)
 759:                    }
 760:        MAX-ACCESS  read-only
 761:        STATUS      current
 762:        DESCRIPTION
 763:            "This bitmask indicates special attributes for the
 764:            Information Element:
 765:            scope(0)
 766:                This Information Element is used for scope.
 767: 
 768:            flowKey(1)
 769:                This Information Element is a Flow key.
 770: 
 771:            Thus we get the following values for an Information Element:
 772: 
 773:            0
 774:                The Information Element contains Record values.
 775:            1 (scope)
 776:                The Information Element is used for scoping.
 777:            2 (flowKey)
 778:                The Information Element is used as Flow Key.
 779:            3 (scope | flowKey)
 780:                This combination is not allowed."
 781:        DEFVAL      { 0 }
 782:        ::= { ipfixTemplateDefinitionEntry 4 }
 783: 
 784:    --------------------------------------------------------------------
 785:    -- 1.7: Transport Session Statistics Table
 786:    --------------------------------------------------------------------
 787: 
 788:    ipfixTransportSessionStatsTable  OBJECT-TYPE
 789:        SYNTAX      SEQUENCE OF IpfixTransportSessionStatsEntry
 790:        MAX-ACCESS  not-accessible
 791:        STATUS      current
 792:        DESCRIPTION
 793:            "This table lists transport sessions statistics between
 794:            Exporting Process and Collecting Process."
 795:        ::= { ipfixObjects 7 }
 796: 
 797:    ipfixTransportSessionStatsEntry OBJECT-TYPE
 798:        SYNTAX      IpfixTransportSessionStatsEntry
 799:        MAX-ACCESS  not-accessible
 800:        STATUS      current
 801:        DESCRIPTION
 802:            "Defines an entry in the ipfixTransportSessionStatsTable"
 803:        AUGMENTS    { ipfixTransportSessionEntry }
 804:        ::= { ipfixTransportSessionStatsTable 1 }
 805: 
 806:    IpfixTransportSessionStatsEntry ::=
 807:        SEQUENCE {
 808:            ipfixTransportSessionRate              Integer32,
 809:            ipfixTransportSessionPackets           Counter32,
 810:            ipfixTransportSessionBytes             Counter32,
 811:            ipfixTransportSessionMessages          Counter32,
 812:            ipfixTransportSessionDiscardedMessages Counter32,
 813:            ipfixTransportSessionRecords           Counter64,
 814:            ipfixTransportSessionActiveFlows       Integer32,
 815:            ipfixTransportSessionInactiveFlows     Integer32
 816:        }
 817: 
 818:    ipfixTransportSessionRate OBJECT-TYPE
 819:        SYNTAX      Integer32
 820:        MAX-ACCESS  read-only
 821:        STATUS      current
 822:        DESCRIPTION
 823:            "The number of bytes per second received by the
 824:            Collector or transmitted by the Exporter. A
 825:            value of zero (0) means that no packets were sent or
 826:            received yet."
 827:        ::= { ipfixTransportSessionStatsEntry 1 }
 828: 
 829:    ipfixTransportSessionPackets OBJECT-TYPE
 830:        SYNTAX      Counter32
 831:        MAX-ACCESS  read-only
 832:        STATUS      current
 833:        DESCRIPTION
 834:            "The number of packets received by the Collector
 835:            or transmitted by the Exporter."
 836:        ::= { ipfixTransportSessionStatsEntry 2 }
 837: 
 838:    ipfixTransportSessionBytes OBJECT-TYPE
 839:        SYNTAX      Counter32
 840:        MAX-ACCESS  read-only
 841:        STATUS      current
 842:        DESCRIPTION
 843:            "The number of bytes received by the Collector
 844:            or transmitted by the Exporter."
 845:        ::= { ipfixTransportSessionStatsEntry 3 }
 846: 
 847:    ipfixTransportSessionMessages OBJECT-TYPE
 848:        SYNTAX      Counter32
 849:        MAX-ACCESS  read-only
 850:        STATUS      current
 851:        DESCRIPTION
 852:            "The number of IPFIX messages received by the
 853:            Collector or transmitted by the Exporter."
 854:        ::= { ipfixTransportSessionStatsEntry 4 }
 855: 
 856:    ipfixTransportSessionDiscardedMessages OBJECT-TYPE
 857:        SYNTAX      Counter32
 858:        MAX-ACCESS  read-only
 859:        STATUS      current
 860:        DESCRIPTION
 861:            "The number of received IPFIX Message that are malformed,
 862:            cannot be decoded, are received in the wrong order or are
 863:            missing according to the sequence number.
 864: 
 865:            If used at the Exporter the number of messages that could
 866:            not be sent due to e.g. internal buffer overflows, network
 867:            congestion, or routing issues."
 868:        ::= { ipfixTransportSessionStatsEntry 5 }
 869: 
 870:    ipfixTransportSessionRecords OBJECT-TYPE
 871:        SYNTAX      Counter64
 872:        MAX-ACCESS  read-only
 873:        STATUS      current
 874:        DESCRIPTION
 875:            "The number of Data Records received by the Collector or
 876:            transmitted by the Exporter."
 877:        ::= { ipfixTransportSessionStatsEntry 6 }
 878: 
 879:    ipfixTransportSessionActiveFlows OBJECT-TYPE
 880:        SYNTAX      Integer32
 881:        MAX-ACCESS  read-only
 882:        STATUS      current
 883:        DESCRIPTION
 884:            "The number of Flows that are currently active. I.e. the
 885:            number of Flows that are currently monitored."
 886:        ::= { ipfixTransportSessionStatsEntry 7 }
 887: 
 888:    ipfixTransportSessionInactiveFlows OBJECT-TYPE
 889:        SYNTAX      Integer32
 890:        MAX-ACCESS  read-only
 891:        STATUS      current
 892:        DESCRIPTION
 893:            "The number of Flows that are currently inactive. I.e. the
 894:            number of Flows that are currently not monitored because
 895:            there is no traffice matching the Flow Keys."
 896:        ::= { ipfixTransportSessionStatsEntry 8 }
 897: 
 898:    --------------------------------------------------------------------
 899:    -- 1.8: Observation Domain Statistics Table
 900:    --------------------------------------------------------------------
 901: 
 902:    ipfixObservationDomainStatsTable  OBJECT-TYPE
 903:        SYNTAX      SEQUENCE OF IpfixObservationDomainStatsEntry
 904:        MAX-ACCESS  not-accessible
 905:        STATUS      current
 906:        DESCRIPTION
 907:            "This table lists statistic objects that have data per
 908:            Observation Domain."
 909:        ::= { ipfixObjects 8 }
 910: 
 911:    ipfixObservationDomainStatsEntry OBJECT-TYPE
 912:        SYNTAX      IpfixObservationDomainStatsEntry
 913:        MAX-ACCESS  not-accessible
 914:        STATUS      current
 915:        DESCRIPTION
 916:            "Defines an entry in the ipfixObservationDomainStatsTable."
 917:        AUGMENTS    { ipfixObservationDomainEntry }
 918:        ::= { ipfixObservationDomainStatsTable 1 }
 919: 
 920:    IpfixObservationDomainStatsEntry ::=
 921:        SEQUENCE {
 922:            ipfixObservationDomainMessages        Counter32,
 923:            ipfixObservationDomainErrors          Counter32,
 924:            ipfixObservationDomainDataRecords     Counter32,
 925:            ipfixObservationDomainTemplates       Counter32,
 926:            ipfixObservationDomainOptionTemplates Counter32,
 927:            ipfixObservationDomainSequenceNumber  Integer32
 928:        }
 929: 
 930:    ipfixObservationDomainMessages OBJECT-TYPE
 931:        SYNTAX      Counter32
 932:        MAX-ACCESS  read-only
 933:        STATUS      current
 934:        DESCRIPTION
 935:            "The number of IPFIX messages received or transmitted."
 936:        ::= { ipfixObservationDomainStatsEntry 1 }
 937: 
 938:    ipfixObservationDomainErrors OBJECT-TYPE
 939:        SYNTAX      Counter32
 940:        MAX-ACCESS  read-only
 941:        STATUS      current
 942:        DESCRIPTION
 943:            "The number of received IPFIX messages that are malformed,
 944:            cannot be decoded, are received in the wrong order or are
 945:            missing according to the sequence number.
 946: 
 947:            If used at the Exporter the number of messages that could
 948:            not be sent due to e.g. internal buffer overflows or network
 949:            congestion."
 950:        ::= { ipfixObservationDomainStatsEntry 2 }
 951: 
 952:    ipfixObservationDomainDataRecords OBJECT-TYPE
 953:        SYNTAX      Counter32
 954:        MAX-ACCESS  read-only
 955:        STATUS      current
 956:        DESCRIPTION
 957:            "The number of Data Records received or transmitted."
 958:        ::= { ipfixObservationDomainStatsEntry 3 }
 959: 
 960:    ipfixObservationDomainTemplates OBJECT-TYPE
 961:        SYNTAX      Counter32
 962:        MAX-ACCESS  read-only
 963:        STATUS      current
 964:        DESCRIPTION
 965:            "The number of Templates received or transmitted."
 966:        ::= { ipfixObservationDomainStatsEntry 4 }
 967: 
 968:    ipfixObservationDomainOptionTemplates OBJECT-TYPE
 969:        SYNTAX      Counter32
 970:        MAX-ACCESS  read-only
 971:        STATUS      current
 972:        DESCRIPTION
 973:            "The number of Option Templates received or transmitted."
 974:        ::= { ipfixObservationDomainStatsEntry 5 }
 975: 
 976:    ipfixObservationDomainSequenceNumber OBJECT-TYPE
 977:        SYNTAX      Integer32
 978:        MAX-ACCESS  read-only
 979:        STATUS      current
 980:        DESCRIPTION
 981:            "The latest sequence number transmitted or received."
 982:        ::= { ipfixObservationDomainStatsEntry 6 }
 983: 
 984:    --------------------------------------------------------------------
 985:    -- 1.9: Template Statistics Table
 986:    --------------------------------------------------------------------
 987: 
 988:    ipfixTemplateStatsTable  OBJECT-TYPE
 989:        SYNTAX      SEQUENCE OF IpfixTemplateStatsEntry
 990:        MAX-ACCESS  not-accessible
 991:        STATUS      current
 992:        DESCRIPTION
 993:            "This table lists statistics objects per Template."
 994:        ::= { ipfixObjects 9 }
 995: 
 996:    ipfixTemplateStatsEntry OBJECT-TYPE
 997:        SYNTAX      IpfixTemplateStatsEntry
 998:        MAX-ACCESS  not-accessible
 999:        STATUS      current
1000:        DESCRIPTION
1001:            "Defines an entry in the ipfixTemplateStatsTable"
1002:        AUGMENTS    { ipfixTemplateEntry }
1003:        ::= { ipfixTemplateStatsTable 1 }
1004: 
1005:    IpfixTemplateStatsEntry ::=
1006:        SEQUENCE {
1007:            ipfixTemplateDataRecords Counter32
1008:        }
1009: 
1010:    ipfixTemplateDataRecords OBJECT-TYPE
1011:        SYNTAX      Counter32
1012:        MAX-ACCESS  read-only
1013:        STATUS      current
1014:        DESCRIPTION
1015:            "The number of Data Records per Template received or
1016:            transmitted."
1017:        ::= { ipfixTemplateStatsEntry 1 }
1018: 
1019:    --------------------------------------------------------------------
1020:    -- 1.10: Selector Table
1021:    --------------------------------------------------------------------
1022: 
1023:    ipfixSelectorTable OBJECT-TYPE
1024:        SYNTAX      SEQUENCE OF IpfixSelectorEntry
1025:        MAX-ACCESS  not-accessible
1026:        STATUS      current
1027:        DESCRIPTION
1028:            "This table contains Selector Functions connected to a
1029:            Template by the indexes ipfixTransportSessionIndex,
1030:            ipfixObservationDomainId and ipfixTemplateId. The Selector
1031:            Functions are applied to the packets observed at the
1032:            given Observation Domain in the order implied by the
1033:            ipfixSelectorIndex. The resulting Flow Records are then
1034:            exported by using the connected Template.
1035: 
1036:            Since IPFIX does not define any Selector Function (except
1037:            selecting every packet) this is a placeholder for future
1038:            use and a guideline for implementing enterprise specific
1039:            Selector Function objects.
1040: 
1041:            The following object tree should visualize how the Selector
1042:            Function objects should be implemented:
1043: 
1044:            ipfixSelectorFunctions
1045:            |
1046:            +- ipfixFuncSelectAll
1047:            |  |
1048:            |  +- ipfixFuncSelectAllAvail (is the function available?)
1049:            |
1050:            +- ipfixFuncF2
1051:            |  |
1052:            |  +- ipfixFuncF2Avail (is the function F2 available)
1053:            |  |
1054:            |  +- ipfixFuncF2Parameters (a table with parameters)
1055:            ...
1056:            |
1057:            +- ipfixFunFn...
1058: 
1059:            If a Selector Function takes parameters the MIB should
1060:            table with an entry for each set of parameters used at the
1061:            Exporter."
1062:        ::= { ipfixObjects 10 }
1063: 
1064:    ipfixSelectorEntry OBJECT-TYPE
1065:        SYNTAX      IpfixSelectorEntry
1066:        MAX-ACCESS  not-accessible
1067:        STATUS      current
1068:        DESCRIPTION
1069:            "Defines an entry in the ipfixSelectorTable."
1070:        INDEX       {
1071:            ipfixTransportSessionIndex,
1072:            ipfixObservationDomainId,
1073:            ipfixTemplateId,
1074:            ipfixSelectorIndex
1075:        }
1076:        ::= { ipfixSelectorTable 1 }
1077: 
1078:    IpfixSelectorEntry ::= SEQUENCE {
1079:            ipfixSelectorIndex    Integer32,
1080:            ipfixSelectorFunction OBJECT IDENTIFIER
1081:        }
1082: 
1083:    ipfixSelectorIndex OBJECT-TYPE
1084:        SYNTAX      Integer32 (1..2147483647)
1085:        MAX-ACCESS  not-accessible
1086:        STATUS      current
1087:        DESCRIPTION
1088:            "Locally arbitrary, but unique identifier of an entry in the
1089:            ipfixSelectorTable. The value is expected to remain
1090:            constant from a re-initialization of the entity's network
1091:            management system to the next re-initialization."
1092:        ::= { ipfixSelectorEntry 1 }
1093: 
1094:    ipfixSelectorFunction OBJECT-TYPE
1095:        SYNTAX      OBJECT IDENTIFIER
1096:        MAX-ACCESS  read-only
1097:        STATUS      current
1098:        DESCRIPTION
1099:            "The pointer to the Selector Function used at position
1100:            ipfixSelectorIndex in the list of Selector Functions for
1101:            the Template specified by the indexes
1102:            ipfixTransportSessionIndex, ipfixObservationDomainId and
1103:            ipfixTemplateId."
1104:        ::= { ipfixSelectorEntry 2 }
1105: 
1106: 
1107:    --------------------------------------------------------------------
1108:    -- 1.11: Packet Selector Functions for IPFIX
1109:    --------------------------------------------------------------------
1110: 
1111:    ipfixSelectorFunctions OBJECT IDENTIFIER
1112:        ::= { ipfixObjects 11 }
1113: 
1114:    --------------------------------------------------------------------
1115:    -- 1.11.1: Function 1: Selecting All Packets
1116:    --------------------------------------------------------------------
1117: 
1118:    ipfixFuncSelectAll OBJECT IDENTIFIER
1119:        ::= { ipfixSelectorFunctions 1 }
1120: 
1121:    ipfixFuncSelectAllAvail OBJECT-TYPE
1122:        SYNTAX      IpfixFunctionAvailability
1123:        MAX-ACCESS  read-only
1124:        STATUS      current
1125:        DESCRIPTION
1126:            "This object indicates the availability of the trivial
1127:            function of selecting all packets. This function is always
1128:            available."
1129:        DEFVAL { available }
1130:        ::= { ipfixFuncSelectAll 1 }
1131: 
1132:    --------------------------------------------------------------------
1133:    -- 1.12: Selector Statistics Table
1134:    --------------------------------------------------------------------
1135: 
1136:    ipfixSelectorStatsTable OBJECT-TYPE
1137:        SYNTAX      SEQUENCE OF IpfixSelectorStatsEntry
1138:        MAX-ACCESS  not-accessible
1139:        STATUS      current
1140:        DESCRIPTION
1141:            "This table contains statistics for the Selector Functions
1142:            connected to a Template by the indexes
1143:            ipfixTransportSessionIndex, ipfixObservationDomainId and
1144:            ipfixTemplateId.
1145: 
1146:            The indexes must match an entry in the ipfixSelectorTable."
1147:        ::= { ipfixObjects 12 }
1148: 
1149:    ipfixSelectorStatsEntry OBJECT-TYPE
1150:        SYNTAX      IpfixSelectorStatsEntry
1151:        MAX-ACCESS  not-accessible
1152:        STATUS      current
1153:        DESCRIPTION
1154:            "Defines an entry in the ipfixSelectorStatsTable."
1155:        AUGMENTS    { ipfixSelectorEntry }
1156:        ::= { ipfixSelectorStatsTable 1 }
1157: 
1158:    IpfixSelectorStatsEntry ::= SEQUENCE {
1159:            ipfixSelectorStatsPacketsObserved Integer32,
1160:            ipfixSelectorStatsPacketsDropped  Integer32
1161:        }
1162: 
1163:    ipfixSelectorStatsPacketsObserved OBJECT-TYPE
1164:        SYNTAX      Integer32
1165:        MAX-ACCESS  read-only
1166:        STATUS      current
1167:        DESCRIPTION
1168:            "The number of packets observed at the entry point of the
1169:            function. The entry point may be the Observation Point or
1170:            the exit point of another Selector Function."
1171:        ::= { ipfixSelectorStatsEntry 1 }
1172: 
1173:    ipfixSelectorStatsPacketsDropped OBJECT-TYPE
1174:        SYNTAX      Integer32
1175:        MAX-ACCESS  read-only
1176:        STATUS      current
1177:        DESCRIPTION
1178:            "The number of packets dropped while selecting packets."
1179:        ::= { ipfixSelectorStatsEntry 2 }
1180: 
1181:    --==================================================================
1182:    -- 3: Conformance Information
1183:    --==================================================================
1184: 
1185:    ipfixCompliances OBJECT IDENTIFIER ::= { ipfixConformance 1 }
1186:    ipfixGroups      OBJECT IDENTIFIER ::= { ipfixConformance 2 }
1187: 
1188:    --------------------------------------------------------------------
1189:    -- 3.1: Compliance Statements
1190:    --------------------------------------------------------------------
1191: 
1192:    ipfixCollectorCompliance MODULE-COMPLIANCE
1193:        STATUS      current
1194:        DESCRIPTION
1195:            "An implementation that implements an IPFIX Collector Device
1196:            that complies to this module must implement the objects
1197:            defined in the mandatory group ipfixCommonGroup.
1198: 
1199:            The implementation of all objects in the other groups is
1200:            optional and depends on the corresponding functionality
1201:            implemented in the equipment."
1202:        MODULE  -- this module
1203:        MANDATORY-GROUPS {
1204:            ipfixCommonGroup
1205:        }
1206: 
1207:        GROUP ipfixCommonStatsGroup
1208:        DESCRIPTION
1209:            "These objects should be implemented if the statistics
1210:            function is implemented in the equipment."
1211:        ::= { ipfixCompliances 1 }
1212: 
1213:    ipfixExporterCompliance MODULE-COMPLIANCE
1214:        STATUS  current
1215:        DESCRIPTION
1216:            "An implementation that implements an IPFIX Exporter that
1217:            complies to this module must implement the objects defined
1218:            in the mandatory group ipfixCommonGroup. The implementation
1219:            of all other objects depends on the implementation of the
1220:            corresponding functionality in the equipment."
1221:        MODULE  -- this module
1222:        MANDATORY-GROUPS {
1223:                ipfixCommonGroup
1224:        }
1225:        GROUP ipfixExporterGroup
1226:        DESCRIPTION
1227:            "These objects must be implemented if the IPFIX Exporter
1228:            supports Selector Functions like filtering and/or sampling."
1229: 
1230:        GROUP ipfixExporterStatsGroup
1231:        DESCRIPTION
1232:            "These objects must be implemented if statistical functions
1233:            are implemented on the equipment."
1234:        ::= { ipfixCompliances 2 }
1235: 
1236:    --------------------------------------------------------------------
1237:    -- 3.2: MIB Grouping
1238:    --------------------------------------------------------------------
1239: 
1240:    ipfixCommonGroup OBJECT-GROUP
1241:        OBJECTS {
1242:            ipfixExportVersion,
1243: 
1244:            ipfixTransportSessionProtocol,
1245:            ipfixTransportSessionAddressType,
1246:            ipfixTransportSessionSourceAddress,
1247:            ipfixTransportSessionDestinationAddress,
1248:            ipfixTransportSessionSourcePort,
1249:            ipfixTransportSessionDestinationPort,
1250:            ipfixTransportSessionSctpAssocId,
1251:            ipfixTransportSessionTemplateRefreshTimeout,
1252:            ipfixTransportSessionOptionTemplateRefreshTimeout,
1253:            ipfixTransportSessionTemplateRefreshPacket,
1254:            ipfixTransportSessionOptionTemplateRefreshPacket,
1255:            ipfixTransportSessionStatus,
1256: 
1257:            ipfixTransportSessionGroupMemberType,
1258: 
1259:            ipfixPhysicalEntity,
1260:            ipfixPhysicalEntityDirection,
1261: 
1262:            ipfixTemplateSetId,
1263:            ipfixTemplateAccessTime,
1264: 
1265:            ipfixTemplateDefinitionIeId,
1266:            ipfixTemplateDefinitionIeLength,
1267:            ipfixTemplateDefinitionFlags
1268:        }
1269:        STATUS      current
1270:        DESCRIPTION
1271:            "All objects that are mandatory for the management function
1272:            of any IPFIX Device."
1273:        ::= { ipfixGroups 1 }
1274: 
1275:    ipfixCommonStatsGroup OBJECT-GROUP
1276:        OBJECTS {
1277:            ipfixTransportSessionRate,
1278:            ipfixTransportSessionPackets,
1279:            ipfixTransportSessionBytes,
1280:            ipfixTransportSessionMessages,
1281:            ipfixTransportSessionDiscardedMessages,
1282:            ipfixTransportSessionRecords,
1283:            ipfixTransportSessionActiveFlows,
1284:            ipfixTransportSessionInactiveFlows,
1285: 
1286:            ipfixObservationDomainMessages,
1287:            ipfixObservationDomainErrors,
1288:            ipfixObservationDomainDataRecords,
1289:            ipfixObservationDomainTemplates,
1290:            ipfixObservationDomainOptionTemplates,
1291:            ipfixObservationDomainSequenceNumber,
1292:            ipfixTemplateDataRecords
1293:        }
1294:        STATUS      current
1295:        DESCRIPTION
1296:            "All statistical objects that should be common on all IPFIX
1297:            Devices."
1298:        ::= { ipfixGroups 3 }
1299: 
1300:    ipfixExporterGroup OBJECT-GROUP
1301:        OBJECTS {
1302:            ipfixSelectorFunction,
1303: 
1304:            ipfixFuncSelectAllAvail
1305:        }
1306:        STATUS      current
1307:        DESCRIPTION
1308:            "This group contains all objects that must be implemented
1309:            for supporting Selector Functions like filtering and/or
1310:            sampling on an Device using the IPFIX procol."
1311:        ::= { ipfixGroups 4 }
1312: 
1313:    ipfixExporterStatsGroup OBJECT-GROUP
1314:        OBJECTS {
1315:            ipfixSelectorStatsPacketsObserved,
1316:            ipfixSelectorStatsPacketsDropped
1317:        }
1318:        STATUS      current
1319:        DESCRIPTION
1320:            "This statistical objects are optional for Exporters. They
1321:            should be implemented if statistical functions are available
1322:            on the used equipment."
1323:        ::= { ipfixGroups 5 }
1324: 
1325:    END
1326: 
1327: -- 
1328: --    Copyright (C) The IETF Trust (2007).
1329: -- 
1330: --    This document is subject to the rights, licenses and restrictions
1331: --    contained in BCP 78, and except as set forth therein, the authors
1332: --    retain all their rights.
1333: -- 
1334: --    This document and the information contained herein are provided on an
1335: --    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
1336: --    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
1337: --    THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
1338: --    OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
1339: --    THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
1340: --    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1341: -- 
1342: -- 
1343: -- Intellectual Property
1344: -- 
1345: --    The IETF takes no position regarding the validity or scope of any
1346: --    Intellectual Property Rights or other rights that might be claimed to
1347: --    pertain to the implementation or use of the technology described in
1348: --    this document or the extent to which any license under such rights
1349: --    might or might not be available; nor does it represent that it has
1350: --    made any independent effort to identify any such rights.  Information
1351: --    on the procedures with respect to rights in RFC documents can be
1352: --    found in BCP 78 and BCP 79.
1353: -- 
1354: --    Copies of IPR disclosures made to the IETF Secretariat and any
1355: --    assurances of licenses to be made available, or the result of an
1356: --    attempt made to obtain a general license or permission for the use of
1357: --    such proprietary rights by implementers or users of this
1358: --    specification can be obtained from the IETF on-line IPR repository at
1359: --    http://www.ietf.org/ipr.
1360: -- 
1361: --    The IETF invites any interested party to bring to its attention any
1362: --    copyrights, patents or patent applications, or other proprietary
1363: --    rights that may cover technology that may be required to implement
1364: --    this standard.  Please address the information to the IETF at
1365: --    ietf-ipr@ietf.org.
1366: -- 
1367: -- 
1368: -- Acknowledgment
1369: -- 
1370: --    Funding for the RFC Editor function is provided by the IETF
1371: --    Administrative Support Activity (IASA).
1372: