-- extracted from draft-ops-rfc2013-update-00.txt
-- at Wed Feb 28 06:04:31 2001

UDP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Counter64,
    IpAddress, mib-2                   FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP    FROM SNMPv2-CONF
    InetAddress, InetAddressType,
    InetPortNumber                     FROM INET-ADDRESS-MIB;


udpMIB MODULE-IDENTITY
    LAST-UPDATED "200102210000Z"
    ORGANIZATION "IETF IPv6 MIB Revision Team"
    CONTACT-INFO
           "Bill Fenner (editor)

            AT&T Labs -- Research
            75 Willow Rd.
            Menlo Park, CA 94025

            Phone: +1 650 330-7893
            Email: "
    DESCRIPTION
           "The MIB module for managing UDP implementations."
    REVISION      "200102210000Z"
    DESCRIPTION
           "IP version neutral revision, published as RFC XXXX."
    REVISION      "9411010000Z"
    DESCRIPTION
           "Initial SMIv2 version, published as RFC 2013."
    REVISION      "9103310000Z"
    DESCRIPTION
           "The initial revision of this MIB module was part of MIB-II."
    ::= { mib-2 50 }

-- the UDP group

udp      OBJECT IDENTIFIER ::= { mib-2 7 }

udpInDatagrams OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The total number of UDP datagrams delivered to UDP users."
    ::= { udp 1 }

udpNoPorts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The total number of received UDP datagrams for which there
            was no application at the destination port."
    ::= { udp 2 }

udpInErrors OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of received UDP datagrams that could not be
            delivered for reasons other than the lack of an application
            at the destination port."
    ::= { udp 3 }

udpOutDatagrams OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The total number of UDP datagrams sent from this entity."
    ::= { udp 4 }

udpHCInDatagrams OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The total number of UDP datagrams delivered to UDP users,
            for devices which can receive more than 1 million UDP
            packets per second."
    ::= { udp 26 }

udpHCOutDatagrams OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The total number of UDP datagrams sent from this entity, for
            devices which can transmit more than 1 million UDP packets
            per second."
    ::= { udp 27 }

-- The UDP Listener table

-- The UDP listener table contains information about this
-- entity's UDP end-points on which a local application is
-- currently accepting datagrams.

udpListenerTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF UdpListenerEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "A table containing UDP listener information."
    ::= { udp 7 }

udpListenerEntry OBJECT-TYPE
    SYNTAX     UdpListenerEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "Information about a particular current UDP listener."
    INDEX   { udpListenerLocalAddressType,
              udpListenerLocalAddress,
              udpListenerLocalPort }
    ::= { udpListenerTable 1 }

UdpListenerEntry ::= SEQUENCE {
        udpListenerLocalAddressType  InetAddressType,
        udpListenerLocalAddress      InetAddress,
        udpListenerLocalPort         InetPortNumber
    }


udpListenerLocalAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The address type of udpListenerLocalAddress"
    ::= { udpListenerEntry 1 }

udpListenerLocalAddress OBJECT-TYPE
    SYNTAX     InetAddress (SIZE(0..36))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The local IP address for this UDP listener.  In the case of
            a UDP listener which is willing to accept datagrams for any
            IP interface associated with the node, a value of all zeroes
            is used."
    ::= { udpListenerEntry 2 }

udpListenerLocalPort OBJECT-TYPE
    SYNTAX     InetPortNumber
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The local port number for this UDP listener."
    ::= { udpListenerEntry 3 }



-- The deprecated UDP Listener table

-- The UDP listener table contains information about this
-- entity's IPv4 UDP end-points on which a local application is
-- currently accepting datagrams.

udpTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF UdpEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
           "A table containing IPv4-specific UDP listener information.
            It contains information about all local IPv4 UDP end-points
            on which an application is currently accepting datagrams.
            This table has been deprecated in favor of the version
            neutral udpListenerTable."
    ::= { udp 5 }

udpEntry OBJECT-TYPE
    SYNTAX     UdpEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
           "Information about a particular current UDP listener."
    INDEX   { udpLocalAddress, udpLocalPort }
    ::= { udpTable 1 }

UdpEntry ::= SEQUENCE {
        udpLocalAddress  IpAddress,
        udpLocalPort     INTEGER
    }


udpLocalAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
           "The local IP address for this UDP listener.  In the case of
            a UDP listener which is willing to accept datagrams for any
            IP interface associated with the node, the value 0.0.0.0 is
            used."
    ::= { udpEntry 1 }

udpLocalPort OBJECT-TYPE
    SYNTAX     INTEGER (0..65535)
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
           "The local port number for this UDP listener."
    ::= { udpEntry 2 }



-- conformance information

udpMIBConformance OBJECT IDENTIFIER ::= { udpMIB 2 }

udpMIBCompliances OBJECT IDENTIFIER ::= { udpMIBConformance 1 }
udpMIBGroups      OBJECT IDENTIFIER ::= { udpMIBConformance 2 }

-- compliance statements

udpMIBCompliance2 MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION
           "The compliance statement for systems which implement UDP."
    MODULE  -- this module
        MANDATORY-GROUPS { udpBaseGroup, udpListenerGroup }
        GROUP       udpHCGroup
        DESCRIPTION
           "This group is mandatory for those systems which are capable
                of receiving or transmitting more than 1 million UDP
                packets per second.  1 million packets per second will
                cause a Counter32 to wrap in just over an hour."
    ::= { udpMIBCompliances 2 }

udpMIBCompliance MODULE-COMPLIANCE
    STATUS     deprecated
    DESCRIPTION
           "The compliance statement for IPv4-only systems which
            implement UDP.  For IP version independence, this compliance
            statement is deprecated in favor of udpMIBCompliance2."
    MODULE  -- this module
        MANDATORY-GROUPS { udpGroup }
    ::= { udpMIBCompliances 1 }

-- units of conformance

udpGroup OBJECT-GROUP
    OBJECTS   { udpInDatagrams, udpNoPorts,
                udpInErrors, udpOutDatagrams,
                udpLocalAddress, udpLocalPort }
    STATUS     deprecated
    DESCRIPTION
           "The udp group of objects providing for management of UDP
            over IPv4."
    ::= { udpMIBGroups 1 }

udpBaseGroup OBJECT-GROUP
    OBJECTS   { udpInDatagrams, udpNoPorts, udpInErrors, udpOutDatagrams }
    STATUS     current
    DESCRIPTION
           "The group of objects providing for counters of UDP
            statistics."
    ::= { udpMIBGroups 2 }

udpHCGroup OBJECT-GROUP
    OBJECTS   { udpHCInDatagrams, udpHCOutDatagrams }
    STATUS     current
    DESCRIPTION
           "The group of objects providing for counters of high speed
            UDP implementations."
    ::= { udpMIBGroups 3 }

udpListenerGroup OBJECT-GROUP
    OBJECTS   { udpListenerLocalPort }
    STATUS     current
    DESCRIPTION
           "The group of objects providing for the IP version
            independent management of UDP listeners."
    ::= { udpMIBGroups 4 }

END

--
-- Copyright (C) The Internet Society (2001). All Rights Reserved.
--
-- This document and translations of it may be copied and furnished to
-- others, and derivative works that comment on or otherwise explain it or
-- assist in its implementation may be prepared, copied, published and
-- distributed, in whole or in part, without restriction of any kind,
-- provided that the above copyright notice and this paragraph are included
-- on all such copies and derivative works. However, this document itself
-- may not be modified in any way, such as by removing the copyright notice
-- or references to the Internet Society or other Internet organizations,
-- except as needed for the purpose of developing Internet standards in
-- which case the procedures for copyrights defined in the Internet
-- Standards process must be followed, or as required to translate it into
-- languages other than English.
--
-- The limited permissions granted above are perpetual and will not be
-- revoked by the Internet Society or its successors or assigns.
--
-- This document and the information contained herein is provided on an "AS
-- IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
-- FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-- LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
-- INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
-- FITNESS FOR A PARTICULAR PURPOSE.


