-- *****************************************************************************
-- JUNIPER-SGRE-MIB
--
-- Juniper Networks Enterprise MIB
--   Soft GRE MIB
--
-- Copyright (c) 2025, Juniper Networks, Inc.
-- All rights reserved.
-- *****************************************************************************

JUNIPER-SOFT-GRE-MIB  DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, IpAddress, Unsigned32, Counter32
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString, MacAddress
        FROM SNMPv2-TC
    InterfaceIndex
        FROM IF-MIB
    jnxSoftGreMibRoot
        FROM JUNIPER-SMI;


jnxSoftGreMIB  MODULE-IDENTITY
       LAST-UPDATED "202501010000Z"  -- 01-Jan-25
       ORGANIZATION "Juniper Networks, Inc."
       CONTACT-INFO
             " Juniper Technical Assistance Center
             Juniper Networks, Inc.
             1133 Innovation Way
             Sunnyvale, CA 94089
             E-mail: support@juniper.net"
       DESCRIPTION
             "The Soft GRE MIB for the Juniper Networks enterprise."
       ::= { jnxSoftGreMibRoot  1 }


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed object groups
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jnxSoftGreObjects                OBJECT IDENTIFIER ::= {jnxSoftGreMIB 1}
jnxSoftGreScalar                 OBJECT IDENTIFIER ::= {jnxSoftGreObjects 1}
jnxSoftGreGeneral                OBJECT IDENTIFIER ::= {jnxSoftGreObjects 2}


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects for Subscriber functions
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
jnxSoftGreStaticTunnelsTotalCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "Number of static GRE tunnels."
       ::= { jnxSoftGreScalar 1 }

jnxSoftGreDynamicTunnelsTotalCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "Number of Dynamic GRE tunnels."
       ::= { jnxSoftGreScalar 2 }

jnxSoftGreStaticSessionsTotalCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "Total number of static sessions."
       ::= { jnxSoftGreScalar 3 }

jnxSoftGrePPPoESessionsTotalCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "Total number of PPPoE sessions."
       ::= { jnxSoftGreScalar 4 }

jnxSoftGreDHCPSessionsTotalCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "Total number of DHCP sessions."
       ::= { jnxSoftGreScalar 5 }

jnxSoftGreVLANSessionsTotalCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "Total number of VLAN sessions."
       ::= { jnxSoftGreScalar 6 }

jnxSoftGreUserSessionsTotalCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "Total number of User sessions."
       ::= { jnxSoftGreScalar 7 }

jnxSoftGreLogicalIfTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF JnxSoftGreLogicalIfEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
             "The entries in this table represent GRE Tunnel."
       ::= { jnxSoftGreGeneral 1 }

jnxSoftGreLogicalIfEntry OBJECT-TYPE
       SYNTAX      JnxSoftGreLogicalIfEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
             "A specification of Gre Tunnel."
       INDEX     { jnxSoftGreLogicalIfIndex }
       ::= { jnxSoftGreLogicalIfTable 1 }

JnxSoftGreLogicalIfEntry ::= SEQUENCE {
       jnxSoftGreLogicalIfIndex                  InterfaceIndex,
       jnxSoftGreLogicalInterfaceName            DisplayString,
       jnxSoftGreLogicalIfStaticTunnelsCount     Counter32,
       jnxSoftGreLogicalIfDynamicTunnelsCount    Counter32,
       jnxSoftGreLogicalIfStaticSessionsCount    Counter32,
       jnxSoftGreLogicalIfPPPoESessionsCount     Counter32,
       jnxSoftGreLogicalIfDHCPSessionsCount      Counter32,
       jnxSoftGreLogicalIfVLANSessionsCount      Counter32,
       jnxSoftGreLogicalIfUserSessionsCount      Counter32}

jnxSoftGreLogicalIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex of the GRE Tunnel. "
    ::= { jnxSoftGreLogicalIfEntry 1 }

jnxSoftGreLogicalInterfaceName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The InterfaceName associated with this tunnel."
       ::= { jnxSoftGreLogicalIfEntry 2 }

jnxSoftGreLogicalIfStaticTunnelsCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The static tunnel Count for the logical interface."
       ::= { jnxSoftGreLogicalIfEntry 3 }

jnxSoftGreLogicalIfDynamicTunnelsCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The dynamic tunnel Count for the logical interface."
       ::= { jnxSoftGreLogicalIfEntry 4 }

jnxSoftGreLogicalIfStaticSessionsCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The static session Count for the logical interface."
       ::= { jnxSoftGreLogicalIfEntry 5 }

jnxSoftGreLogicalIfPPPoESessionsCount OBJECT-TYPE
       SYNTAX            Counter32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
             "The pppoe session Count for the logical interface."
       ::= { jnxSoftGreLogicalIfEntry 6}

jnxSoftGreLogicalIfDHCPSessionsCount OBJECT-TYPE
       SYNTAX            Counter32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
             "The dhcp session Count for the logical interface."
       ::= { jnxSoftGreLogicalIfEntry 7}

jnxSoftGreLogicalIfVLANSessionsCount OBJECT-TYPE
       SYNTAX            Counter32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
             "The vlan session Count for the logical interface."
       ::= { jnxSoftGreLogicalIfEntry 8}

jnxSoftGreLogicalIfUserSessionsCount OBJECT-TYPE
       SYNTAX            Counter32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
             "The user session Count for the logical interface."
       ::= { jnxSoftGreLogicalIfEntry 9}

jnxSoftGreTunnelIfTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF JnxSoftGreTunnelEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
             "The entries in this table represent GRE Tunnel."
       ::= { jnxSoftGreGeneral 2 }

jnxSoftGreTunnelEntry OBJECT-TYPE
       SYNTAX      JnxSoftGreTunnelEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
             "A specification of Gre Tunnel."
       INDEX     { jnxSoftGreTunnelIfIndex }
       ::= { jnxSoftGreTunnelIfTable 1 }

JnxSoftGreTunnelEntry ::= SEQUENCE {
       jnxSoftGreTunnelIfIndex                InterfaceIndex,
       jnxSoftGreTunnelInterfaceName          DisplayString,
       jnxSoftGreTunnelLocalAddress           DisplayString,
       jnxSoftGreTunnelRemoteAddress          DisplayString,
       jnxSoftGreTunnelRoutingInstance        DisplayString,
       jnxSoftGreTunnelStaticSessionsCount    Counter32,
       jnxSoftGreTunnelPPPoESessionsCount     Counter32,
       jnxSoftGreTunnelDHCPSessionsCount      Counter32,
       jnxSoftGreTunnelVLANSessionsCount      Counter32,
       jnxSoftGreTunnelUserSessionsCount      Counter32}

jnxSoftGreTunnelIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ifIndex of the GRE Tunnel. "
    ::= { jnxSoftGreTunnelEntry 1 }

jnxSoftGreTunnelInterfaceName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The InterfaceName associated with this tunnel."
       ::= { jnxSoftGreTunnelEntry 2 }

jnxSoftGreTunnelLocalAddress OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The local ip address associated with this tunnel."
       ::= { jnxSoftGreTunnelEntry 3 }

jnxSoftGreTunnelRemoteAddress OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The remote ip address associated with this tunnel."
       ::= { jnxSoftGreTunnelEntry 4 }

jnxSoftGreTunnelRoutingInstance OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The routing instance associated with this tunnel."
       ::= { jnxSoftGreTunnelEntry 5 }

jnxSoftGreTunnelStaticSessionsCount OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The static session Count for the tunnel."
       ::= { jnxSoftGreTunnelEntry 6 }

jnxSoftGreTunnelPPPoESessionsCount OBJECT-TYPE
       SYNTAX            Counter32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
             "The pppoe session Count for the tunnel."
       ::= { jnxSoftGreTunnelEntry 7}

jnxSoftGreTunnelDHCPSessionsCount OBJECT-TYPE
       SYNTAX            Counter32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
             "The dhcp session Count for the tunnel."
       ::= { jnxSoftGreTunnelEntry 8}

jnxSoftGreTunnelVLANSessionsCount OBJECT-TYPE
       SYNTAX            Counter32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
             "The vlan session Count for the tunnel."
       ::= { jnxSoftGreTunnelEntry 9}

jnxSoftGreTunnelUserSessionsCount OBJECT-TYPE
       SYNTAX            Counter32
       MAX-ACCESS        read-only
       STATUS            current
       DESCRIPTION
             "The user session Count for the tunnel."
       ::= { jnxSoftGreTunnelEntry 10}

jnxSoftGreSessionIfTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF JnxSoftGreSessionEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
             "The entries in this table represent User Sessions per GRE Tunnel."
       ::= { jnxSoftGreGeneral 3 }

jnxSoftGreSessionEntry OBJECT-TYPE
       SYNTAX      JnxSoftGreSessionEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
             "A specification of Gre User Session per Tunnel."
       INDEX     { jnxSoftGreSessionTunnelIfIndex,
                   jnxSoftGreSessionIfIndex }
       ::= { jnxSoftGreSessionIfTable 1 }

JnxSoftGreSessionEntry ::= SEQUENCE {
       jnxSoftGreSessionTunnelIfIndex         InterfaceIndex,
       jnxSoftGreSessionIfIndex               InterfaceIndex,
       jnxSoftGreSessionTunnelInterfaceName   DisplayString,
       jnxSoftGreSessionInterfaceName         DisplayString}

jnxSoftGreSessionTunnelIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ifIndex of the GRE tunnel for User Session. "
    ::= { jnxSoftGreSessionEntry 1 }

jnxSoftGreSessionIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ifIndex of the GRE User Session. "
    ::= { jnxSoftGreSessionEntry 2 }

jnxSoftGreSessionTunnelInterfaceName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The InterfaceName associated with the tunnel for User Session."
       ::= { jnxSoftGreSessionEntry 3 }

jnxSoftGreSessionInterfaceName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
             "The InterfaceName associated with this User Session."
       ::= { jnxSoftGreSessionEntry 4 }

END
