Files
Tony MurrayandGitHub 11147d3bbf Major Processors rewrite (#8066)
* Extract DiscoveryItem and move some things to better places.
Extract model class
Fix up model construction.  I have problem with construction...
Makeshift model working.  Switch constructor to factory.  discover() and create()
Support legacy discovery.
Remove uneeded custom pollers
Remove netonix custom detection as we try ucd on all os now.
Add a few yaml procs.  Fix a couple things.
More processor discovery conversions
Move Calix e7 to standard hrProcessorLoad, but it doesn't fully implement the HR-MIB, move things around to make it work.
Add a few yaml procs.  Fix a couple things. Correct some stupid mib stuff.
Move more, drop php 5.3
Add netscaler which uses string indexes.  Port fiberhome to yaml and use skip_values
More conversions.  BroadcomProcessorUsage Trait
Serveriron and Ironware share some mibs.  Create a common abstract os for them.
Add yaml support for mib specification in each data entry
Make legacy discover_processor() set 0 for hrDeviceIndex

Untangle Dell switch OS processors

Use use shared OS for groups if they don't have a specific group.
fix silly mib mistake

Make index optional

Move HR and UCD to Traits and out of Processor.

* forgot to update the fortiswitch index

* Make sgos and avaya-ers match the old index.

* fix comware test data

* fix merge errors

* fix dsm and remove pointless empty modules

* file not found exception is in the wrong place.

* Updated processor development docs
2018-02-05 07:39:13 -06:00

281 lines
9.4 KiB
Plaintext

-- *********************************************************************
-- **
-- ** BATM Advanced Communications.
-- **
-- *********************************************************************
-- ** Filename: PRVT-MAC-SECURITY-MIB.mib
-- ** Project: T-Metro Switches.
-- ** Purpose: Private MIB
-- *********************************************************************
-- (c) Copyright, 2009, BATM Advanced Communications. All rights reserved.
-- WARNING:
--
-- BY UTILIZING THIS FILE, YOU AGREE TO THE FOLLOWING:
--
-- This file is the property of BATM Advanced Communications and contains
-- proprietary and confidential information. This file is made
-- available to authorized BATM customers on the express
-- condition that neither it, nor any of the information contained
-- therein, shall be disclosed to third parties or be used for any
-- purpose other than to replace, modify or upgrade firmware and/or
-- software components of BATM manufactured equipment within the
-- authorized customer's network, and that such transfer be
-- completed in accordance with the instructions provided by
-- BATM. Any other use is strictly prohibited.
--
-- EXCEPT AS RESTRICTED BY LAW, OR AS PROVIDED IN BATM'S LIMITED
-- WARRANTY, THE SOFTWARE PROGRAMS CONTAINED IN THIS FILE ARE
-- PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES
-- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
--
-- IN NO EVENT SHALL BATM BE LIABLE FOR ANY DAMAGES WHATSOEVER
-- INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
-- PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR
-- OTHER CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE, OR INABILITY
-- TO USE, THE SOFTWARE CONTAINED IN THIS FILE.
--
-- ----------------------------------------------------------------------------
PRVT-MAC-SECURITY-MIB DEFINITIONS ::= BEGIN
IMPORTS
switch
FROM PRVT-SWITCH-MIB
MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Unsigned32
FROM SNMPv2-SMI
DisplayString, RowStatus, TEXTUAL-CONVENTION, TruthValue
FROM SNMPv2-TC;
prvtMacSecurityMIB MODULE-IDENTITY
LAST-UPDATED "201003260000Z"
ORGANIZATION
"BATM Advanced Communication"
CONTACT-INFO
"BATM/Telco Systems Support team
Email:
For North America: [email protected]
For North Europe: [email protected], [email protected]
For the rest of the world: [email protected]"
DESCRIPTION
"The MIB module for managing port MAC security."
REVISION "201003260000Z"
DESCRIPTION
"Initial version."
::= { switch 109 }
PrvtMacSecLrnProfileNameType ::= TEXTUAL-CONVENTION
DISPLAY-HINT "30t"
STATUS current
DESCRIPTION
"The name of a learning profile."
SYNTAX OCTET STRING (SIZE(1..30))
PrvtMacSecWatermarkActionType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Action to perform upon reaching the watermark MAC count value."
SYNTAX INTEGER { log(3), trap(4) }
PrvtMacSecSecurityActionType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Action to perform upon reaching the maximum MAC count value."
SYNTAX INTEGER { operationalShutdown(1), trap(2) }
PrvtMacSecPolicyType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Type of policy a MAC security profile may have."
SYNTAX INTEGER { portSecurity(1), portLimit(2) }
PrvtMacSecEntryStateType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The state of a port with regards to MAC count."
SYNTAX INTEGER { noViolation(1), watermarkReached(2),
maxMacCountReached(3), errorState(4) }
prvtMacSecNotifications OBJECT IDENTIFIER
::= { prvtMacSecurityMIB 0 }
prvtMacSecObjects OBJECT IDENTIFIER
::= { prvtMacSecurityMIB 1 }
prvtMacSecLrnProfTable OBJECT-TYPE
SYNTAX SEQUENCE OF PrvtMacSecLrnProfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table of learning profiles.
A learning profile specifies the thresholds, and actions to take with regards to the number of MAC addresses learned."
::= { prvtMacSecObjects 1 }
prvtMacSecLrnProfEntry OBJECT-TYPE
SYNTAX PrvtMacSecLrnProfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry belonging to prvtMacSecLrnProfTable."
INDEX { prvtMacSecLrnProfName }
::= { prvtMacSecLrnProfTable 1 }
PrvtMacSecLrnProfEntry ::= SEQUENCE {
prvtMacSecLrnProfName PrvtMacSecLrnProfileNameType,
prvtMacSecLrnProfRowStatus RowStatus,
prvtMacSecLrnProfPolicy PrvtMacSecPolicyType,
prvtMacSecLrnProfMaxMacCount Unsigned32,
prvtMacSecLrnProfIgnoreFiltered TruthValue,
prvtMacSecLrnProfAction PrvtMacSecSecurityActionType,
prvtMacSecLrnProfWatermarkAction PrvtMacSecWatermarkActionType,
prvtMacSecLrnProfWatermarkCount Unsigned32
}
prvtMacSecLrnProfName OBJECT-TYPE
SYNTAX PrvtMacSecLrnProfileNameType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The name uniquely identifying the learning profile."
::= { prvtMacSecLrnProfEntry 1 }
prvtMacSecLrnProfRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus for this instance."
::= { prvtMacSecLrnProfEntry 2 }
prvtMacSecLrnProfPolicy OBJECT-TYPE
SYNTAX PrvtMacSecPolicyType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of MAC security policy that this learning profile follows."
::= { prvtMacSecLrnProfEntry 3 }
prvtMacSecLrnProfMaxMacCount OBJECT-TYPE
SYNTAX Unsigned32 (1..4096)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Maximum allowed number of MAC addresses to be learned.
This value should be greater than or equal to the watermark MAC count, prvtMacSecLrnProfWatermarkCount."
::= { prvtMacSecLrnProfEntry 4 }
prvtMacSecLrnProfIgnoreFiltered OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"When the violation limit is reached, do not learn violating MACs as filtered, but simply ignore them."
::= { prvtMacSecLrnProfEntry 5 }
prvtMacSecLrnProfAction OBJECT-TYPE
SYNTAX PrvtMacSecSecurityActionType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The action to perform upon reaching the prvtMacSecLrnProfMaxMacCount value."
::= { prvtMacSecLrnProfEntry 6 }
prvtMacSecLrnProfWatermarkAction OBJECT-TYPE
SYNTAX PrvtMacSecWatermarkActionType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The action to perform upon reaching the prvtMacSecLrnProfWatermarkCount value."
::= { prvtMacSecLrnProfEntry 7 }
prvtMacSecLrnProfWatermarkCount OBJECT-TYPE
SYNTAX Unsigned32 (1..4096)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Sets the watermark at which the action specified in prvtMacSecLrnProfWatermarkAction will be taken.
This value should be less than the maximum MAC count, prvtMacSecLrnProfMaxMacCount."
::= { prvtMacSecLrnProfEntry 8 }
prvtMacSecIfTable OBJECT-TYPE
SYNTAX SEQUENCE OF PrvtMacSecIfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table of profiles that have been assigned to each interface."
::= { prvtMacSecObjects 2 }
prvtMacSecIfEntry OBJECT-TYPE
SYNTAX PrvtMacSecIfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry belonging to prvtMacSecIfTable."
INDEX { prvtMacSecIfName }
::= { prvtMacSecIfTable 1 }
PrvtMacSecIfEntry ::= SEQUENCE {
prvtMacSecIfName OCTET STRING,
prvtMacSecIfRowStatus RowStatus,
prvtMacSecIfProfile PrvtMacSecLrnProfileNameType,
prvtMacSecIfCurrMacCount Unsigned32,
prvtMacSecIfState PrvtMacSecEntryStateType
}
prvtMacSecIfName OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Interface name."
::= { prvtMacSecIfEntry 1 }
prvtMacSecIfRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus for this instance."
::= { prvtMacSecIfEntry 2 }
prvtMacSecIfProfile OBJECT-TYPE
SYNTAX PrvtMacSecLrnProfileNameType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The name of a learning profile from prvtMacSecLrnProfTable."
::= { prvtMacSecIfEntry 3 }
prvtMacSecIfCurrMacCount OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current MAC count for this entry."
::= { prvtMacSecIfEntry 4 }
prvtMacSecIfState OBJECT-TYPE
SYNTAX PrvtMacSecEntryStateType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current state of this entry."
::= { prvtMacSecIfEntry 5 }
portSecurityWmarkViolation NOTIFICATION-TYPE
OBJECTS { prvtMacSecIfName }
STATUS current
DESCRIPTION
""
::= { prvtMacSecNotifications 1 }
portSecurityViolation NOTIFICATION-TYPE
OBJECTS { prvtMacSecIfName }
STATUS current
DESCRIPTION
""
::= { prvtMacSecNotifications 2 }
END -- end of module PRVT-MAC-SECURITY-MIB.