ALCATEL-IND1-LPS-MIB DEFINITIONS ::= BEGIN

IMPORTS
     OBJECT-TYPE,
     OBJECT-IDENTITY,
     NOTIFICATION-TYPE,
     MODULE-IDENTITY,
     IpAddress,
     Integer32, Unsigned32    FROM SNMPv2-SMI
     MacAddress,
     RowStatus                FROM SNMPv2-TC
     SnmpAdminString
                              FROM SNMP-FRAMEWORK-MIB
     ifIndex, InterfaceIndex  FROM IF-MIB
     systemServicesDate,
     systemServicesTime       FROM ALCATEL-IND1-SYSTEM-MIB
 MODULE-COMPLIANCE,
 OBJECT-GROUP,
 NOTIFICATION-GROUP           FROM SNMPv2-CONF
 softentIND1MacAddress        FROM ALCATEL-IND1-BASE;


alcatelIND1LearnedPortSecurityMIB MODULE-IDENTITY
    LAST-UPDATED "201911270000Z"
    ORGANIZATION "ALE USA Inc."
    CONTACT-INFO
     "Please consult with Customer Service to ensure the most appropriate
      version of this document is used with the products in question:

                      ALE USA Inc. Enterprise
                        26801 West Agoura Road
                     Agoura Hills, CA  91301-5122
                       United States Of America

     Telephone:          +1 800 995 2696

     Electronic Mail:    ebg_global_supportcenter@al-enterprise.com
     World Wide Web:     https://www.al-enterprise.com"

     DESCRIPTION
       "This module describes an authoritative enterprise-specific Simple
        Network Management Protocol (SNMP) Management Information Base (MIB):

        For the OmniSwitch Product Line, this is the MIB module for
        address learning mac addresses entity.

        The right to make changes in specification and other information
        contained in this document without prior notice is reserved.

        No liability shall be assumed for any incidental, indirect, special,
        or consequential damages whatsoever arising from or related to this
        document or the information contained herein.

        Vendors, end-users, and other interested parties are granted
        non-exclusive license to use this specification in connection with
        management of the products for which it is intended to be used.

                   Copyright (C) ALE USA Inc. 2014-2019
                   Copyright (C) 1995-2013 Alcatel-Lucent
                       ALL RIGHTS RESERVED WORLDWIDE"

    REVISION      "201911270000Z"
    DESCRIPTION
        "Updated the latest contact and Copyright information for ALE USA Inc."

    REVISION      "201005130000Z"
    DESCRIPTION
        "Fixed the Notifications to use MIB Module OID.0 as Notifications root."

    REVISION      "200704030000Z"
    DESCRIPTION
        "The MIB module for Learned Port Security entity."
    ::= { softentIND1MacAddress 2 }


-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-- Hook into the Alcatel Tree
-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    alcatelIND1LearnedPortSecurityMIBNotifications OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Branch For LAG MIB Subsystem Notifications."
    ::= { alcatelIND1LearnedPortSecurityMIB 0 }

    alcatelIND1LearnedPortSecurityMIBObjects OBJECT-IDENTITY
 STATUS  current
 DESCRIPTION
     "Branch For Learned Port Security Module MIB Subsystem Managed
Objects."
 ::= { alcatelIND1LearnedPortSecurityMIB 1 }

    alcatelIND1LearnedPortSecurityMIBConformance OBJECT-IDENTITY
 STATUS  current
 DESCRIPTION
     "Branch for Learned Port Security Module MIB Subsystem Conformance
Information."
 ::= { alcatelIND1LearnedPortSecurityMIB 2 }

    alcatelIND1LearnedPortSecurityMIBGroups OBJECT-IDENTITY
 STATUS  current
 DESCRIPTION
     "Branch for Learned Port Security Module MIB Subsystem Units of
Conformance."
 ::= { alcatelIND1LearnedPortSecurityMIBConformance 1 }

    alcatelIND1LearnedPortSecurityMIBCompliances OBJECT-IDENTITY
 STATUS  current
 DESCRIPTION
     "Branch for Learned Port Security Module MIB Subsystem Compliance
Statements."
 ::= { alcatelIND1LearnedPortSecurityMIBConformance 2 }



--- Learned Port Security MIB Tables

learnedPortSecurityTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF LearnedPortSecurityEntry
    MAX-ACCESS    not-accessible
    STATUS   current
    DESCRIPTION
        "A table contains Learned Port Security information."
    ::= { alcatelIND1LearnedPortSecurityMIBObjects 1 }


learnedPortSecurityEntry  OBJECT-TYPE
    SYNTAX   LearnedPortSecurityEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "Definition of the Learned Port Security port security table entries."
    INDEX { ifIndex }
    ::= { learnedPortSecurityTable 1 }


LearnedPortSecurityEntry ::=
    SEQUENCE {
 lpsViolationOption
  INTEGER,
 lpsMaxMacNum
  Integer32,
 lpsLoMacRange  -- deprecated
  MacAddress,
 lpsHiMacRange  -- deprecated
  MacAddress,
 lpsAdminStatus
  INTEGER,
 lpsOperStatus
  INTEGER,
 lpsRowStatus
  RowStatus,
 lpsRelease
  INTEGER,
 lpsMaxFilteredMacNum
  Integer32,
 lpsLearnTrapThreshold
  Integer32,
 lpsViolatingMac
  MacAddress,
 lpsPacketRelay
  INTEGER
}

lpsViolationOption OBJECT-TYPE
    SYNTAX   INTEGER {
    restrict (1),
    shutdown (2),
    discard (3)
    }
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "The handle option for LPS violation "
    DEFVAL  {restrict}
    ::= { learnedPortSecurityEntry 1 }

lpsMaxMacNum OBJECT-TYPE
    SYNTAX   Integer32 ( 1 .. 1000 )
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "The maximum number of MAC addresses that the LPS port could learn."
    DEFVAL  {1}
    ::= { learnedPortSecurityEntry 2 }

lpsLoMacRange OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   read-create
    STATUS   deprecated
    DESCRIPTION
    "The low end of Mac range which is allowed to be learned on LPS
     port.
     Deprecated by lpsL2LowMacAddress."
    DEFVAL  { '000000000000'h }
    ::= { learnedPortSecurityEntry 3 }

lpsHiMacRange OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   read-create
    STATUS   deprecated
    DESCRIPTION
    "The high end of Mac range which is allowed to be learned on LPS
     port.
     Deprecated by lpsL2HighMacAddress."
    DEFVAL  { 'ffffffffffff'h }
    ::= { learnedPortSecurityEntry 4 }

lpsAdminStatus OBJECT-TYPE
    SYNTAX   INTEGER {
    enabled (1),
    disabled (2),
    locked (3)
    }
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "This object specifies the desired administrative state of
     the Learned Port Security feature on this port. "
    DEFVAL { enabled }
    ::= { learnedPortSecurityEntry 5 }

lpsOperStatus OBJECT-TYPE
    SYNTAX INTEGER {
    up(1),
    down(2),
    securityViolated(3),
    locked(4)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "This object identifies the current operational state of the
       LPS port."
    ::= { learnedPortSecurityEntry 6 }


lpsRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "The RowStatus for this table."
    ::= { learnedPortSecurityEntry 7 }


lpsRelease OBJECT-TYPE
    SYNTAX INTEGER {
    release(1)
    }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
      "This object causes the release of LPS port if it is in violated state."
    ::= { learnedPortSecurityEntry 8 }

lpsMaxFilteredMacNum OBJECT-TYPE
    SYNTAX   Integer32 ( 0 .. 100 )
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "The maximum number of Filtered MAC addresses that the LPS port
     could learn. The default is 5."
    DEFVAL  {5}
    ::= { learnedPortSecurityEntry 9 }

lpsLearnTrapThreshold OBJECT-TYPE
    SYNTAX   Integer32 ( 0 .. 1000 )
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "When the number of bridged MACs learned goes over this value, a trap will
     be generated for every additional MAC that is learned."
    DEFVAL  {5}
    ::= { learnedPortSecurityEntry 10 }

lpsViolatingMac OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
    "The MAC Address which cause the Violation on this Port.
    This field is set when LPS port is in Violated state,
    it is cleared when Port comes out of violation"
    DEFVAL  { '000000000000'H }
    ::= { learnedPortSecurityEntry 11 }

lpsPacketRelay OBJECT-TYPE
    SYNTAX   INTEGER {
    enable (1),
    disable (2)
    }
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "Enable/disable packet relay on a port-security port."
    DEFVAL { disable }
    ::= { learnedPortSecurityEntry 12 }

-- Learned Port Security Global Group for configurable paramaters applying to the whole switch.

learnedPortSecurityGlobalGroup OBJECT IDENTIFIER ::= {alcatelIND1LearnedPortSecurityMIBObjects 3 }

lpsLearningWindowTime OBJECT-TYPE
    SYNTAX   Integer32 ( 0 .. 2880)
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
    "The learning time window that can be configured on the switch to learn new MACs on the
     LPS port. This paramater applies to the whole switch and the granularity is in minutes."
    ::= { learnedPortSecurityGlobalGroup 1 }

lpsLearningWindowTimeWithStaticConversion OBJECT-TYPE
    SYNTAX   INTEGER {
          enable(1),
          disable(2)
      }
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
    "If it is enabled, when the learning window is expired, the dynamic MACs learned
     on all LPS ports will be converted to static. It is configurable only when
     the learning window is enabled."
    ::= { learnedPortSecurityGlobalGroup 2 }

lpsConvertToStatic OBJECT-TYPE
    SYNTAX  Integer32 (0 | 2147483647 | 1001..17000)
    MAX-ACCESS   read-write
    STATUS   current
    DESCRIPTION
    "It converts the L2 addresses learned on the given port in IfIndex format from dynamic to static,
     Value 2147483647 converts the L2 addresses learned for all ports.Zero indicates no port in convert-to-static state."
    ::= { learnedPortSecurityGlobalGroup 3 }

lpsLearningWindowNoAging OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "If it is enabled, all mac-address learnt on the port would be deffered from aging"
    ::= { learnedPortSecurityGlobalGroup 4 }

lpsLearningWindowBootupStatus OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "If it is enabled, Learning window will start at boot-up time"
    ::= { learnedPortSecurityGlobalGroup 5 }

lpsLearningWindowTimeRemaining OBJECT-TYPE

    SYNTAX   Integer32 (0..172800)

    MAX-ACCESS read-only
    STATUS   current
    DESCRIPTION
    "Amount of time (in seconds) remaining until the learning window expires."
    ::= { learnedPortSecurityGlobalGroup 6 }

lpsLearningWindowLearnAsStatic OBJECT-TYPE
     SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "If it is enabled, all mac-address learnt on the port would be directly converted to static."
    ::= { learnedPortSecurityGlobalGroup 7 }

lpsLearningWindowPseudoMacMove OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "If it is enabled, pseudo-static MACs will be subject to MAC move."
    ::= { learnedPortSecurityGlobalGroup 8 }

--- Learned Port Security L2 Mac Address MIB Table

learnedPortSecurityL2MacAddressTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF LearnedPortSecurityL2MacAddressEntry
    MAX-ACCESS    not-accessible
    STATUS   current
    DESCRIPTION
        "A table contains Learned Port Security L2 Mac addresses."
    ::= { alcatelIND1LearnedPortSecurityMIBObjects 4 }


learnedPortSecurityL2MacAddressEntry  OBJECT-TYPE
    SYNTAX   LearnedPortSecurityL2MacAddressEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "Definition of the Learned Port Security port security mac-address table entries."
    INDEX { ifIndex , lpsL2VlanId, lpsL2MacAddress }
    ::= { learnedPortSecurityL2MacAddressTable 1 }


LearnedPortSecurityL2MacAddressEntry ::=
    SEQUENCE {
 lpsL2VlanId
  Integer32,
 lpsL2MacAddress
  MacAddress,
 lpsL2MacAddressLearnType
  INTEGER,
 lpsL2MacAddressRowStatus
  RowStatus
}


lpsL2VlanId OBJECT-TYPE
    SYNTAX   Integer32 (1..4094)
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "The Vlan Id assigned to the packet."
    ::= { learnedPortSecurityL2MacAddressEntry 1 }

lpsL2MacAddress OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "The MacAddress that is either configured or dynamically learnt on the LPS port."
    ::= { learnedPortSecurityL2MacAddressEntry 2 }

lpsL2MacAddressLearnType OBJECT-TYPE
    SYNTAX   INTEGER {
    configured (1),
    dynamic (2),
    filtered (3),
    quarantined (4)
    }
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
    "Learned L2 MAC address type."
    ::= { learnedPortSecurityL2MacAddressEntry 3 }

lpsL2MacAddressRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "The RowStatus for this table."
    ::= { learnedPortSecurityL2MacAddressEntry 4 }

learnedPortSecurityAgL2MacAddressTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF LearnedPortSecurityAgL2MacAddressEntry
    MAX-ACCESS    not-accessible
    STATUS   current
    DESCRIPTION
        "A table contains Learned Port Security L2 Mac addresses."
    ::= { alcatelIND1LearnedPortSecurityMIBObjects 6 }


learnedPortSecurityAgL2MacAddressEntry  OBJECT-TYPE
    SYNTAX   LearnedPortSecurityAgL2MacAddressEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "Definition of the Learned Port Security port security mac-address table entries."
    INDEX { ifIndex , lpsAgL2MacAddress, lpsAgL2VlanId }
    ::= { learnedPortSecurityAgL2MacAddressTable 1 }


LearnedPortSecurityAgL2MacAddressEntry ::=
    SEQUENCE {
 lpsAgL2MacAddress
  MacAddress,
 lpsAgL2VlanId
  Integer32,
 lpsAgL2MacAddressLearnType
  INTEGER,
 lpsAgL2MacAddressRowStatus
  RowStatus
}


lpsAgL2MacAddress OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "The MacAddress that is either configured or dynamically learnt on the LPS port."
    ::= { learnedPortSecurityAgL2MacAddressEntry 1 }

lpsAgL2VlanId OBJECT-TYPE
    SYNTAX   Integer32 (1..4094)
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "The Vlan Id assigned to the packet."
    ::= { learnedPortSecurityAgL2MacAddressEntry 2 }

lpsAgL2MacAddressLearnType OBJECT-TYPE
    SYNTAX   INTEGER {
    configured (1),
    dynamic (2),
    filtered (3),
    quarantined (4),
    configuredFiltered (5),
    pseudoStatic (6)
    }
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
    "Learned L2 MAC address type."
    ::= { learnedPortSecurityAgL2MacAddressEntry 3 }

lpsAgL2MacAddressRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "The RowStatus for this table."
    ::= { learnedPortSecurityAgL2MacAddressEntry 4 }

-- Learned Port Security L2 Mac Range MIB Table

learnedPortSecurityL2MacRangeTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF LearnedPortSecurityL2MacRangeEntry
    MAX-ACCESS    not-accessible
    STATUS   current
    DESCRIPTION
    "A table contains Learned Port Security L2 Mac Range addresses."
    ::= { alcatelIND1LearnedPortSecurityMIBObjects 7}

learnedPortSecurityL2MacRangeEntry  OBJECT-TYPE
    SYNTAX   LearnedPortSecurityL2MacRangeEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "Definition of the Learned Port Security port security mac range table entries."
    INDEX { ifIndex , lpsL2LowMacAddress}
    ::= { learnedPortSecurityL2MacRangeTable 1 }

LearnedPortSecurityL2MacRangeEntry ::=
    SEQUENCE {
      lpsL2LowMacAddress  MacAddress,
      lpsL2HighMacAddress  MacAddress,
      lpsL2MacRangeRowStatus  RowStatus
}

lpsL2LowMacAddress OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "The Low MacAddress is configured by the user on the LPS port for validation."
    ::= { learnedPortSecurityL2MacRangeEntry 1 }

lpsL2HighMacAddress OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "The High MacAddress is configured by the user on the LPS port for validation."
    ::= { learnedPortSecurityL2MacRangeEntry 2 }

lpsL2MacRangeRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "The RowStatus for this table."
    ::= { learnedPortSecurityL2MacRangeEntry 3 }

-- Learned Port Security support over services (service access port)

learnedPortSecuritySAPTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF LearnedPortSecuritySAPEntry
    MAX-ACCESS    not-accessible
    STATUS   obsolete
    DESCRIPTION
    "A table contains Learned Port Security service access port."
    ::= { alcatelIND1LearnedPortSecurityMIBObjects 8}

learnedPortSecuritySAPEntry  OBJECT-TYPE
    SYNTAX   LearnedPortSecuritySAPEntry
    MAX-ACCESS   not-accessible
    STATUS   obsolete
    DESCRIPTION
    "Definition of the Learned Port Security service access port table entries."
    INDEX { lpsSAPEncapValue , lpsSAPPortId}
    ::= { learnedPortSecuritySAPTable 1 }

LearnedPortSecuritySAPEntry ::=
    SEQUENCE {
        lpsSAPPortId                    InterfaceIndex,
        lpsSAPEncapValue                Unsigned32,
        lpsSAPAdminStatus               INTEGER,
        lpsSAPConvertToStatic           Integer32,
        lpsSAPLearnTrapThreshold        Integer32,
        lpsSAPMaxMacNum                 Integer32,
        lpsSAPMaxFilteredMacNum         Integer32,
        lpsSAPViolationRestrict         INTEGER,
        lpsSAPViolationRecoveryMax      Integer32,
        lpsSAPViolationRecoveryTime     Integer32,
        lpsSAPRowStatus                 RowStatus,
        lpsSAPViolationClear            INTEGER,
        lpsSAPOperStatus                INTEGER,
        lpsSAPViolatingMac              MacAddress
}

lpsSAPPortId OBJECT-TYPE
    SYNTAX   InterfaceIndex
    MAX-ACCESS   not-accessible
    STATUS   obsolete
    DESCRIPTION
        "The ID of the access port where this SAP is defined."
    ::= { learnedPortSecuritySAPEntry 1 }

lpsSAPEncapValue OBJECT-TYPE
    SYNTAX   Unsigned32
    MAX-ACCESS   not-accessible
    STATUS   obsolete
    DESCRIPTION
        "The value of the label used to identify this
         SAP on the access port specified by sapPortId."
    ::= { learnedPortSecuritySAPEntry 2 }

lpsSAPAdminStatus OBJECT-TYPE
    SYNTAX   INTEGER {
        enabled (1),
        disabled (2),
        locked (3)
    }
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "This object specifies the desired administrative state of
         the Learned Port Security SAP feature."
    DEFVAL { disabled }
    ::= { learnedPortSecuritySAPEntry 3 }

lpsSAPConvertToStatic OBJECT-TYPE
    SYNTAX  Integer32 (0 | 2147483647 | 1001..17000)
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "It converts the L2 addresses learned on the given port in IfIndex format from dynamic to static,
         Value 2147483647 converts the L2 addresses learned for all ports. Zero indicates no port in convert-to-static state."
    ::= { learnedPortSecuritySAPEntry 4 }

lpsSAPLearnTrapThreshold OBJECT-TYPE
    SYNTAX   Integer32 (0 .. 1000)
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "When the number of bridged MACs learned goes over this value, a trap will
         be generated for every additional MAC that is learned."
    DEFVAL  {5}
    ::= { learnedPortSecuritySAPEntry 5 }

lpsSAPMaxMacNum OBJECT-TYPE
    SYNTAX   Integer32 (1 .. 1000)
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "The maximum number of MAC addresses that the LPS SAP could learn."
    DEFVAL  {1}
    ::= { learnedPortSecuritySAPEntry 6 }

lpsSAPMaxFilteredMacNum OBJECT-TYPE
    SYNTAX   Integer32 (0 .. 100)
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "The maximum number of Filtered MAC addresses that the LPS SAP
         could learn. The default is 5."
    DEFVAL  {5}
    ::= { learnedPortSecuritySAPEntry 7 }

lpsSAPViolationRestrict OBJECT-TYPE
    SYNTAX   INTEGER {
        enable (1),
        disable (2)
    }
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "The handle option for LPS SAP violation restrict."
    DEFVAL  {disable}
    ::= { learnedPortSecuritySAPEntry 8 }

lpsSAPViolationRecoveryMax OBJECT-TYPE
    SYNTAX   Integer32 (-1..50)
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "SAP violation recovery maximum.
         Value 0 means SAP recovery is disabled for any ports using this value.
         Value -1 means SAP recovery will infinitely for any ports using this value."
    DEFVAL  {10}
    ::= { learnedPortSecuritySAPEntry 9 }

lpsSAPViolationRecoveryTime OBJECT-TYPE
    SYNTAX   Integer32 (30..600)
    MAX-ACCESS  read-create
    STATUS      obsolete
    DESCRIPTION
        "Time (in seconds) between SAP violation recovery for any ports using this value."
    DEFVAL { 300 }
    ::= { learnedPortSecuritySAPEntry 10 }

lpsSAPRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "The RowStatus for this table."
    ::= { learnedPortSecuritySAPEntry 14 }

lpsSAPViolationClear OBJECT-TYPE
    SYNTAX   INTEGER {
        default (1),
        clear (2)
    }
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "The handle option for LPS SAP violation clear."
    DEFVAL  {default}
    ::= { learnedPortSecuritySAPEntry 15 }

lpsSAPOperStatus OBJECT-TYPE
    SYNTAX INTEGER {
    up(1),
    down(2),
    securityViolated(3),
    locked(4)
    }
    MAX-ACCESS read-only
    STATUS obsolete
    DESCRIPTION
      "This object identifies the current operational state of the
       LPS SAP port."
    ::= { learnedPortSecuritySAPEntry 16 }

lpsSAPViolatingMac OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   read-only
    STATUS   obsolete
    DESCRIPTION
    "The MAC Address which cause the Violation on this Port.
    This field is set when LPS SAP port is in Violated state,
    it is cleared when Port comes out of violation"
    DEFVAL  { '000000000000'H }
    ::= { learnedPortSecuritySAPEntry 17 }

-- Learned Port Security mac address support over services (service access port)

learnedPortSecuritySAPMacAddressTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF LearnedPortSecuritySAPMacAddressEntry
    MAX-ACCESS    not-accessible
    STATUS   obsolete
    DESCRIPTION
    "A table contains Learned Port Security service access port mac addresses."
    ::= { alcatelIND1LearnedPortSecurityMIBObjects 9}

learnedPortSecuritySAPMacAddressEntry  OBJECT-TYPE
    SYNTAX   LearnedPortSecuritySAPMacAddressEntry
    MAX-ACCESS   not-accessible
    STATUS   obsolete
    DESCRIPTION
    "Definition of the Learned Port Security service access port mac address table entries."
    INDEX { lpsSAPEncapValue, lpsSAPPortId , lpsSAPL2LowMacAddress}
    ::= { learnedPortSecuritySAPMacAddressTable 1 }

LearnedPortSecuritySAPMacAddressEntry ::=
    SEQUENCE {
        lpsSAPL2LowMacAddress           MacAddress,     --obsolete
        lpsSAPL2HighMacAddress          MacAddress,     --obsolete
        lpsSAPMacAddressRowStatus       RowStatus,      --obsolete
        lpsSAPL2MacAddressLearnType     INTEGER         --obsolete
}

lpsSAPL2LowMacAddress OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   not-accessible
    STATUS   obsolete
    DESCRIPTION
    "The Low MacAddress is configured by the user on the LPS SAP port for validation."
    ::= { learnedPortSecuritySAPMacAddressEntry 1 }

lpsSAPL2HighMacAddress OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
    "The High MacAddress is configured by the user on the LPS SAP port for validation.
     Value '00:00:00:00:00:00' means this table will be destroyed."
    ::= { learnedPortSecuritySAPMacAddressEntry 2 }

lpsSAPMacAddressRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   obsolete
    DESCRIPTION
        "The RowStatus for this table."
    ::= { learnedPortSecuritySAPMacAddressEntry 3 }

lpsSAPL2MacAddressLearnType OBJECT-TYPE
    SYNTAX   INTEGER {
        configured (1),
        dynamic (2),
        filtered (3),
        quarantined (4),
        configuredFiltered (5),
        pseudoStatic (6)
    }
    MAX-ACCESS   read-only
    STATUS   obsolete
    DESCRIPTION
        "Learned port security SAP MAC address type."
    ::= { learnedPortSecuritySAPMacAddressEntry 4 }


-- Learned Port Security support over services (service access port)

learnedSAPPortSecurityTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF LearnedSAPPortSecurityEntry
    MAX-ACCESS    not-accessible
    STATUS   current
    DESCRIPTION
    "A table contains Learned Port Security service access port."
    ::= { alcatelIND1LearnedPortSecurityMIBObjects 11 }

learnedSAPPortSecurityEntry  OBJECT-TYPE
    SYNTAX   LearnedSAPPortSecurityEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "Definition of the Learned Port Security service access port table entries."
    INDEX { learnedSAPPortId, learnedSAPEncapValue }
    ::= { learnedSAPPortSecurityTable 1 }

LearnedSAPPortSecurityEntry ::=
    SEQUENCE {
        learnedSAPPortId                    InterfaceIndex,
        learnedSAPEncapValue                Unsigned32,
        learnedSAPAdminStatus               INTEGER,
        learnedSAPConvertToStatic           Integer32,
        learnedSAPLearnTrapThreshold        Integer32,
        learnedSAPMaxMacNum                 Integer32,
        learnedSAPMaxFilteredMacNum         Integer32,
        learnedSAPViolationRestrict         INTEGER,
        learnedSAPViolationRecoveryMax      Integer32,
        learnedSAPViolationRecoveryTime     Integer32,
        learnedSAPRowStatus                 RowStatus,
        learnedSAPViolationClear            INTEGER,
        learnedSAPOperStatus                INTEGER,
        learnedSAPViolatingMac              MacAddress
}

learnedSAPPortId OBJECT-TYPE
    SYNTAX   InterfaceIndex
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
        "The ID of the access port where this SAP is defined."
    ::= { learnedSAPPortSecurityEntry 1 }

learnedSAPEncapValue OBJECT-TYPE
    SYNTAX   Unsigned32
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
        "The value of the label used to identify this
         SAP on the access port specified by sapPortId."
    ::= { learnedSAPPortSecurityEntry 2 }

learnedSAPAdminStatus OBJECT-TYPE
    SYNTAX   INTEGER {
        enabled (1),
        disabled (2),
        locked (3)
    }
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "This object specifies the desired administrative state of
         the Learned Port Security SAP feature."
    DEFVAL { disabled }
    ::= { learnedSAPPortSecurityEntry 3 }

learnedSAPConvertToStatic OBJECT-TYPE
    SYNTAX  Integer32 (0 | 2147483647 | 1001..17000)
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "It converts the L2 addresses learned on the given port in IfIndex format from dynamic to static,
         Value 2147483647 converts the L2 addresses learned for all ports. Zero indicates no port in convert-to-static state."
    ::= { learnedSAPPortSecurityEntry 4 }

learnedSAPLearnTrapThreshold OBJECT-TYPE
    SYNTAX   Integer32 (0 .. 1000)
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "When the number of bridged MACs learned goes over this value, a trap will
         be generated for every additional MAC that is learned."
    DEFVAL  {5}
    ::= { learnedSAPPortSecurityEntry 5 }

learnedSAPMaxMacNum OBJECT-TYPE
    SYNTAX   Integer32 (1 .. 1000)
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "The maximum number of MAC addresses that the LPS SAP could learn."
    DEFVAL  {1}
    ::= { learnedSAPPortSecurityEntry 6 }

learnedSAPMaxFilteredMacNum OBJECT-TYPE
    SYNTAX   Integer32 (0 .. 100)
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "The maximum number of Filtered MAC addresses that the LPS SAP
         could learn. The default is 5."
    DEFVAL  {5}
    ::= { learnedSAPPortSecurityEntry 7 }

learnedSAPViolationRestrict OBJECT-TYPE
    SYNTAX   INTEGER {
        enable (1),
        disable (2)
    }
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "The handle option for LPS SAP violation restrict."
    DEFVAL  {disable}
    ::= { learnedSAPPortSecurityEntry 8 }

learnedSAPViolationRecoveryMax OBJECT-TYPE
    SYNTAX   Integer32 (-1..50)
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "SAP violation recovery maximum.
         Value 0 means SAP recovery is disabled for any ports using this value.
         Value -1 means SAP recovery will infinitely for any ports using this value."
    DEFVAL  {10}
    ::= { learnedSAPPortSecurityEntry 9 }

learnedSAPViolationRecoveryTime OBJECT-TYPE
    SYNTAX   Integer32 (30..600)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Time (in seconds) between SAP violation recovery for any ports using this value."
    DEFVAL { 300 }
    ::= { learnedSAPPortSecurityEntry 10 }

learnedSAPRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "The RowStatus for this table."
    ::= { learnedSAPPortSecurityEntry 14 }

learnedSAPViolationClear OBJECT-TYPE
    SYNTAX   INTEGER {
        default (1),
        clear (2)
    }
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "The handle option for LPS SAP violation clear."
    DEFVAL  {default}
    ::= { learnedSAPPortSecurityEntry 15 }

learnedSAPOperStatus OBJECT-TYPE
    SYNTAX INTEGER {
    up(1),
    down(2),
    securityViolated(3),
    locked(4)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "This object identifies the current operational state of the
       LPS SAP port."
    ::= { learnedSAPPortSecurityEntry 16 }

learnedSAPViolatingMac OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
    "The MAC Address which cause the Violation on this Port.
    This field is set when LPS SAP port is in Violated state,
    it is cleared when Port comes out of violation"
    DEFVAL  { '000000000000'H }
    ::= { learnedSAPPortSecurityEntry 17 }


-- Learned Port Security mac range address support over services (service access port)

learnedPortSecuritySAPMacRangeTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF LearnedPortSecuritySAPMacRangeEntry
    MAX-ACCESS    not-accessible
    STATUS   current
    DESCRIPTION
    "A table contains Learned Port Security service access port mac range addresses."
    ::= { alcatelIND1LearnedPortSecurityMIBObjects 12}

learnedPortSecuritySAPMacRangeEntry  OBJECT-TYPE
    SYNTAX   LearnedPortSecuritySAPMacRangeEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "Definition of the Learned Port Security service access port mac range address table entries."
    INDEX { learnedSAPPortId, learnedSAPEncapValue , lpsSAPLowMacRange}
    ::= { learnedPortSecuritySAPMacRangeTable 1 }

LearnedPortSecuritySAPMacRangeEntry ::=
    SEQUENCE {
        lpsSAPLowMacRange           MacAddress,
        lpsSAPHighMacRange          MacAddress,
        lpsSAPMacRangeRowStatus     RowStatus
}

lpsSAPLowMacRange OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "The Low Mac Range Address is configured by the user on the LPS SAP port for validation."
    ::= { learnedPortSecuritySAPMacRangeEntry 1 }

lpsSAPHighMacRange OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
    "The High Mac Range Address is configured by the user on the LPS SAP port for validation.
     Value '00:00:00:00:00:00' means this table will be destroyed."
    ::= { learnedPortSecuritySAPMacRangeEntry 2 }

lpsSAPMacRangeRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "The RowStatus for this table."
    ::= { learnedPortSecuritySAPMacRangeEntry 3 }

-- Learned Port Security mac static address support over services (service access port)

learnedPortSecuritySAPMacStaticTable OBJECT-TYPE
    SYNTAX    SEQUENCE OF LearnedPortSecuritySAPMacStaticEntry
    MAX-ACCESS    not-accessible
    STATUS   current
    DESCRIPTION
    "A table contains Learned Port Security service access port mac static addresses."
    ::= { alcatelIND1LearnedPortSecurityMIBObjects 13}

learnedPortSecuritySAPMacStaticEntry  OBJECT-TYPE
    SYNTAX   LearnedPortSecuritySAPMacStaticEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "Definition of the Learned Port Security service access port mac static address table entries."
    INDEX { learnedSAPPortId, learnedSAPEncapValue , lpsSAPMacStatic}
    ::= { learnedPortSecuritySAPMacStaticTable 1 }

LearnedPortSecuritySAPMacStaticEntry ::=
    SEQUENCE {
        lpsSAPMacStatic               MacAddress,
        lpsSAPMacStaticRowStatus      RowStatus,
        lpsSAPMacStaticLearnType      INTEGER
}

lpsSAPMacStatic OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
    "The Low Mac Static Address is configured by the user on the LPS SAP port for validation."
    ::= { learnedPortSecuritySAPMacStaticEntry 1 }

lpsSAPMacStaticRowStatus OBJECT-TYPE
    SYNTAX   RowStatus
    MAX-ACCESS   read-create
    STATUS   current
    DESCRIPTION
        "The RowStatus for this table."
    ::= { learnedPortSecuritySAPMacStaticEntry 2 }

lpsSAPMacStaticLearnType OBJECT-TYPE
    SYNTAX   INTEGER {
        configured (1),
        dynamic (2),
        filtered (3),
        quarantined (4),
        configuredFiltered (5),
        pseudoStatic (6)
    }
    MAX-ACCESS   read-only
    STATUS   current
    DESCRIPTION
        "Learned port security SAP MAC static address type."
    ::= { learnedPortSecuritySAPMacStaticEntry 3 }


learnedPortSecurityPacketRelayProtocol OBJECT IDENTIFIER ::= {alcatelIND1LearnedPortSecurityMIBObjects 10 }

lpsPacketRelayIcmpStatus OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enable/disable packets with Icmp protocol as filter for packet relay."
    DEFVAL { disable }
    ::= { learnedPortSecurityPacketRelayProtocol 1 }

lpsPacketRelayIgmpStatus OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enable/disable packets with Igmp protocol as filter for packet relay."
    DEFVAL { disable }
    ::= { learnedPortSecurityPacketRelayProtocol 2 }

lpsPacketRelayUdpStatus OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enable/disable packets with UDP protocol as filter for packet relay."
    DEFVAL { disable }
    ::= { learnedPortSecurityPacketRelayProtocol 3 }

lpsPacketRelaySourceUdpPortStart OBJECT-TYPE
    SYNTAX  Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Source UDP port range start for packet relay feature."
    ::= { learnedPortSecurityPacketRelayProtocol 4 }

lpsPacketRelaySourceUdpPortEnd OBJECT-TYPE
    SYNTAX  Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Source UDP port range end for packet relay feature."
    ::= { learnedPortSecurityPacketRelayProtocol 5 }

lpsPacketRelaySourceUdpStatus OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enable/disable source UDP port range."
    DEFVAL { disable }
    ::= { learnedPortSecurityPacketRelayProtocol 6 }

lpsPacketRelayDestinationUdpPortStart OBJECT-TYPE
    SYNTAX  Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Destination UDP port range start for packet relay feature."
    ::= { learnedPortSecurityPacketRelayProtocol 7 }

lpsPacketRelayDestinationUdpPortEnd OBJECT-TYPE
    SYNTAX  Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Destination UDP port range end for packet relay feature."
    ::= { learnedPortSecurityPacketRelayProtocol 8 }

lpsPacketRelayDestinationUdpStatus OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "Enable/disable destination UDP port range."
    DEFVAL { disable }
    ::= { learnedPortSecurityPacketRelayProtocol 9 }

--
-- LPS Traps
--
lpsTrapsObj  OBJECT IDENTIFIER ::= { alcatelIND1LearnedPortSecurityMIBObjects 5 }

--
-- Traps description
--

-- LPS Security Violation Trap

lpsViolationTrap       NOTIFICATION-TYPE
    OBJECTS {
      lpsTrapSwitchName,
      lpsTrapSwitchIpAddr,
      lpsTrapSwitchSlice,  --deprecated
      lpsTrapSwitchPort,   --deprecated
      lpsTrapViolatingMac,
      lpsTrapViolationType,
      lpsTrapSwitchVlan,
      systemServicesDate,
      systemServicesTime,
      lpsTrapIfIndex

    }
    STATUS  current
    DESCRIPTION
        "Learned Port Security Violation Trap."
    ::= { alcatelIND1LearnedPortSecurityMIBNotifications 1 }

lpsPortUpAfterLearningWindowExpiredTrap  NOTIFICATION-TYPE
    OBJECTS {
      lpsTrapSwitchName,
      lpsTrapSwitchSlice,  --deprecated
      lpsTrapSwitchPort,   --deprecated
      systemServicesDate,
      systemServicesTime
    }
    STATUS  current
    DESCRIPTION
        "When an LPS port joins or is enabled after the Learning Window is expired,
         the MAC address learning on the port will be disabled, and this trap is
         generated as a notification."
    ::= { alcatelIND1LearnedPortSecurityMIBNotifications 2 }

lpsLearnMac  NOTIFICATION-TYPE
    OBJECTS {
      lpsTrapSwitchName,
      lpsTrapSwitchSlice, --deprecated
      lpsTrapSwitchPort,  --deprecated
      lpsTrapSwitchVlan,
      lpsTrapBridgeMac,
      systemServicesDate,
      systemServicesTime,
      lpsTrapIfIndex

    }
    STATUS  current
    DESCRIPTION
        "When the number of bridged MACs learned goes over the configured threshold value,
        a trap will  be generated for every additional MAC that is learned."
    ::= { alcatelIND1LearnedPortSecurityMIBNotifications 3 }

--
-- Trap objects
--

-- Switch Name
lpsTrapSwitchName        OBJECT-TYPE
    SYNTAX                    SnmpAdminString (SIZE (1..255))
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION               "The name of the switch."
    ::= { lpsTrapsObj 1 }

-- Switch IP
lpsTrapSwitchIpAddr       OBJECT-TYPE
    SYNTAX                IpAddress
    MAX-ACCESS            read-only
    STATUS                current
    DESCRIPTION           "The IP address of switch."
    ::= { lpsTrapsObj 2 }

-- Switch Slice
lpsTrapSwitchSlice      OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION     "The physical slice number for the LPS port on which
                         violation occured. "
    ::= { lpsTrapsObj 3 }

-- Switch Port
lpsTrapSwitchPort       OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION     "The physical port number on which
                         violation occured. "
    ::= { lpsTrapsObj 4 }

-- Violating Mac Address
lpsTrapViolatingMac     OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The violating MAC address. "
    ::= { lpsTrapsObj 5 }

-- Violation Type
lpsTrapViolationType    OBJECT-TYPE
    SYNTAX              INTEGER {
                                 restrict(1),
                                 shutdown(2),
				 discard(3)
                                }
    MAX-ACCESS          read-only
    STATUS              current
    DESCRIPTION         "The type of violation that occured on the LPS port."
    ::= { lpsTrapsObj 6 }

-- Switch VLAN
lpsTrapSwitchVlan       OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The VLAN number on which
                         violation occured. "
    ::= { lpsTrapsObj 7 }

-- Switch Bridge MAC address
lpsTrapBridgeMac       OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS     read-only 
        STATUS          current
        DESCRIPTION     "The Bridge MAC address
                         when learn trap threshold exceeds."
    ::= { lpsTrapsObj 8 }

-- Switch Port IfIndex
lpsTrapIfIndex          OBJECT-TYPE
        SYNTAX          InterfaceIndex
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The ifIndex of the physical port on which
                         violation occured. "
    ::= { lpsTrapsObj 9 }


-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-- COMPLIANCE
-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


alcatelIND1LearnedPortSecurityMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "Compliance statement for Learned Port Security."
    MODULE
        MANDATORY-GROUPS
        {
            learnedPortSecurityGroup,
            learnedPortSecurityGlobGroup,
            learnedPortSecurityTrapsGroup,
            learnedPortSecurityTrapsObjGroup,
            learnedPortSecurityL2MacRangeGroup,
            learnedPortSecuritySAPGroup,
            learnedPortSecuritySAPMacAddressGroup,
            learnedPortSecurityPacketRelayProtocolGroup
        }
    ::= { alcatelIND1LearnedPortSecurityMIBCompliances 1 }


-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-- UNITS OF CONFORMANCE
-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

learnedPortSecurityGroup OBJECT-GROUP
   OBJECTS
   {
        lpsViolationOption,
        lpsMaxMacNum,
        lpsLoMacRange,
        lpsHiMacRange,
        lpsAdminStatus,
        lpsOperStatus,
        lpsRowStatus,
      lpsRelease,
      lpsMaxFilteredMacNum,
      lpsLearnTrapThreshold,
      lpsViolatingMac,
      lpsPacketRelay
   }
   STATUS  current
   DESCRIPTION
        "Collection of objects for learned port security table."
   ::= { alcatelIND1LearnedPortSecurityMIBGroups 1 }

learnedPortSecurityGlobGroup OBJECT-GROUP
   OBJECTS
   {
      lpsLearningWindowTime,
      lpsLearningWindowTimeWithStaticConversion,
      lpsConvertToStatic,
      lpsLearningWindowNoAging,
      lpsLearningWindowBootupStatus,
      lpsLearningWindowTimeRemaining,
      lpsLearningWindowLearnAsStatic,  
      lpsLearningWindowPseudoMacMove
   }
   STATUS  current
   DESCRIPTION
        "Collection of objects for learned port security global group."
   ::= {alcatelIND1LearnedPortSecurityMIBGroups 2 }

learnedPortSecurityTrapsGroup NOTIFICATION-GROUP
   NOTIFICATIONS
   {
       lpsViolationTrap,
       lpsPortUpAfterLearningWindowExpiredTrap,
       lpsLearnMac
   }
   STATUS  current
   DESCRIPTION
        "Collection of notifications for learned port security."
   ::= { alcatelIND1LearnedPortSecurityMIBGroups 3 }

learnedPortSecurityL2MacAddressGroup OBJECT-GROUP
   OBJECTS
   {
      lpsL2MacAddressLearnType,
      lpsAgL2MacAddressLearnType,
      lpsL2MacAddressRowStatus,
      lpsAgL2MacAddressRowStatus
   }
   STATUS  current
   DESCRIPTION
        "Collection of objects for learned port security MacAddress table."
   ::= { alcatelIND1LearnedPortSecurityMIBGroups 4 }


learnedPortSecurityTrapsObjGroup OBJECT-GROUP
   OBJECTS
   {
      lpsTrapSwitchName,
      lpsTrapSwitchIpAddr,
      lpsTrapSwitchSlice,  --deprecated
      lpsTrapSwitchPort,   --deprecated
      lpsTrapViolatingMac,
      lpsTrapViolationType,
      lpsTrapSwitchVlan,
      lpsTrapBridgeMac,
      lpsTrapIfIndex

   }
   STATUS  current
   DESCRIPTION
        "Collection of objects for learned port security Notofocation Object Group."
   ::= { alcatelIND1LearnedPortSecurityMIBGroups 6 }


learnedPortSecurityNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS
   {
        lpsLearnMac
   }
   STATUS  current
   DESCRIPTION
        "Collection of notifications for LPS."
   ::= { alcatelIND1LearnedPortSecurityMIBGroups 7 }

learnedPortSecurityL2MacRangeGroup OBJECT-GROUP
   OBJECTS
   {
      lpsL2HighMacAddress,
      lpsL2MacRangeRowStatus

   }
   STATUS  current
   DESCRIPTION
        "Collection of objects for learned port security L2MacRange table."
   ::= { alcatelIND1LearnedPortSecurityMIBGroups 8 }

learnedPortSecuritySAPGroup OBJECT-GROUP
   OBJECTS
   {
        lpsSAPAdminStatus,            --obsolete
        lpsSAPConvertToStatic,        --obsolete
        lpsSAPLearnTrapThreshold,     --obsolete
        lpsSAPMaxMacNum,              --obsolete
        lpsSAPMaxFilteredMacNum,      --obsolete
        lpsSAPViolationRestrict,      --obsolete
        lpsSAPViolationRecoveryMax,   --obsolete
        lpsSAPViolationRecoveryTime,  --obsolete
        lpsSAPRowStatus,              --obsolete
        lpsSAPViolationClear,         --obsolete
        lpsSAPOperStatus,             --obsolete
        lpsSAPViolatingMac,
        learnedSAPAdminStatus,
        learnedSAPConvertToStatic,
        learnedSAPLearnTrapThreshold,
        learnedSAPMaxMacNum,
        learnedSAPMaxFilteredMacNum,
        learnedSAPViolationRestrict,
        learnedSAPViolationRecoveryMax,
        learnedSAPViolationRecoveryTime,
        learnedSAPRowStatus,
        learnedSAPViolationClear,
        learnedSAPOperStatus,
        learnedSAPViolatingMac
   }
   STATUS  current
   DESCRIPTION
        "Collection of objects for learned port security SAP table."
   ::= { alcatelIND1LearnedPortSecurityMIBGroups 9 }

learnedPortSecuritySAPMacAddressGroup OBJECT-GROUP
   OBJECTS
   {
        lpsSAPL2HighMacAddress,         --obsolete
        lpsSAPMacAddressRowStatus,      --obsolete
        lpsSAPL2MacAddressLearnType,    --obsolete
        lpsSAPHighMacRange,
        lpsSAPMacRangeRowStatus,
        lpsSAPMacStaticRowStatus,
        lpsSAPMacStaticLearnType
   }
   STATUS  current
   DESCRIPTION
        "Collection of objects for learned port security SAP mac address table."
   ::= { alcatelIND1LearnedPortSecurityMIBGroups 10 }

learnedPortSecurityPacketRelayProtocolGroup OBJECT-GROUP
   OBJECTS
   {
        lpsPacketRelayIcmpStatus,
        lpsPacketRelayIgmpStatus,
        lpsPacketRelayUdpStatus,
        lpsPacketRelaySourceUdpPortStart,
        lpsPacketRelaySourceUdpPortEnd,
        lpsPacketRelaySourceUdpStatus,
        lpsPacketRelayDestinationUdpPortStart,
        lpsPacketRelayDestinationUdpPortEnd,
        lpsPacketRelayDestinationUdpStatus
   }
   STATUS  current
   DESCRIPTION
        "Collection of objects for learned port security packet relay protocol table."
   ::= { alcatelIND1LearnedPortSecurityMIBGroups 11 }


END
