RFC: a MIB for a SNMP vlan monitoring module
Shteryana Shopova
syrinx at FreeBSD.org
Tue Jan 9 09:04:12 PST 2007
Hi all,
Work is about to start on a vlan monitoring module for bsnmpd(1) - I'm
attaching the private BEGEMOT MIB that the module will implement. Any
comments or suggestions are very welcome.
Cheers,
Shteryana
-------------- next part --------------
--
-- Copyright (C) 2007 Shteryana Shopova <syrinx at FreeBSD.org>
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
-- modification, are permitted provided that the following conditions
-- are met:
-- 1. Redistributions of source code must retain the above copyright
-- notice, this list of conditions and the following disclaimer.
-- 2. Redistributions in binary form must reproduce the above copyright
-- notice, this list of conditions and the following disclaimer in the
-- documentation and/or other materials provided with the distribution.
--
-- THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-- ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-- SUCH DAMAGE.
--
-- $FreeBSD$
--
BEGEMOT-VLAN-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Counter32, Integer32, TimeTicks, mib-2
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, MacAddress, TruthValue, RowStatus
FROM SNMPv2-TC
InterfaceIndex FROM IF-MIB
Timeout FROM BRIDGE-MIB
VlanId FROM Q-BRIDGE-MIB
EnabledStatus FROM P-BRIDGE-MIB
begemot
FROM BEGEMOT-MIB;
begemotVlan MODULE-IDENTITY
LAST-UPDATED "200701090000Z"
ORGANIZATION "Sofia University St. Kliment Ohridski"
CONTACT-INFO
"
Shteryana Shopova
Postal: Faculty of Mathematics and Informatics
5 James Bourchier Blvd.
1164 Sofia
Bulgaria
Fax: +359 2 687 180
E-Mail: syrinx at FreeBSD.org"
DESCRIPTION
"The Begemot MIB for managing vlan interfaces."
REVISION "200701090000Z"
DESCRIPTION
"Initial revision."
::= { begemot 206 }
-- ---------------------------------------------------------- --
BegemotVlanBitMap ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Each octet within this value specifies a set of eight
VlanIds, with the first octet specifying VlanIds 1 through
8, the second octet specifying VlanIds 9 through 16, etc.
Within each octet, the most significant bit represents
the smallest VlanId, and the least significant bit
represents the biggest VlanId. Thus, each VlanId that can
be represented by a 12-bit Integer is represented by a
single bit within the value of this object. If that bit
has a value of '1' then that VlanId is included in the set
of VlanIds; the VlanId is not included if its bit has a
value of '0'."
SYNTAX OCTET STRING (SIZE(512))
-- ---------------------------------------------------------- --
-- subtrees in the Begemot Vlan MIB
-- ---------------------------------------------------------- --
begemotVlanConfig OBJECT IDENTIFIER ::= { begemotVlan 1 }
begemotVlanTrunks OBJECT IDENTIFIER ::= { begemotVlan 2 }
begemotVlanInterfaces OBJECT IDENTIFIER ::= { begemotVlan 3 }
begemotVlanStatistics OBJECT IDENTIFIER ::= { begemotVlan 4 }
-- ---------------------------------------------------------- --
-- the begemotVlanConfig objects
-- ---------------------------------------------------------- --
begemotVlanMaxId OBJECT-TYPE
SYNTAX VlanId
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum IEEE 802.1Q VLAN ID that the system
supports."
::= { begemotVlanConfig 1 }
begemotVlanNumVlans OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current number of vlan interfaces on the system."
::= { begemotVlanConfig 2 }
begemotVlanDataPoll OBJECT-TYPE
SYNTAX Timeout (1..3600)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The polling rate of data when the module is idle."
DEFVAL { 300 }
::= { begemotVlanConfig 3 }
begemotVlanSoftPad OBJECT-TYPE
SYNTAX EnabledStatus
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The value of this object indicates whether padding
of short frames before tagging them is enabled."
::= { begemotVlanConfig 4 }
-- ---------------------------------------------------------- --
-- the begemot Vlan Trunk table
-- ---------------------------------------------------------- --
begemotVlanTrunkTable OBJECT-TYPE
SYNTAX SEQUENCE OF BegemotVlanTrunkEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table that contains information about physical
interfaces that are configured to demultiplex tagged
frames."
::= { begemotVlanTrunks 1 }
begemotVlanTrunkEntry OBJECT-TYPE
SYNTAX BegemotVlanTrunkEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of information about physical interfaces that
are configured to demultiplex tagged frames."
INDEX { begemotVlanTrunkIndex }
::= { begemotVlanTrunkTable 1 }
BegemotVlanTrunkEntry ::= SEQUENCE {
begemotVlanTrunkIndex InterfaceIndex,
begemotVlanParentIfName OCTET STRING,
begemotVlanParentIfHwTagSupported TruthValue,
begemotVlanParentIfHwTagEnabled EnabledStatus,
begemotVlanParentIfHwMtuSupported TruthValue,
begemotVlanParentIfHwMtuEnabled EnabledStatus,
begemotVlanTrunkMembers INTEGER,
begemotVlanTrunkMemberVids BegemotVlanBitMap
}
begemotVlanTrunkIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the instance of the ifIndex object, defined
in IF-MIB, for the parent interface corresponding to this
vlan trunk."
::= { begemotVlanTrunkEntry 1 }
-- begemotVlanParentIfName object is redundant since its value can
-- be obtained by a SNMP client by invoking a GET on the ifName
-- object with an index of the corresponding value of
-- begemotVlanTrunkIndex, but is included for convenience.
begemotVlanParentIfName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(1..16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the instance of the ifName object, defined
in IF-MIB, for the parent interface corresponding to this
vlan trunk."
::= { begemotVlanTrunkEntry 2 }
begemotVlanParentIfHwTagSupported OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of this object indicates whether the parent
interface of the vlan trunk supports vlan tagging
natively."
::= { begemotVlanTrunkEntry 3 }
begemotVlanParentIfHwTagEnabled OBJECT-TYPE
SYNTAX EnabledStatus
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The value of this object indicates whether the parent
interface of the vlan trunk is configured to do vlan
tagging natively."
::= { begemotVlanTrunkEntry 4 }
begemotVlanParentIfHwMtuSupported OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of this object indicates whether the parent
interface of the vlan trunk supports oversized frames
natively."
::= { begemotVlanTrunkEntry 5 }
begemotVlanParentIfHwMtuEnabled OBJECT-TYPE
SYNTAX EnabledStatus
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The value of this object indicates whether the parent
interface of the vlan trunk is configured to receive
extended frames in hardware."
::= { begemotVlanTrunkEntry 6 }
begemotVlanTrunkMembers OBJECT-TYPE
SYNTAX INTEGER (1..4096)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of vlan interfaces currently belonging to
this trunk."
::= { begemotVlanTrunkEntry 7 }
begemotVlanTrunkMemberVids OBJECT-TYPE
SYNTAX BegemotVlanBitMap
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The set of VlanIds for which a frame, containing one
of these is being proccessed rather than discared by the
parent interface of the vlan trunk."
::= { begemotVlanTrunkEntry 8 }
-- ---------------------------------------------------------- --
-- the begemot Vlan interfaces table
-- ---------------------------------------------------------- --
begemotVlanInterfaceTable OBJECT-TYPE
SYNTAX SEQUENCE OF BegemotVlanInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table containing of information for the vlan
interfaces on the managed device."
::= { begemotVlanInterfaces 1 }
begemotVlanInterfaceEntry OBJECT-TYPE
SYNTAX BegemotVlanInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of information for the vlan interfaces on
the managed device."
INDEX { begemotVlanTrunkIndex, begemotVlanIfName }
::= { begemotVlanInterfaceTable 1 }
BegemotVlanInterfaceEntry ::= SEQUENCE {
begemotVlanIfName OCTET STRING,
begemotVlanIfVid INTEGER,
begemotVlanIfProto INTEGER,
begemotVlanIfStatus RowStatus,
begemotVlanIfEncaplen INTEGER,
begemotVlanIfMtuFudge INTEGER,
begemotVlanIfMinTU INTEGER
}
begemotVlanIfName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(1..16))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The name of the vlan interface."
::= { begemotVlanInterfaceEntry 1 }
begemotVlanIfVid OBJECT-TYPE
SYNTAX INTEGER (1..4095)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The vlan tag that is applied on packets leaving
this interface."
::= { begemotVlanInterfaceEntry 2 }
begemotVlanIfProto OBJECT-TYPE
SYNTAX INTEGER (1..65535)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The encapsulation ethertype that is applied on
packets leaving this interface."
::= { begemotVlanInterfaceEntry 3 }
begemotVlanIfStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used to create/destroy vlan interfaces on the
managed device."
::= { begemotVlanInterfaceEntry 4 }
begemotVlanIfEncaplen OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The length of encapsulation data that is applied on
packets leaving this interface."
::= { begemotVlanInterfaceEntry 5 }
begemotVlanIfMtuFudge OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The value by which the MTU is reduced on the parent
interface of this vlan interface."
::= { begemotVlanInterfaceEntry 6 }
begemotVlanIfMinTU OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The minumum transmission unit of the vlan interface."
::= { begemotVlanInterfaceEntry 7 }
-- ---------------------------------------------------------- --
-- the begemot Vlan interface statistics table
-- ---------------------------------------------------------- --
begemotVlanIfStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF BegemotVlanIfStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table containing statistics for the vlan
interfaces on the managed device."
::= { begemotVlanStatistics 1 }
begemotVlanIfStatsEntry OBJECT-TYPE
SYNTAX BegemotVlanIfStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of statistics for a vlan interface on
the managed device."
AUGMENTS { begemotVlanInterfaceEntry }
::= { begemotVlanIfStatsTable 1 }
BegemotVlanIfStatsEntry ::= SEQUENCE {
begemotVlanIfInFrames Counter32,
begemotVlanIfOutFrames Counter32,
begemotVlanIfInDiscards Counter32,
begemotVlanIfInOverflowFrames Counter32,
begemotVlanIfOutOverflowFrames Counter32,
begemotVlanIfInOverflowDiscards Counter32
}
begemotVlanIfInFrames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of valid frames received on this
vlan interface which were classified as belonging
to this VLAN."
::= { begemotVlanIfStatsEntry 1 }
begemotVlanIfOutFrames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of valid frames transmitted by this
vlan interface."
::= { begemotVlanIfStatsEntry 2 }
begemotVlanIfInDiscards OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of valid frames received on this
vlan interface which were classified as belonging
to this VLAN but were discarded."
::= { begemotVlanIfStatsEntry 3 }
begemotVlanIfInOverflowFrames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
begemotVlanIfInFrames counter has overflowed."
::= { begemotVlanIfStatsEntry 4 }
begemotVlanIfOutOverflowFrames OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
begemotVlanIfOutFrames counter has overflowed."
::= { begemotVlanIfStatsEntry 5 }
begemotVlanIfInOverflowDiscards OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the associated
begemotVlanIfInDiscards counter has overflowed."
::= { begemotVlanIfStatsEntry 6 }
END
More information about the freebsd-net
mailing list