-- ***************************************************************** -- DLINKES-PACKET-MONITOR-MIB.mib : Packet Monitoring MIB -- -- Copyright (c) 2013 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKES-PACKET-MONITOR-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, OBJECT-IDENTITY, Unsigned32, Integer32 FROM SNMPv2-SMI DisplayString, RowStatus FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ifIndex, InterfaceIndexOrZero FROM IF-MIB VlanId FROM Q-BRIDGE-MIB dlinkCommon FROM DLINK-ID-REC-MIB; dlinkEsPktMonitorMIB MODULE-IDENTITY LAST-UPDATED "201407210000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO " D-Link Corporation Postal: No. 289, Sinhu 3rd Rd., Neihu District, Taipei City 114, Taiwan, R.O.C Tel: +886-2-66000123 E-mail: tsd@dlink.com.tw " DESCRIPTION "This MIB module defines objects for configuring Monitoring Traffic. Acronyms and terminology: SPAN (Switched Port Analyzer): Mirror network traffic for analysis by a network analyzer. Local-SPAN: The SPAN feature is local when the monitored ports are all located on the same switch as the destination port. RSPAN (Remote SPAN): Source ports and destination ports that are distributed across multiple switches, allowing one to monitor any destination port located on the RSPAN VLAN." REVISION "201407210000Z" DESCRIPTION "Added the esPktMonSessionSrcTxIfStgState for esPktMonSessionSrcTxIfTable." REVISION "201309270000Z" DESCRIPTION "Added the esPktMonSessionRowStatus for esPktMonSessionTable. Modified the MAX-ACCESS(read-write to read-create) for esPktMonSessionDestRemoteVlanId, esPktMonSessionSourceRemoteVlanId and esPktMonSessionDestInterface in esPktMonSessionTable. Added the esPktMonSessionDestRemoteReplaceVlanTable for supporting egress per flow RSPAN VLAN replacement on a RSPAN source switch." REVISION "201303040000Z" DESCRIPTION "This is the first version of the MIB file." ::= { dlinkCommon 12 } -- ----------------------------------------------------------------------------- esPktMonMIBNotifications OBJECT IDENTIFIER ::= { dlinkEsPktMonitorMIB 0 } esPktMonMIBObjects OBJECT IDENTIFIER ::= { dlinkEsPktMonitorMIB 1 } esPktMonMIBConformance OBJECT IDENTIFIER ::= { dlinkEsPktMonitorMIB 2 } -- ----------------------------------------------------------------------------- -- Monitor Session Management -- ----------------------------------------------------------------------------- esPktMonSessionTableCurrEntries OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of entries present in the esPktMonSessionTable." ::= { esPktMonMIBObjects 1 } esPktMonSessionTable OBJECT-TYPE SYNTAX SEQUENCE OF EsPktMonSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table to create a packet monitoring session, allowing packets on source ports or VLAN to be monitored via a destination port." ::= { esPktMonMIBObjects 2 } esPktMonSessionEntry OBJECT-TYPE SYNTAX EsPktMonSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in the esPktMonSessionTable describes configuration information about Packet Monitoring." INDEX { esPktMonSessionID } ::= { esPktMonSessionTable 1 } EsPktMonSessionEntry ::= SEQUENCE { esPktMonSessionID Integer32, esPktMonSessionSessionType INTEGER, esPktMonSessionDestRemoteVlanId Integer32, esPktMonSessionSourceRemoteVlanId Integer32, esPktMonSessionDestInterface InterfaceIndexOrZero, esPktMonSessionRowStatus RowStatus } esPktMonSessionID OBJECT-TYPE SYNTAX Integer32 (1..80) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index value that uniquely identifies the the packet monitoring session associated with this information." ::= { esPktMonSessionEntry 1 } esPktMonSessionSessionType OBJECT-TYPE SYNTAX INTEGER { none(0), localSession(1), remoteSourceSession(2), remoteDestinationSession(3) } MAX-ACCESS read-only STATUS current DESCRIPTION " Indicates the session type of the entry. none (0): Indicates the entry is inactive. localSession (1): Indicates the entry is operating as Local-SPAN. remoteSourceSession (2): Indicates the entry is operating as an RSPAN source session, which associates SPAN source ports or VLANs with a destination RSPAN VLAN. remoteDestinationSession (3): Indicates the entry is operating as an RSPAN destination session. An RSPAN destination session associates an RSPAN VLAN with a destination port." ::= { esPktMonSessionEntry 2 } esPktMonSessionDestRemoteVlanId OBJECT-TYPE SYNTAX Integer32 (0 | 2..4094) MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the RSPAN VLAN ID on the RSPAN source session. This object should be considered in conjunction with the esPktMonSessionDestInterface. When this object is set with valid VLAN ID (2 to 4094), the mirrored packets are transmitted with an RSPAN VLAN tag from the destination port. If this object is set to 0, the destination RSPAN VLAN becomes unspecified, then the mirrored traffic will be transmitted without additional RSPAN VLAN tag." ::= { esPktMonSessionEntry 3 } esPktMonSessionSourceRemoteVlanId OBJECT-TYPE SYNTAX Integer32 (0 | 2..4094) MAX-ACCESS read-create STATUS current DESCRIPTION "Set this object with valid VLAN ID (2 to 4094) for an RSPAN destination session. If this object is set to 0, the source RSPAN VLAN becomes unspecified." ::= { esPktMonSessionEntry 4 } esPktMonSessionDestInterface OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the destination interface of the packet monitoring session. Both physical ports and port channel are valid as destination interfaces of monitor sessions. A value of zero indicates that no interface is associated with this monitoring session." ::= { esPktMonSessionEntry 5 } esPktMonSessionRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row." ::= { esPktMonSessionEntry 6 } -- ----------------------------------------------------------------------------- esPktMonSessionSrcIfObjects OBJECT-IDENTITY STATUS current DESCRIPTION "This object identifier represents the objects that are configured the source interfaces for monitor sessions." ::= { esPktMonMIBObjects 3 } esPktMonSessionSrcRxIfTable OBJECT-TYPE SYNTAX SEQUENCE OF EsPktMonSessionSrcRxIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table consists of a list of source interface on which the packets received for packet monitor sessions. The first index element identifies the esPktMonSessionEntry that a source interface (indicated by second index element) for monitoring receiving packets (esPktMonSessionSrcRxIfEntry) belongs to. An entry is removed from this table when its corresponding esPktMonSessionEntry is deleted. For a monitor session, to add or delete a source receiving interface by creating or removing an entry in this table. The valid interface includes: physical port/port channel/vlan and cpu. " ::= { esPktMonSessionSrcIfObjects 1 } esPktMonSessionSrcRxIfEntry OBJECT-TYPE SYNTAX EsPktMonSessionSrcRxIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in the esPktMonSessionSrcRxIfTable describes the source interface on which the packets received for a monitor session." INDEX { esPktMonSessionID, ifIndex } ::= { esPktMonSessionSrcRxIfTable 1 } EsPktMonSessionSrcRxIfEntry ::= SEQUENCE { esPktMonSessionSrcRxIfRowStatus RowStatus } esPktMonSessionSrcRxIfRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. Use this object to add/remove an interface for a monitor session." ::= { esPktMonSessionSrcRxIfEntry 1 } -- ----------------------------------------------------------------------------- esPktMonSessionSrcTxIfTable OBJECT-TYPE SYNTAX SEQUENCE OF EsPktMonSessionSrcTxIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table consists of a list of source interface on which the packets transmitted for packet monitor sessions. The first index element identifies the esPktMonSessionEntry that a source interface (indicated by second index element) for monitoring transmitting packets (esPktMonSessionSrcTxIfEntry) belongs to. An entry is removed from this table when its corresponding esPktMonSessionEntry is deleted. For a monitor session, to add or delete a source transmitting interface by creating or removing an entry in this table. " ::= { esPktMonSessionSrcIfObjects 2 } esPktMonSessionSrcTxIfEntry OBJECT-TYPE SYNTAX EsPktMonSessionSrcTxIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in the esPktMonSessionSrcTxIfTable describes the source interface on which the packets transmitted for a monitor session." INDEX { esPktMonSessionID, ifIndex } ::= { esPktMonSessionSrcTxIfTable 1 } EsPktMonSessionSrcTxIfEntry ::= SEQUENCE { esPktMonSessionSrcTxIfRowStatus RowStatus, esPktMonSessionSrcTxIfStgState INTEGER } esPktMonSessionSrcTxIfRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. Use this object to add/remove an interface for a monitor session." ::= { esPktMonSessionSrcTxIfEntry 1 } esPktMonSessionSrcTxIfStgState OBJECT-TYPE SYNTAX INTEGER { no-care(1), forwarding(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates if the monitoring of the packets transmitted on the interface will be affected by the interface's STG status. 'no-care' - monitor the packets transmitted on the interface regardless of the interfaces STG status. 'forwarding' - monitor the packets transmitted on the interface only when the interfaces all STGs status are forwarding." DEFVAL { no-care } ::= { esPktMonSessionSrcTxIfEntry 2 } -- ----------------------------------------------------------------------------- esPktMonSessionSrcDropIfTable OBJECT-TYPE SYNTAX SEQUENCE OF EsPktMonSessionSrcDropIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table consists of a list of source interface to monitor the packets which dropped on received port. The first index element identifies the esPktMonSessionEntry that a source interface (indicated by second index element) for monitoring dropped packets (esPktMonSessionSrcDropIfTable) belongs to. An entry is removed from this table when its corresponding esPktMonSessionEntry is deleted. For a monitor session, to add or delete a source interface for monitoring dropped packets by creating or removing an entry in this table. " ::= { esPktMonSessionSrcIfObjects 3 } esPktMonSessionSrcDropIfEntry OBJECT-TYPE SYNTAX EsPktMonSessionSrcDropIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in the esPktMonSessionSrcDropIfTable describes the source interface to monitor the packets which dropped on received port for a monitor session." INDEX { esPktMonSessionID, ifIndex } ::= { esPktMonSessionSrcDropIfTable 1 } EsPktMonSessionSrcDropIfEntry ::= SEQUENCE { esPktMonSessionSrcDropIfRowStatus RowStatus } esPktMonSessionSrcDropIfRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. Use this object to add/remove an interface for a port monitor session." ::= { esPktMonSessionSrcDropIfEntry 1 } -- ----------------------------------------------------------------------------- -- Configuring ACL for Monitor Session -- ----------------------------------------------------------------------------- esPktMonSessionSrcAclTable OBJECT-TYPE SYNTAX SEQUENCE OF EsPktMonSessionSrcAclEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing associations between ACL and monitor session." ::= { esPktMonMIBObjects 4 } esPktMonSessionSrcAclEntry OBJECT-TYPE SYNTAX EsPktMonSessionSrcAclEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry representing an access list association to a monitor session." INDEX { esPktMonSessionID, esPktMonSessionSrcAclName } ::= { esPktMonSessionSrcAclTable 1 } EsPktMonSessionSrcAclEntry ::= SEQUENCE { esPktMonSessionSrcAclName DisplayString, esPktMonSessionSrcAclRowStatus RowStatus } esPktMonSessionSrcAclName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicates the name of an access list for flow based monitoring. Multiple access lists can be monitored on a session at a time. " ::= {esPktMonSessionSrcAclEntry 1} esPktMonSessionSrcAclRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row." ::= { esPktMonSessionSrcAclEntry 2 } -- ----------------------------------------------------------------------------- -- Configuring global RSPAN VLAN -- ----------------------------------------------------------------------------- esPktMonRspanVlanTable OBJECT-TYPE SYNTAX SEQUENCE OF EsPktMonRspanVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing RSPAN VLAN information on the VLANs which currently configured as RSPAN VLAN." ::= { esPktMonMIBObjects 5 } esPktMonRspanVlanEntry OBJECT-TYPE SYNTAX EsPktMonRspanVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in the esPktMonRspanVlanTable indicates the VLAN is configured as RSPAN VLAN. An entry is created/removed when RSPAN VLAN is enabled or disabled at the VLAN via CLI or by issuing appropriate sets to this table using snmp." INDEX { esPktMonRspanVlanId } ::= { esPktMonRspanVlanTable 1 } EsPktMonRspanVlanEntry ::= SEQUENCE { esPktMonRspanVlanId VlanId, esPktMonRspanVlanRowStatus RowStatus } esPktMonRspanVlanId OBJECT-TYPE SYNTAX VlanId MAX-ACCESS not-accessible STATUS current DESCRIPTION "The VLAN number. When a VLAN is specified as an RSPAN VLAN, the MAC address learning on the RSPAN VLAN is disabled." ::= { esPktMonRspanVlanEntry 1 } esPktMonRspanVlanRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row." ::= { esPktMonRspanVlanEntry 2 } -- ----------------------------------------------------------------------------- -- Configuring Egress Replace RSPAN VLAN for Monitor Session -- ----------------------------------------------------------------------------- esPktMonSessionDestRemoteReplaceVlanTable OBJECT-TYPE SYNTAX SEQUENCE OF EsPktMonSessionDestRemoteReplaceVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing associations between replace RSPAN VLAN egress per flow and monitor session. For a RSPAN source session, multiple flows of VLAN replacement can be configured." ::= { esPktMonMIBObjects 6 } esPktMonSessionDestRemoteReplaceVlanEntry OBJECT-TYPE SYNTAX EsPktMonSessionDestRemoteReplaceVlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry representing an access list and replace VLAN association to a monitor session." INDEX { esPktMonSessionID, esPktMonSessionDestRemoteAccessListName, esPktMonSessionDestRemoteReplaceVlanId } ::= { esPktMonSessionDestRemoteReplaceVlanTable 1 } EsPktMonSessionDestRemoteReplaceVlanEntry ::= SEQUENCE { esPktMonSessionDestRemoteAccessListName DisplayString, esPktMonSessionDestRemoteReplaceVlanId VlanId, esPktMonSessionDestRemoteReplaceVlanRowStatus RowStatus } esPktMonSessionDestRemoteAccessListName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicates the name of an access list for egress per flow RSPAN VLAN replacement." ::= {esPktMonSessionDestRemoteReplaceVlanEntry 1} esPktMonSessionDestRemoteReplaceVlanId OBJECT-TYPE SYNTAX VlanId MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indicates the VLAN ID used to replace RSPAN VLAN ID for the matched flow of packets transmitted out from the destination interface on a RSPAN source switch." ::= {esPktMonSessionDestRemoteReplaceVlanEntry 2} esPktMonSessionDestRemoteReplaceVlanRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row." ::= { esPktMonSessionDestRemoteReplaceVlanEntry 3 } -- ----------------------------------------------------------------------------- -- MIB Conformance statements -- ----------------------------------------------------------------------------- esPktMonMIBCompliances OBJECT IDENTIFIER ::= { esPktMonMIBConformance 1 } esPktMonMIBGroups OBJECT IDENTIFIER ::= { esPktMonMIBConformance 2 } esPktMonMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the DLINKES-PACKET-MONITOR-MIB." MODULE -- this module MANDATORY-GROUPS { esPktMonBasicGroup } GROUP esPktMonRspanGroup DESCRIPTION "The group is required when the RSPAN is supported." GROUP esPktMonFlowBasedMirrorGroup DESCRIPTION "The group is required when the flow based mirror is supported." GROUP esPktMonMonitorDropPktGroup DESCRIPTION "The group is required when the monitoring dropped packets is supported." GROUP esPktMonDestRemoteReplaceVlanGroup DESCRIPTION "The group is required when the egress per flow RSPAN VLAN replacement is supported." ::= { esPktMonMIBCompliances 1 } esPktMonBasicGroup OBJECT-GROUP OBJECTS { esPktMonSessionTableCurrEntries, esPktMonSessionDestInterface, esPktMonSessionRowStatus, esPktMonSessionSrcRxIfRowStatus, esPktMonSessionSrcTxIfRowStatus } STATUS current DESCRIPTION "A collection of objects providing basic packet monitoring configuration." ::= { esPktMonMIBGroups 1 } esPktMonRspanGroup OBJECT-GROUP OBJECTS { esPktMonSessionSessionType, esPktMonSessionDestRemoteVlanId, esPktMonSessionSourceRemoteVlanId, esPktMonRspanVlanRowStatus } STATUS current DESCRIPTION "A collection of objects providing RSPAN configuration." ::= { esPktMonMIBGroups 2 } esPktMonFlowBasedMirrorGroup OBJECT-GROUP OBJECTS { esPktMonSessionSrcAclRowStatus } STATUS current DESCRIPTION "A collection of objects providing flow based mirroring configuration." ::= { esPktMonMIBGroups 3 } esPktMonMonitorDropPktGroup OBJECT-GROUP OBJECTS { esPktMonSessionSrcDropIfRowStatus } STATUS current DESCRIPTION "A collection of objects provides the configuration for monitoring dropped packets on source interfaces. " ::= { esPktMonMIBGroups 4 } esPktMonDestRemoteReplaceVlanGroup OBJECT-GROUP OBJECTS { esPktMonSessionDestRemoteReplaceVlanRowStatus } STATUS current DESCRIPTION "A collection of objects provides the configuration for performing egress per flow RSPAN VLAN replacement on a RSPAN source switch." ::= { esPktMonMIBGroups 5 } END