IPI-ICMP-TRAP-MIB DEFINITIONS ::= BEGIN

IMPORTS
OBJECT-TYPE, MODULE-IDENTITY,
  Unsigned32,
  NOTIFICATION-TYPE
  FROM SNMPv2-SMI
  InetAddressIPv4,
  InetAddressIPv6
  FROM INET-ADDRESS-MIB

  ipi  FROM IPI-MODULE-MIB;

  icmptrapMib MODULE-IDENTITY
  LAST-UPDATED "202010291230Z"
  ORGANIZATION "IP Infusion"
  CONTACT-INFO "support@ipinfusion.com"
  DESCRIPTION
  "IPI ICMP TTL error Info MIB. "
  ::= { ipi 4 }

  icmpErrorNotificationsObjects  OBJECT IDENTIFIER ::= { icmptrapMib 1 }
  icmptrapObj OBJECT IDENTIFIER ::= { icmptrapMib 2 }
  icmptrapIpv4Obj OBJECT IDENTIFIER ::= { icmptrapObj 1 }
  icmptrapIpv6Obj OBJECT IDENTIFIER ::= { icmptrapObj 2 }

  icmpV4ErrorNotify NOTIFICATION-TYPE
  OBJECTS {icmpV4ErrorIfindex,
           icmpV4ErrorInfoType,
           icmpV4ErrorInfoCode, 
           icmpV4ErrorInfoSrcIp,
           icmpV4ErrorInfoDstIp,
           icmpV4ErrorTtl}
  STATUS     current
  DESCRIPTION
      " IPv4-ICMP ERROR notification."
  ::= { icmpErrorNotificationsObjects 1 }

   icmpV6ErrorNotify NOTIFICATION-TYPE
  OBJECTS {icmpV6ErrorIpv6Ifindex,
           icmpV6ErrorInfoType,
           icmpV6ErrorInfoCode,
           icmpV6ErrorInfoSrcIp,
           icmpV6ErrorInfoDstIp,
           icmpV6ErrorTtl}
  STATUS     current
  DESCRIPTION
      " IPv6-ICMP ERROR notification.
        Currently this Trap provides notification when ICMP TTL exceed
        packet is send from the system."
  ::= { icmpErrorNotificationsObjects 2 }

 icmpV4ErrorIfindex  OBJECT-TYPE
  SYNTAX      Unsigned32 (1..4294967295)
  MAX-ACCESS    accessible-for-notify
  STATUS      current
  DESCRIPTION
      "Interface Index on which ICMP packet is transmitted."
  ::= { icmptrapIpv4Obj 1 }

  icmpV4ErrorInfoType  OBJECT-TYPE
   SYNTAX        INTEGER (0..254)
   MAX-ACCESS    accessible-for-notify
   STATUS        current
   DESCRIPTION
        "The ICMPv4 Error type. Please refer RFC792."
   ::= { icmptrapIpv4Obj 2 }

  icmpV4ErrorInfoCode  OBJECT-TYPE
   SYNTAX        INTEGER (0..15)
   MAX-ACCESS    accessible-for-notify
   STATUS        current
   DESCRIPTION
        "The ICMPv4 Error code. Please refer RFC792
        for different ICMP type and its corresponding codes."
   ::= { icmptrapIpv4Obj  3 }

  icmpV4ErrorInfoSrcIp  OBJECT-TYPE
   SYNTAX      InetAddressIPv4
   MAX-ACCESS    accessible-for-notify
   STATUS        current
   DESCRIPTION
        "The Source IPv4 address of the TTL <= 1 packet."
   ::= { icmptrapIpv4Obj 4 }

  icmpV4ErrorInfoDstIp  OBJECT-TYPE
   SYNTAX      InetAddressIPv4
   MAX-ACCESS    accessible-for-notify
   STATUS        current
   DESCRIPTION
        "The Destination IPv4 address of the TTL <= 1 packet."
   ::= {icmptrapIpv4Obj 5 }

 icmpV4ErrorTtl  OBJECT-TYPE
  SYNTAX      INTEGER(0..1)
  MAX-ACCESS    accessible-for-notify
  STATUS      current
  DESCRIPTION
      "TTL value of the received packet which will be 0 or 1
      which triggers the ICMP TTL Exceed message."
  ::= {  icmptrapIpv4Obj 6}

 icmpV6ErrorIfindex  OBJECT-TYPE
  SYNTAX      Unsigned32 (1..4294967295)
  MAX-ACCESS    accessible-for-notify
  STATUS      current
  DESCRIPTION
      "Interface Index on which ICMP6 packet is transmitted."
  ::= {  icmptrapIpv6Obj 1}

  icmpV6ErrorInfoType  OBJECT-TYPE
   SYNTAX        INTEGER (0..254)
   MAX-ACCESS    accessible-for-notify
   STATUS        current
   DESCRIPTION
        "The ICMPv6 Error type. Please refer rfc4443"
   ::= { icmptrapIpv6Obj 2 }

  icmpV6ErrorInfoCode  OBJECT-TYPE
   SYNTAX        INTEGER (0..15)
   MAX-ACCESS    accessible-for-notify
   STATUS        current
   DESCRIPTION
        "The ICMPv6 Error code. Please refer rfc4443
        for different ICMP6 type and its corresponding codes."
   ::= { icmptrapIpv6Obj 3 }

  icmpV6ErrorInfoSrcIp  OBJECT-TYPE
   SYNTAX      InetAddressIPv6
   MAX-ACCESS    accessible-for-notify
   STATUS        current
   DESCRIPTION
        "The Source IPv6 address of the TTL <= 1 packet."
   ::= { icmptrapIpv6Obj 4 }

  icmpV6ErrorInfoDstIp  OBJECT-TYPE
   SYNTAX      InetAddressIPv6
   MAX-ACCESS    accessible-for-notify
   STATUS        current
   DESCRIPTION
        "The Destination IPv6 address of the TTL <= 1 packet."
   ::= { icmptrapIpv6Obj 5 }

 icmpV6ErrorTtl  OBJECT-TYPE
  SYNTAX      INTEGER(0..1)
  MAX-ACCESS    accessible-for-notify
  STATUS      current
  DESCRIPTION
      "TTL value of the received packet which will be 0 or 1
      which triggers the ICMP6 TTL Exceed message."
  ::= {  icmptrapIpv6Obj 6}

END
