NTOP-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE, enterprises, Counter32,
	    Integer32,Counter64			       FROM SNMPv2-SMI
	    TEXTUAL-CONVENTION  ,DisplayString                       FROM SNMPv2-TC
	    OBJECT-GROUP,MODULE-COMPLIANCE             FROM SNMPv2-CONF;

        ntop MODULE-IDENTITY
            LAST-UPDATED "9902100000Z"
            ORGANIZATION "Universita' di Pisa"
            CONTACT-INFO "

                          Fusco Francesco (Editor)
                          E-mail: fuscof@cli.di.unipi.it"

            DESCRIPTION
                    "The MIB module for ntop "
            ::= { enterprises 30000 }
	    
	    --TODO: registrare presso lo iana


	NtopActualDevice ::= TEXTUAL-CONVENTION
	    STATUS      current
	    DESCRIPTION
		 "A value that represents the actual sniffing device."
	    SYNTAX    Integer32 (0..8191)


	NtopSerialType ::= TEXTUAL-CONVENTION
	    STATUS      current
	    DESCRIPTION
		 "A value that represents a type of serial used by ntop.

		  unknown(0)  An unknown serial type. 

		  ethSerial   A serial for MAC serial
		  
		  ipSerial    A serial for ipv4 or ipv6 serial
		  
		  fcSerial    A serial for fibre channel serial
		  

		  Each definition of a concrete serialType value must be
		  accompanied by a definition of a textual convention for use
		  with that SerialType."


	     SYNTAX      INTEGER {
			     unknown(0),
			     ethSerial(1),
			     ipv4Serial(2), 
			     ipv6Serial(3),
			     fcSerial(4)  
			 }

	   NtopSerial ::= TEXTUAL-CONVENTION
	     STATUS       current
	     DESCRIPTION
		 "Denotes a generic serial used by ntop.

		  A NtopSerial value is always interpreted within the
		  context of an NtopSerialType value." 

	     SYNTAX      OCTET STRING (SIZE (4|6|16))

	    NtopSerialEth ::= TEXTUAL-CONVENTION
	     DISPLAY-HINT "1x:1x:1x:1x"
	     STATUS       current
	     DESCRIPTION
		 "Represents a mac  address:

		  The corresponding NtopSerialType value is ethSerial(1)."

	     SYNTAX       OCTET STRING (SIZE (6))

	   NtopSerialIPv4 ::= TEXTUAL-CONVENTION
	     DISPLAY-HINT "1d.1d.1d.1d"
	     STATUS       current
	     DESCRIPTION
		 "Represents an IPv4 network address.

		  The corresponding NtopSerialType value is ipv4Serial(2)."

	     SYNTAX       OCTET STRING (SIZE (4))

	   NtopSerialIPv6 ::= TEXTUAL-CONVENTION
	     DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x"
	     STATUS       current
	     DESCRIPTION

		 "Represents an IPv6 network address.
		  
		  The corresponding NtopSerialType value is ipv6(2)."

	     SYNTAX       OCTET STRING (SIZE (16))

	   NtopSerialFc::= TEXTUAL-CONVENTION
	     DISPLAY-HINT "255a"  --TODO: how to print? 
	     STATUS       current
	     DESCRIPTION
		 "Represents a fibre channel serial. 

		  The corresponding NtopSerialType value is fcSerial(4)."

	     SYNTAX       OCTET STRING (SIZE (6))



-- Some fun with tables:)

   ntopTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF NtopEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "A list of communication peers."
     ::= { ntop 1 }

   ntopEntry OBJECT-TYPE
     SYNTAX      NtopEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "An entry ."
     INDEX       { ntopSerialType, ntopActualDevice , ntopVanId, ntopSerial }
     ::= { ntopTable 1 }

   NtopEntry ::= SEQUENCE {

   --indexes
     ntopSerialType        NtopSerialType,
     ntopActualDevice        NtopActualDevice,   
     ntopVanId            Integer32,--(vsan e vlan)
     ntopSerial            NtopSerial,
   -- end indexes

     hostResolvedName        DisplayString,
     fingerprint                DisplayString,

     pktSent			Counter64,
     pktRcvd			Counter64,
     pktSentSession		Counter64,
     pktRcvdSession		Counter64,
     pktDuplicatedAckSent	Counter64,
     pktDuplicatedAckRcvd	Counter64,
     pktBroadcastSent		Counter64,
     bytesBroadcastSent		Counter64,
     pktMulticastSent		Counter64,
     bytesMulticastSent		Counter64,
     pktMulticastRcvd		Counter64,
     bytesMulticastRcvd		Counter64,
     bytesSent			Counter64,
     bytesSentLoc		Counter64,
     bytesSentRem		Counter64,
     bytesSentSession		Counter64,
     bytesRcvd			Counter64,
     bytesRcvdLoc		Counter64,
     bytesRcvdFromRem		Counter64,
     bytesRcvdSession		Counter64,
     numHostSessions		Counter64,
     ipBytesSent		Counter64,
     ipBytesRcvd		Counter64,
     ipv6Sent			Counter64,
     ipv6Rcvd			Counter64,
     tcpSentLoc			Counter64,
     tcpSentRem			Counter64,
     udpSentLoc			Counter64,
     udpSentRem			Counter64,
     icmpSent			Counter64,
     icmp6Sent			Counter64,
     tcpRcvdLoc			Counter64,
     tcpRcvdFromRem		Counter64,
     udpRcvdLoc			Counter64,
     udpRcvdFromRem		Counter64,
     icmpRcvd			Counter64,
     icmp6Rcvd			Counter64,
     tcpFragmentsSent		Counter64,
     tcpFragmentsRcvd		Counter64,
     udpFragmentsSent		Counter64,
     udpFragmentsRcvd		Counter64,
     icmpFragmentsSent		Counter64,
     icmpFragmentsRcvd		Counter64,
     icmp6FragmentsSent		Counter64,
     icmp6FragmentsRcvd		Counter64,
     totContactedSentPeers	Counter64,
     totContactedRcvdPeers	Counter64,
     contactedSentPeers		Counter64,
     contactedRcvdPeers		Counter64,
     contactedRouters		Counter64
   }


   ntopSerialType OBJECT-TYPE
     SYNTAX      NtopSerialType
     MAX-ACCESS	 read-only
     STATUS      current
     DESCRIPTION
         "The type of ntop serial. "
     ::= { ntopEntry 1 }

   ntopActualDevice OBJECT-TYPE
     SYNTAX      NtopActualDevice
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
         "the actual sniffing device for ntop. "
     ::= { ntopEntry 2 }

   ntopVanId OBJECT-TYPE
     SYNTAX      Integer32 (0..65535)
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
         "VLan o Vsan, O if not set "
     ::= { ntopEntry 3 }

   ntopSerial OBJECT-TYPE
     SYNTAX      NtopSerial 
     MAX-ACCESS  read-only
     STATUS      current

     DESCRIPTION
         "The serial wich we care about."

     ::= { ntopEntry 4 }

	hostResolvedName OBJECT-TYPE
	SYNTAX			DisplayString
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 5 }

	fingerprint		OBJECT-TYPE
	SYNTAX			DisplayString
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 6 }
 
 
	pktSent OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 7 }

	pktRcvd OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 8 }

	pktSentSession OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 9 }

	pktRcvdSession OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 10 }

	pktDuplicatedAckSent OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 11 }

	pktDuplicatedAckRcvd OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 12 }

	pktBroadcastSent OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 13 }

	bytesBroadcastSent OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 14}

	pktMulticastSent OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 15}

	bytesMulticastSent OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 16}

	pktMulticastRcvd OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 17}

	bytesMulticastRcvd OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 18}


	bytesSent OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 19}

	bytesSentLoc OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 20}

	bytesSentRem OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 21}

	bytesSentSession OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 22}

	bytesRcvd OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 23}

	bytesRcvdLoc OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 24}

	bytesRcvdFromRem OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 25}

	bytesRcvdSession OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 26}

	numHostSessions OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 27}

	ipBytesSent OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 28}

	ipBytesRcvd OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 29}

	ipv6Sent OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 30}

	ipv6Rcvd OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 31}

	tcpSentLoc OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 32}

	tcpSentRem OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 33}

	udpSentLoc OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 34}

	udpSentRem OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 35}

	icmpSent OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 36}

	icmp6Sent OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 37}

	tcpRcvdLoc OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 38}

	tcpRcvdFromRem OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 39}

	udpRcvdLoc OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 40}

	udpRcvdFromRem OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 41}

	icmpRcvd OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 42}

	icmp6Rcvd OBJECT-TYPE
	SYNTAX		Counter64
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION 
          ""
	::= {ntopEntry 43}

	tcpFragmentsSent OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 44}

	tcpFragmentsRcvd OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 45}

	udpFragmentsSent OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 46}

	udpFragmentsRcvd OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 47}

	icmpFragmentsSent OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 48}

	icmpFragmentsRcvd OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 49}

	icmp6FragmentsSent OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 50}

	icmp6FragmentsRcvd OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 51}
	
	totContactedSentPeers OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 52}

	totContactedRcvdPeers OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 53}

	contactedSentPeers OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 54}

	contactedRcvdPeers OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 55}

	contactedRouters OBJECT-TYPE
	SYNTAX			Counter64
	MAX-ACCESS		read-only
	STATUS			current
	DESCRIPTION 
          ""
	::= {ntopEntry 56}

  

ntopMIBConformance  OBJECT IDENTIFIER ::= { ntop 2 }

ntopMIBGroups	    OBJECT IDENTIFIER ::= { ntopMIBConformance 1 }

ntopMIBCompliances  OBJECT IDENTIFIER ::= { ntopMIBConformance 2 }

---compliance statement

ntopMiBCompliance MODULE-COMPLIANCE
     STATUS      current
     DESCRIPTION
         "The compliance statement for entities which
	 implement the nTOP MIB."

     MODULE      -- this module
     MANDATORY-GROUPS    { ntopGroup }
     
     ::={ ntopMIBCompliances 1}

-- units of conformance

ntopGroup OBJECT-GROUP
    OBJECTS   {
		ntopSerialType, 
		ntopSerial, 
		ntopActualDevice,
		pktSent,
		pktRcvd,
		pktSentSession,
		pktRcvdSession,
		pktDuplicatedAckSent,
		pktDuplicatedAckRcvd,
		pktBroadcastSent,
		bytesBroadcastSent,
		pktMulticastSent,
		bytesMulticastSent,
		pktMulticastRcvd,
		bytesMulticastRcvd,
		bytesSent,
		bytesSentLoc,
		bytesSentRem,
		bytesSentSession,
		bytesRcvd,
		bytesRcvdLoc,
		bytesRcvdFromRem,
		bytesRcvdSession,
		numHostSessions,
		ipBytesSent,
		ipBytesRcvd,
		ipv6Sent,
		ipv6Rcvd,
		tcpSentLoc,
		tcpSentRem,
		udpSentLoc,
		udpSentRem,
		icmpSent,
		icmp6Sent,
		tcpRcvdLoc,
		tcpRcvdFromRem,
		udpRcvdLoc,
		udpRcvdFromRem,
		icmpRcvd,
		icmp6Rcvd,
		tcpFragmentsSent,
		tcpFragmentsRcvd,
		udpFragmentsSent,
		udpFragmentsRcvd,
		icmpFragmentsSent,
		icmpFragmentsRcvd,
		icmp6FragmentsSent,
		icmp6FragmentsRcvd,
		totContactedSentPeers,
		totContactedRcvdPeers,
		contactedSentPeers,
		contactedRcvdPeers,
		contactedRouters
	       }
     STATUS    current
     DESCRIPTION
                "HostTraffic values for a particular serial"
    ::= { ntopMIBGroups 2 }


END

