OCNOS-INTERFACE-MIB DEFINITIONS ::= BEGIN

IMPORTS
      OBJECT-TYPE, MODULE-IDENTITY,
      Gauge32, Counter32, Integer32, Unsigned32,
      IpAddress, Counter64,
      TimeTicks, NOTIFICATION-TYPE
          FROM SNMPv2-SMI
      DateAndTime, DisplayString,
      PhysAddress, RowStatus, TEXTUAL-CONVENTION
          FROM SNMPv2-TC
      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
          FROM SNMPv2-CONF
      snmpTraps
          FROM SNMPv2-MIB
      enterprises, OBJECT-IDENTITY
          FROM SNMPv2-SMI
      Ipv6Address
          FROM IPV6-TC
      ipi  FROM OCNOS-IPI-MODULE-MIB
      ifName  FROM IF-MIB
      ifIndex  FROM IF-MIB
        vrVrId
                FROM OCNOS-VR-MIB;

interface MODULE-IDENTITY
   LAST-UPDATED "201806210000Z"
   ORGANIZATION "IP Infusion Inc."
   CONTACT-INFO 
       "postal: 3965 Freedom Circle, Suite 200, Santa Clara, CA 95054

        email: support@ipinfusion.com

        telephone: +1 408-400-1900
        website: http://www.ipinfusion.com/"
   DESCRIPTION 
      "This MIB module is for managing Datamodel for interface object"

   REVISION      "201806210000Z"
   DESCRIPTION 
      "Initial Version"
   ::= { ipi  4 } 


interfaceIfIndexListTable OBJECT-TYPE 
	SYNTAX SEQUENCE OF InterfaceIfIndexListEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION 
		"This table provides information for interface index details"
	::= { interface 1 }

interfaceIfIndexListEntry OBJECT-TYPE
	SYNTAX InterfaceIfIndexListEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION 
		"An entry containing information for interface index details"
	INDEX { vrVrId,ifIndex }
	::= { interfaceIfIndexListTable 1 }

InterfaceIfIndexListEntry::= SEQUENCE {
	interfaceIfName1 OCTET STRING,
	interfaceErrDisReason BITS,
	interfaceAggDownMinLink INTEGER,
	interfaceArpDiscardPackets Counter64,
	interfaceTxArpDiscardPackets Counter64,
	interfaceRxArpRequestPackets Counter64,
	interfaceRxArpReplyPackets Counter64,
	interfaceTxArpRequestPackets Counter64,
	interfaceTxArpReplyPackets Counter64,
	interfaceNdDiscardPackets Counter64,
	interfaceTxNdDiscardPackets Counter64,
	interfaceRxNDRequestPackets Counter64,
	interfaceRxNDReplyPackets Counter64,
	interfaceTxNDRequestPackets Counter64,
	interfaceTxNDReplyPackets Counter64	}

interfaceIfName1 OBJECT-TYPE
	SYNTAX OCTET STRING 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"The textual name of the interface. The value of this object should be
            the name of the interface as assigned by the local device and should be suitable
            for use in commands entered at the device's `console'. This might be a text name,
            such as `le0' or a simple port number, such as `1', depending on the interface
            naming syntax of the device. If several entries in the ifTable together represent
            a single interface as named by the device, then each will have the same value of
            ifName. Note that for an agent which responds to SNMP queries concerning an
            interface on some other (proxied) device, then the value of ifName for such an
            interface is the proxied device's local name for it. If there is no local name,
            or this object is otherwise not applicable, then this object contains a zero-length
            string."
	::= { interfaceIfIndexListEntry 1 }

interfaceErrDisReason OBJECT-TYPE
	SYNTAX BITS {lagmismatch(0), stpbpduguard(1), linkflap(2)} 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This object specifies the event that caused the interface to be error-disabled. If interface is error-disabled because of lag-mismatch, value of this object is 1. If interface is error-disabled because of stp-bpdu-guard, value of this object is 2. If interface is error-disabled because of link-flap, value of this object is 4."
	::= { interfaceIfIndexListEntry 2 }

interfaceAggDownMinLink OBJECT-TYPE
	SYNTAX INTEGER { false(0), true(1) } 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"aggDownMinLink Flag is set then Interface moved to Down state Min Links else move to Up state Min Links"
	::= { interfaceIfIndexListEntry 3 }

interfaceArpDiscardPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes Arp Discard Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 4 }

interfaceTxArpDiscardPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes Arp Out Discard Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 5 }

interfaceRxArpRequestPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes Arp request Received Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 6 }

interfaceRxArpReplyPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes Arp reply Received Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 7 }

interfaceTxArpRequestPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes Arp request Transmitted Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 8 }

interfaceTxArpReplyPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes Arp reply Transmitted Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 9 }

interfaceNdDiscardPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes ND Discard Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 10 }

interfaceTxNdDiscardPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes ND Out Discard Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 11 }

interfaceRxNDRequestPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes ND Solicitaion Received Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 12 }

interfaceRxNDReplyPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes ND Advertisement Received Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 13 }

interfaceTxNDRequestPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes ND Solicitaion Transmitted Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 14 }

interfaceTxNDReplyPackets OBJECT-TYPE
	SYNTAX Counter64 
	MAX-ACCESS read-only
	STATUS current 
	DESCRIPTION 
		"This Object describes ND Advertisement Transmitted Packets(Applicable only for logical VxLAN-access ports)"
	::= { interfaceIfIndexListEntry 15 }


--
-- Notifications
--

interfaceNotificationsPrefix OBJECT IDENTIFIER ::=
        { interface 0 }

interfaceErrdisNotif NOTIFICATION-TYPE
   OBJECTS { ifIndex, vrVrId, interfaceErrDisReason }
   STATUS  current
   DESCRIPTION
           "The interfaceErrdisNotif is generated when an interface is error-disabled(errDisReason will have non-zero value) and when it recovers from errdisabled state (errDisReason will have '0')."
   ::= { interfaceNotificationsPrefix 1 }

aggMinLink NOTIFICATION-TYPE
   OBJECTS { ifIndex, vrVrId, interfaceAggDownMinLink }
   STATUS  current
   DESCRIPTION
           "The aggMinLink is generated when a total Active (link-UP) LAG member link count becomes less than the configured min-link count."
   ::= { interfaceNotificationsPrefix 2 }
END
