1--
2-- Copyright (C) 2006 Shteryana Shopova <syrinx@FreeBSD.org>
3-- All rights reserved.
4--
5-- Redistribution and use in source and binary forms, with or without
6-- modification, are permitted provided that the following conditions
7-- are met:
8-- 1. Redistributions of source code must retain the above copyright
9--    notice, this list of conditions and the following disclaimer.
10-- 2. Redistributions in binary form must reproduce the above copyright
11--    notice, this list of conditions and the following disclaimer in the
12--    documentation and/or other materials provided with the distribution.
13--
14-- THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17-- ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
18-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24-- SUCH DAMAGE.
25--
26-- $FreeBSD$
27--
28
29BEGEMOT-BRIDGE-MIB DEFINITIONS ::= BEGIN
30
31IMPORTS
32    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
33    Counter32, Integer32, TimeTicks, mib-2
34	FROM SNMPv2-SMI
35    TEXTUAL-CONVENTION, MacAddress, TruthValue, RowStatus
36	FROM SNMPv2-TC
37    BridgeId, Timeout
38	FROM BRIDGE-MIB
39    InterfaceIndex FROM IF-MIB
40    begemot
41	FROM BEGEMOT-MIB;
42
43begemotBridge MODULE-IDENTITY
44    LAST-UPDATED "200708060000Z"
45    ORGANIZATION "Sofia University St. Kliment Ohridski"
46    CONTACT-INFO
47	    "		Shteryana Shopova
48
49	     Postal:	Faculty of Mathematics and Informatics
50			5 James Bourchier Blvd.
51			1164 Sofia
52			Bulgaria
53
54	     Fax:	+359 2 687 180
55
56	     E-Mail:	syrinx@FreeBSD.org"
57    DESCRIPTION
58	    "The Begemot MIB for managing bridge interfaces."
59    REVISION     "200708060000Z"
60    DESCRIPTION
61	     "Third revision adds begemotBridgeBasePortPrivate
62	     object."
63    REVISION     "200611210000Z"
64    DESCRIPTION
65	     "Second revision adds support for monitoring RSTP
66	     specific variables."
67    REVISION     "200607270000Z"
68    DESCRIPTION
69	    "Initial revision."
70    ::= { begemot 205 }
71
72-- ---------------------------------------------------------- --
73BridgeIfName ::= TEXTUAL-CONVENTION
74    DISPLAY-HINT "16a"
75    STATUS	current
76    DESCRIPTION
77	"Name of a bridge interface."
78    SYNTAX	OCTET STRING (SIZE(1..16))
79
80BridgeIfNameOrEmpty ::= TEXTUAL-CONVENTION
81    DISPLAY-HINT "16a"
82    STATUS	current
83    DESCRIPTION
84	"Name of a bridge interface."
85    SYNTAX	OCTET STRING (SIZE(0..16))
86
87BridgePortId ::= TEXTUAL-CONVENTION
88    DISPLAY-HINT "1x.1x"
89    STATUS	current
90    DESCRIPTION
91	"A port identifier that contains a bridge port's STP priority
92	in the first octet and the port number in the second octet."
93    SYNTAX	OCTET STRING (SIZE(2))
94
95-- ---------------------------------------------------------- --
96-- subtrees in the Begemot Bridge MIB
97-- ---------------------------------------------------------- --
98begemotBridgeNotifications	OBJECT IDENTIFIER ::= { begemotBridge 0 }
99
100begemotBridgeBase		OBJECT IDENTIFIER ::= { begemotBridge 1 }
101
102begemotBridgeStp		OBJECT IDENTIFIER ::= { begemotBridge 2 }
103
104begemotBridgeTp			OBJECT IDENTIFIER ::= { begemotBridge 3 }
105
106begemotBridgePf			OBJECT IDENTIFIER ::= { begemotBridge 4 }
107
108begemotBridgeConfigObjects	OBJECT IDENTIFIER ::= { begemotBridge 5 }
109
110-- ---------------------------------------------------------- --
111-- the base Bridge interface table
112-- ---------------------------------------------------------- --
113
114begemotBridgeBaseTable OBJECT-TYPE
115    SYNTAX	SEQUENCE OF BegemotBridgeBaseEntry
116    MAX-ACCESS	not-accessible
117    STATUS	current
118    DESCRIPTION
119	"A table that contains generic information for each
120	bridge interface on the managed device."
121    ::= { begemotBridgeBase 1 }
122
123begemotBridgeBaseEntry OBJECT-TYPE
124    SYNTAX	BegemotBridgeBaseEntry
125    MAX-ACCESS	not-accessible
126    STATUS	current
127    DESCRIPTION
128	"A list of information for the bridge interfaces on
129	the managed device."
130    INDEX  { begemotBridgeBaseName }
131    ::= { begemotBridgeBaseTable 1 }
132
133BegemotBridgeBaseEntry ::= SEQUENCE {
134    begemotBridgeBaseName			BridgeIfName,
135    begemotBridgeBaseAddress			MacAddress,
136    begemotBridgeBaseNumPorts			Integer32,
137    begemotBridgeBaseType			INTEGER,
138    begemotBridgeBaseStatus			RowStatus
139}
140
141begemotBridgeBaseName OBJECT-TYPE
142    SYNTAX	BridgeIfName
143    MAX-ACCESS	read-only
144    STATUS	current
145    DESCRIPTION
146	"The name of the bridge interface for which this
147	entry contains management information."
148    ::= { begemotBridgeBaseEntry 1 }
149
150begemotBridgeBaseAddress OBJECT-TYPE
151    SYNTAX	MacAddress
152    MAX-ACCESS	read-only
153    STATUS	current
154    DESCRIPTION
155	"The MAC address of the bridge interface."
156    ::= { begemotBridgeBaseEntry 2 }
157
158begemotBridgeBaseNumPorts OBJECT-TYPE
159    SYNTAX	Integer32
160    MAX-ACCESS	read-only
161    STATUS	current
162    DESCRIPTION
163	"The number of ports, members of this bridge."
164    ::= { begemotBridgeBaseEntry 3 }
165
166begemotBridgeBaseType OBJECT-TYPE
167    SYNTAX	INTEGER {
168		    unknown(1),
169		    transparent-only(2),
170		    sourceroute-only(3),
171		    srt(4)
172		}
173    MAX-ACCESS	read-only
174    STATUS	current
175    DESCRIPTION
176	"Indicates what type of bridging this bridge can
177	perform."
178    ::= { begemotBridgeBaseEntry 4 }
179
180begemotBridgeBaseStatus OBJECT-TYPE
181    SYNTAX	RowStatus
182    MAX-ACCESS	read-create
183    STATUS	current
184    DESCRIPTION
185	"Used to create/destroy bridge interfaces on the
186	managed device."
187    ::= { begemotBridgeBaseEntry 5 }
188
189-- ---------------------------------------------------------- --
190-- the base Bridge ports table
191-- ---------------------------------------------------------- --
192
193begemotBridgeBasePortTable OBJECT-TYPE
194    SYNTAX	SEQUENCE OF BegemotBridgeBasePortEntry
195    MAX-ACCESS	not-accessible
196    STATUS	current
197    DESCRIPTION
198	"A table containing generic information about ports,
199	members of each bridge interface."
200    ::= { begemotBridgeBase 2 }
201
202begemotBridgeBasePortEntry OBJECT-TYPE
203    SYNTAX	BegemotBridgeBasePortEntry
204    MAX-ACCESS	not-accessible
205    STATUS	current
206    DESCRIPTION
207	"A list of information about a specific port, member of
208	a bridge interface."
209    INDEX { begemotBridgeBaseName, begemotBridgeBasePortIfIndex }
210    ::= { begemotBridgeBasePortTable 1 }
211
212BegemotBridgeBasePortEntry  ::= SEQUENCE {
213    begemotBridgeBasePort			Integer32,
214    begemotBridgeBasePortIfIndex		InterfaceIndex,
215    begemotBridgeBaseSpanEnabled		INTEGER,
216    begemotBridgeBasePortDelayExceededDiscards	Counter32,
217    begemotBridgeBasePortMtuExceededDiscards	Counter32,
218    begemotBridgeBasePortStatus			RowStatus,
219    begemotBridgeBasePortPrivate		TruthValue
220}
221
222begemotBridgeBasePort OBJECT-TYPE
223    SYNTAX	Integer32 (1..65535)
224    MAX-ACCESS	read-only
225    STATUS	current
226    DESCRIPTION
227	"The system interface index of the interface corresponding
228	to this port."
229    ::= { begemotBridgeBasePortEntry 1 }
230
231begemotBridgeBasePortIfIndex OBJECT-TYPE
232    SYNTAX	InterfaceIndex
233    MAX-ACCESS	read-only
234    STATUS	current
235    DESCRIPTION
236	"The value of the instance of the ifIndex object,
237	defined in IF-MIB, for the interface corresponding
238	to this port."
239    ::= { begemotBridgeBasePortEntry 2 }
240
241begemotBridgeBaseSpanEnabled OBJECT-TYPE
242    SYNTAX	INTEGER {
243		    enabled(1),
244		    disabled(2)
245		}
246    MAX-ACCESS	read-write
247    STATUS	current
248    DESCRIPTION
249	"The value of this objects reflects whether the port
250	is a span port on the specified bridge interface."
251    ::= { begemotBridgeBasePortEntry 3 }
252
253begemotBridgeBasePortDelayExceededDiscards OBJECT-TYPE
254    SYNTAX	Counter32
255    MAX-ACCESS	read-only
256    STATUS	current
257    DESCRIPTION
258	"The number of frames discarded by this port due
259	to excessive transit delay through the bridge."
260    ::= { begemotBridgeBasePortEntry 4 }
261
262begemotBridgeBasePortMtuExceededDiscards OBJECT-TYPE
263    SYNTAX	Counter32
264    MAX-ACCESS	read-only
265    STATUS	current
266    DESCRIPTION
267	"The number of frames discarded by this port due
268	to an excessive size."
269    ::= { begemotBridgeBasePortEntry 5 }
270
271begemotBridgeBasePortStatus OBJECT-TYPE
272    SYNTAX	RowStatus
273    MAX-ACCESS	read-create
274    STATUS	current
275    DESCRIPTION
276	"Used to control addition of member ports to or
277	removal of member ports from a specified bridge."
278    ::= { begemotBridgeBasePortEntry 6 }
279
280begemotBridgeBasePortPrivate OBJECT-TYPE
281    SYNTAX		TruthValue
282    MAX-ACCESS		read-write
283    STATUS		current
284    DESCRIPTION
285	"The value of this objects reflects whether the port
286	has a PRIVATE flag set. A port with this flags set
287	can only communicate with ports not having the
288	PRIVATE flag set."
289    ::= { begemotBridgeBasePortEntry 7 }
290
291-- ---------------------------------------------------------- --
292-- the Bridge interface STP table
293-- ---------------------------------------------------------- --
294
295begemotBridgeStpTable OBJECT-TYPE
296    SYNTAX	SEQUENCE OF BegemotBridgeStpEntry
297    MAX-ACCESS	not-accessible
298    STATUS	current
299    DESCRIPTION
300	"A table that contains Spanning Tree Protocol information
301	for each bridge interface on the managed device."
302    ::= { begemotBridgeStp 1 }
303
304begemotBridgeStpEntry OBJECT-TYPE
305    SYNTAX	BegemotBridgeStpEntry
306    MAX-ACCESS	not-accessible
307    STATUS	current
308    DESCRIPTION
309	"A list of information about the Spanning Tree Protocol
310	operation on a bridge interface."
311    AUGMENTS { begemotBridgeBaseEntry }
312    ::= { begemotBridgeStpTable 1 }
313
314BegemotBridgeStpEntry ::= SEQUENCE {
315    begemotBridgeStpProtocolSpecification		INTEGER,
316    begemotBridgeStpPriority				Integer32,
317    begemotBridgeStpTimeSinceTopologyChange		TimeTicks,
318    begemotBridgeStpTopChanges				Counter32,
319    begemotBridgeStpDesignatedRoot			BridgeId,
320    begemotBridgeStpRootCost				Integer32,
321    begemotBridgeStpRootPort				Integer32,
322    begemotBridgeStpMaxAge				Timeout,
323    begemotBridgeStpHelloTime				Timeout,
324    begemotBridgeStpHoldTime				Integer32,
325    begemotBridgeStpForwardDelay			Timeout,
326    begemotBridgeStpBridgeMaxAge			Timeout,
327    begemotBridgeStpBridgeHelloTime			Timeout,
328    begemotBridgeStpBridgeForwardDelay			Timeout,
329    begemotBridgeStpVersion				INTEGER,
330    begemotBridgeStpTxHoldCount				Integer32
331}
332
333begemotBridgeStpProtocolSpecification OBJECT-TYPE
334    SYNTAX	INTEGER {
335		    unknown(1),
336		    decLb100(2),
337		    ieee8021d(3)
338		}
339    MAX-ACCESS	read-only
340    STATUS	current
341    DESCRIPTION
342	"The Spanning Tree Protocol version being run on the
343	bridge interface. The value 'decLb100(2)' indicates the
344	DEC LANbridge 100 Spanning Tree protocol, 'ieee8021d(3)'
345	indicates the bridge is running IEEE 802.1D STP
346	implementation."
347    ::= { begemotBridgeStpEntry 1 }
348
349begemotBridgeStpPriority OBJECT-TYPE
350    SYNTAX	Integer32 (0..65535)
351    MAX-ACCESS	read-write
352    STATUS	current
353    DESCRIPTION
354	"The priority value of the bridge interface forming the
355	first two octets of the bridge identifier. Acceptable
356	values are 0-61440, in steps of 4096."
357    ::= { begemotBridgeStpEntry 2 }
358
359begemotBridgeStpTimeSinceTopologyChange OBJECT-TYPE
360    SYNTAX	TimeTicks
361    UNITS	"centi-seconds"
362    MAX-ACCESS	read-only
363    STATUS	current
364    DESCRIPTION
365	"The time (in hundreds of a second) since a topology change
366	was last detected by this bridge."
367    ::= { begemotBridgeStpEntry 3 }
368
369begemotBridgeStpTopChanges OBJECT-TYPE
370    SYNTAX	Counter32
371    MAX-ACCESS	read-only
372    STATUS	current
373    DESCRIPTION
374	"The number of times a topology change was detected by the
375	bridge interface since the management entity was initialized
376	or reset."
377    ::= { begemotBridgeStpEntry 4 }
378
379begemotBridgeStpDesignatedRoot OBJECT-TYPE
380    SYNTAX	BridgeId
381    MAX-ACCESS	read-only
382    STATUS	current
383    DESCRIPTION
384	"The bridge identifier of the root of the spanning tree as
385	calculated by the Spanning Tree Protocol."
386    ::= { begemotBridgeStpEntry 5 }
387
388begemotBridgeStpRootCost OBJECT-TYPE
389    SYNTAX	Integer32
390    MAX-ACCESS	read-only
391    STATUS	current
392    DESCRIPTION
393	"The cost of the path from this bridge to the root bridge."
394    ::= { begemotBridgeStpEntry 6 }
395
396begemotBridgeStpRootPort OBJECT-TYPE
397    SYNTAX	Integer32
398    MAX-ACCESS	read-only
399    STATUS	current
400    DESCRIPTION
401	"The port number of the port that offers the lowest
402	cost path from this bridge to the root bridge of
403	the spanning tree. If this bridge is the root bridge,
404	this object shall have a value of zero."
405    ::= { begemotBridgeStpEntry 7 }
406
407begemotBridgeStpMaxAge OBJECT-TYPE
408    SYNTAX	Timeout
409    UNITS	"centi-seconds"
410    MAX-ACCESS	read-only
411    STATUS	current
412    DESCRIPTION
413	"The maximum age of Spanning Tree Protocol information
414	received from the network on any port, before that
415	information is discarded. This is the actual value that
416	the bridge is currently using."
417    ::= { begemotBridgeStpEntry 8 }
418
419begemotBridgeStpHelloTime OBJECT-TYPE
420    SYNTAX	Timeout
421    UNITS	"centi-seconds"
422    MAX-ACCESS	read-only
423    STATUS	current
424    DESCRIPTION
425	"The amount of time between transmission of
426	Configuration BPDUs by this bridge on any port,
427	when it is the root of the spanning tree or is
428	trying to become so. This is the actual value that
429	this bridge is currently using."
430    ::= { begemotBridgeStpEntry 9 }
431
432begemotBridgeStpHoldTime OBJECT-TYPE
433    SYNTAX	Integer32
434    UNITS	"centi-seconds"
435    MAX-ACCESS	read-only
436    STATUS	current
437    DESCRIPTION
438	"This time value determines the interval length
439	during which no more than two Configuration BPDUs
440	shall be transmitted by this node, in units of
441	hundredths of a second."
442    ::= { begemotBridgeStpEntry 10 }
443
444begemotBridgeStpForwardDelay OBJECT-TYPE
445    SYNTAX	Timeout
446    UNITS	"centi-seconds"
447    MAX-ACCESS	read-only
448    STATUS	current
449    DESCRIPTION
450	"This value, measured in units of hundredths of a second
451	determines how long a port will stay consecutively in the
452	Listening and Learning states before transitioning to
453	Forwarding state.
454	This is the actual value currently used by the bridge
455	as opposed to begemotBridgeStpBridgeForwardDelay, which
456	is the value this and all bridges participating in the
457	spanning tree were to use, if this was the root bridge."
458    ::= { begemotBridgeStpEntry 11 }
459
460begemotBridgeStpBridgeMaxAge OBJECT-TYPE
461    SYNTAX	Timeout (600..4000)
462    UNITS	"centi-seconds"
463    MAX-ACCESS	read-write
464    STATUS	current
465    DESCRIPTION
466	"The value that all bridges participating in the
467	spanning tree would use for MaxAge if this bridge
468	was the root of the spanning tree."
469    ::= { begemotBridgeStpEntry 12 }
470
471begemotBridgeStpBridgeHelloTime OBJECT-TYPE
472    SYNTAX	Timeout (100..1000)
473    UNITS	"centi-seconds"
474    MAX-ACCESS	read-write
475    STATUS	current
476    DESCRIPTION
477	"The value that all bridges participating in the
478	spanning tree would use for HelloTime if this
479	bridge was the root of the spanning tree."
480    ::= { begemotBridgeStpEntry 13 }
481
482begemotBridgeStpBridgeForwardDelay OBJECT-TYPE
483    SYNTAX	Timeout (400..3000)
484    UNITS	"centi-seconds"
485    MAX-ACCESS	read-write
486    STATUS	current
487    DESCRIPTION
488	"The value that all bridges participating in the
489	spanning tree would use for ForwardDelay if this
490	bridge was the root of the spanning tree."
491    ::= { begemotBridgeStpEntry 14 }
492
493begemotBridgeStpVersion OBJECT-TYPE
494    SYNTAX	INTEGER {
495		    stpCompatible(0),
496		    rstp(2)
497		}
498    MAX-ACCESS	read-write
499    STATUS	current
500    DESCRIPTION
501	"The version of Spanning Tree Protocol the bridge is
502	currently running.  The value 'stpCompatible(0)'
503	indicates the Spanning Tree Protocol specified in
504	IEEE 802.1D-1998 and 'rstp(2)' indicates the Rapid
505	Spanning Tree Protocol specified in IEEE 802.1w and
506	clause 17 of 802.1D-2004.  The values are directly from
507	the IEEE standard.  New values may be defined as future
508	versions of the protocol become available.
509
510	The value of this object MUST be retained across
511	reinitializations of the management system."
512    DEFVAL	{ rstp }
513    ::= { begemotBridgeStpEntry 15 }
514
515begemotBridgeStpTxHoldCount OBJECT-TYPE
516    SYNTAX	Integer32 (1..10)
517    MAX-ACCESS	read-write
518    STATUS	current
519    DESCRIPTION
520	"The value used by the Port Transmit state machine to limit
521	the maximum transmission rate of BPDUs on the bridge interface.
522
523	The value of this object MUST be retained across
524	reinitializations of the management system."
525    DEFVAL	{ 3 }
526    ::= { begemotBridgeStpEntry 16 }
527
528-- ---------------------------------------------------------- --
529-- the Bridge STP ports table
530-- ---------------------------------------------------------- --
531
532begemotBridgeStpPortTable OBJECT-TYPE
533    SYNTAX	SEQUENCE OF BegemotBridgeStpPortEntry
534    MAX-ACCESS	not-accessible
535    STATUS	current
536    DESCRIPTION
537	"A table containing Spanning Tree Protocol information
538	about the members of each bridge interface."
539    ::= { begemotBridgeStp 2 }
540
541begemotBridgeStpPortEntry OBJECT-TYPE
542    SYNTAX	BegemotBridgeStpPortEntry
543    MAX-ACCESS	not-accessible
544    STATUS	current
545    DESCRIPTION
546	"A list of Spanning Tree Protocol information about
547	a specific member of a bridge interface."
548    INDEX  { begemotBridgeBaseName,  begemotBridgeBasePortIfIndex }
549    ::= { begemotBridgeStpPortTable 1 }
550
551BegemotBridgeStpPortEntry  ::= SEQUENCE {
552    begemotBridgeStpPort			Integer32,
553    begemotBridgeStpPortPriority		Integer32,
554    begemotBridgeStpPortState			INTEGER,
555    begemotBridgeStpPortEnable			INTEGER,
556    begemotBridgeStpPortPathCost		Integer32,
557    begemotBridgeStpPortDesignatedRoot		BridgeId,
558    begemotBridgeStpPortDesignatedCost		Integer32,
559    begemotBridgeStpPortDesignatedBridge	BridgeId,
560    begemotBridgeStpPortDesignatedPort		BridgePortId,
561    begemotBridgeStpPortForwardTransitions	Counter32
562}
563
564begemotBridgeStpPort OBJECT-TYPE
565    SYNTAX	Integer32 (1..65535)
566    MAX-ACCESS	read-only
567    STATUS	current
568    DESCRIPTION
569	"The system interface index of the interface corresponding
570	to this port, for which the management entity has Spanning
571	Tree Protocol information."
572    ::= { begemotBridgeStpPortEntry 1 }
573
574begemotBridgeStpPortPriority OBJECT-TYPE
575    SYNTAX	Integer32 (0..255)
576    MAX-ACCESS	read-write
577    STATUS	current
578    DESCRIPTION
579	"The STP priority of this port that is contained in the first
580	octet of its Port Identifier. The second octet contains the
581	value of begemotBridgeStpPort."
582    ::= { begemotBridgeStpPortEntry 2 }
583
584begemotBridgeStpPortState OBJECT-TYPE
585    SYNTAX	INTEGER {
586		    disabled(1),
587		    blocking(2),
588		    listening(3),
589		    learning(4),
590		    forwarding(5),
591		    broken(6)
592		}
593    MAX-ACCESS	read-only
594    STATUS	current
595    DESCRIPTION
596	"The current state of the port as defined by the operation
597	of the Spanning Tree Protocol. If the Spanning Tree Protocol
598	is administratively disabled on the port, this object shall
599	have value disabled(1). A value of broken(6) does not correspond
600	to any legal state of a port, and if present should indicate
601	error in the operation of either the Spanning Tree Protocol
602	implementation running on the device or the management entity."
603    ::= { begemotBridgeStpPortEntry 3 }
604
605begemotBridgeStpPortEnable OBJECT-TYPE
606    SYNTAX	INTEGER {
607		    enabled(1),
608		    disabled(2)
609		}
610    MAX-ACCESS	read-write
611    STATUS	current
612    DESCRIPTION
613	"The administrative Spanning Tree Protocol state of the
614	port - value of enabled(1) indicates that the port is
615	participating in the Spanning Tree Protocol operation."
616    ::= { begemotBridgeStpPortEntry 4 }
617
618begemotBridgeStpPortPathCost OBJECT-TYPE
619    SYNTAX	Integer32 (1..65535)
620    MAX-ACCESS	read-write
621    STATUS	current
622    DESCRIPTION
623	"The contribution of the path through this port, when the port
624	is the Root Port, to the total cost of the path to the root
625	bridge for this bridge."
626    ::= { begemotBridgeStpPortEntry 5 }
627
628begemotBridgeStpPortDesignatedRoot OBJECT-TYPE
629    SYNTAX	BridgeId
630    MAX-ACCESS	read-only
631    STATUS	current
632    DESCRIPTION
633	"The unique Bridge Identifier of the bridge recorded as the
634	root in the Root Identifier parameter of Configuration BPDUs
635	transmitted by the Designated Bridge for the LAN to which
636	the port is attached."
637    ::= { begemotBridgeStpPortEntry 6 }
638
639begemotBridgeStpPortDesignatedCost OBJECT-TYPE
640    SYNTAX	Integer32
641    MAX-ACCESS	read-only
642    STATUS	current
643    DESCRIPTION
644	"For a Designated port, the path cost (equal to the Root
645	Path Cost of the bridge) offered to the LAN to which the
646	port is attached otherwise the cost of the path to the Root
647	offered by the Designated Port on the LAN to which this
648	Port is attached."
649    ::= { begemotBridgeStpPortEntry 7 }
650
651begemotBridgeStpPortDesignatedBridge OBJECT-TYPE
652    SYNTAX	BridgeId
653    MAX-ACCESS	read-only
654    STATUS	current
655    DESCRIPTION
656	"The unique Bridge Identifier of the bridge to which the
657	port belongs, in the case when the port is a designated
658	port, otherwise the bridge believed to be the Designated
659	Bridge for the LAN to which this port is attached."
660    ::= { begemotBridgeStpPortEntry 8 }
661
662begemotBridgeStpPortDesignatedPort OBJECT-TYPE
663    SYNTAX	BridgePortId
664    MAX-ACCESS	read-only
665    STATUS	current
666    DESCRIPTION
667	"The Port Identifier of the Bridge port, on the Designated
668	Bridge, through which the Designated Bridge transmits the
669	Configuration Message information stored by this port."
670    ::= { begemotBridgeStpPortEntry 9 }
671
672begemotBridgeStpPortForwardTransitions OBJECT-TYPE
673    SYNTAX	Counter32
674    MAX-ACCESS	read-only
675    STATUS	current
676    DESCRIPTION
677	"The number of times this port has transitioned
678	from the Learning state to the Forwarding state."
679    ::= { begemotBridgeStpPortEntry 10 }
680
681-- ---------------------------------------------------------- --
682-- the Bridge STP extended ports table
683-- ---------------------------------------------------------- --
684
685begemotBridgeStpExtPortTable OBJECT-TYPE
686    SYNTAX	SEQUENCE OF BegemotBridgeStpExtPortEntry
687    MAX-ACCESS	not-accessible
688    STATUS	current
689    DESCRIPTION
690	"A table that contains port-specific Rapid Spanning Tree
691	information for the bridge interface members."
692    ::= { begemotBridgeStp 3 }
693
694begemotBridgeStpExtPortEntry OBJECT-TYPE
695    SYNTAX	BegemotBridgeStpExtPortEntry
696    MAX-ACCESS	not-accessible
697    STATUS	current
698    DESCRIPTION
699	"A list of Rapid Spanning Tree information maintained by
700	each bridge interface member."
701    AUGMENTS    { begemotBridgeStpPortEntry }
702    ::= { begemotBridgeStpExtPortTable 1 }
703
704BegemotBridgeStpExtPortEntry ::= SEQUENCE {
705    begemotBridgeStpPortProtocolMigration	TruthValue,
706    begemotBridgeStpPortAdminEdgePort		TruthValue,
707    begemotBridgeStpPortOperEdgePort		TruthValue,
708    begemotBridgeStpPortAdminPointToPoint	INTEGER,
709    begemotBridgeStpPortOperPointToPoint	TruthValue,
710    begemotBridgeStpPortAdminPathCost		Integer32
711}
712
713begemotBridgeStpPortProtocolMigration OBJECT-TYPE
714    SYNTAX	TruthValue
715    MAX-ACCESS	read-write
716    STATUS	current
717    DESCRIPTION
718	"When operating in RSTP (version 2) mode, writing true(1)
719	to this object forces this port to transmit RSTP BPDUs.
720	Any other operation on this object has no effect and
721	it always returns false(2) when read."
722    ::= { begemotBridgeStpExtPortEntry 1 }
723
724begemotBridgeStpPortAdminEdgePort OBJECT-TYPE
725    SYNTAX	TruthValue
726    MAX-ACCESS	read-write
727    STATUS	current
728    DESCRIPTION
729	"The administrative value of the Edge Port parameter. A
730	value of true(1) indicates that this port should be
731	assumed as an edge-port, and a value of false(2) indicates
732	that this port should be assumed as a non-edge-port.
733	Setting this object will also cause the corresponding
734	instance of begemotBridgeStpPortOperEdgePort to change to
735	the same value.  Note that even when this object's value
736	is true, the value of the corresponding instance of
737	begemotBridgeStpPortOperEdgePort can be false if a BPDU
738	has been received.
739
740	The value of this object MUST be retained across
741	reinitializations of the management system."
742    ::= { begemotBridgeStpExtPortEntry 2 }
743
744begemotBridgeStpPortOperEdgePort OBJECT-TYPE
745    SYNTAX	TruthValue
746    MAX-ACCESS	read-only
747    STATUS	current
748    DESCRIPTION
749	"The operational value of the Edge Port parameter. The
750	object is initialized to the value of the corresponding
751	instance of begemotBridgeStpPortAdminEdgePort. When the
752	corresponding instance of begemotBridgeStpPortAdminEdgePort
753	is set, this object will be changed as well. This object
754	will also be changed to false on reception of a BPDU."
755    ::= { begemotBridgeStpExtPortEntry 3 }
756
757begemotBridgeStpPortAdminPointToPoint OBJECT-TYPE
758    SYNTAX	INTEGER {
759		    forceTrue(0),
760		    forceFalse(1),
761		    auto(2)
762		}
763    MAX-ACCESS	read-write
764    STATUS	current
765    DESCRIPTION
766	"The administrative point-to-point status of the LAN segment
767	attached to this port, using the enumeration values of the
768	IEEE 802.1w clause.  A value of forceTrue(0) indicates
769	that this port should always be treated as if it is
770	connected to a point-to-point link. A value of
771	forceFalse(1) indicates that this port should be treated as
772	having a shared media connection.  A value of auto(2)
773	indicates that this port is considered to have a
774	point-to-point link if it is an Aggregator and all of its
775	members are aggregatable, or if the MAC entity
776	is configured for full duplex operation, either through
777	auto-negotiation or by management means.  Manipulating this
778	object changes the underlying adminPortToPortMAC.
779
780	The value of this object MUST be retained across
781	reinitializations of the management system."
782    ::= { begemotBridgeStpExtPortEntry 4 }
783
784begemotBridgeStpPortOperPointToPoint OBJECT-TYPE
785    SYNTAX	TruthValue
786    MAX-ACCESS	read-only
787    STATUS	current
788    DESCRIPTION
789	"The operational point-to-point status of the LAN segment
790	attached to this port. It indicates whether a port is
791	considered to have a point-to-point connection.
792	If adminPointToPointMAC is set to auto(2), then the value
793	of operPointToPointMAC is determined in accordance with the
794	specific procedures defined for the MAC entity concerned,
795	as defined in IEEE 802.1w, clause 6.5. The value is
796	determined dynamically; that is, it is re-evaluated whenever
797	the value of adminPointToPointMAC changes, and whenever
798	the specific procedures defined for the MAC entity evaluates
799	a change in its point-to-point status."
800    ::= { begemotBridgeStpExtPortEntry 5 }
801
802begemotBridgeStpPortAdminPathCost OBJECT-TYPE
803    SYNTAX	Integer32 (0..200000000)
804    MAX-ACCESS	read-write
805    STATUS	current
806    DESCRIPTION
807	"The administratively assigned value for the contribution
808	of this port to the path cost of paths toward the spanning
809	tree root.
810
811	Writing a value of '0' assigns the automatically calculated
812	default Path Cost value to the port. If the default Path
813	Cost is being used, this object returns '0' when read.
814
815	This complements the object begemotBridgeStpPortPathCost or
816	begemotBridgeStpPortPathCost32, which returns the operational
817	value of the path cost.
818
819	The value of this object MUST be retained across
820	reinitializations of the management system."
821    ::= { begemotBridgeStpExtPortEntry 6 }
822
823-- ---------------------------------------------------------- --
824-- the Bridge interface Transparent bridging table
825-- ---------------------------------------------------------- --
826
827begemotBridgeTpTable OBJECT-TYPE
828    SYNTAX	SEQUENCE OF BegemotBridgeTpEntry
829    MAX-ACCESS	not-accessible
830    STATUS	current
831    DESCRIPTION
832	"A table that contains information regarding transparent
833	bridging for each bridge interface on the managed device."
834    ::= { begemotBridgeTp 1 }
835
836begemotBridgeTpEntry OBJECT-TYPE
837    SYNTAX	BegemotBridgeTpEntry
838    MAX-ACCESS	not-accessible
839    STATUS	current
840    DESCRIPTION
841	"A list of information regarding transparent bridging
842	on a bridge interface."
843    AUGMENTS { begemotBridgeBaseEntry }
844    ::= { begemotBridgeTpTable 1 }
845
846BegemotBridgeTpEntry ::= SEQUENCE {
847    begemotBridgeTpLearnedEntryDiscards		Counter32,
848    begemotBridgeTpAgingTime			Integer32,
849    begemotBridgeTpMaxAddresses			Integer32
850}
851
852begemotBridgeTpLearnedEntryDiscards OBJECT-TYPE
853    SYNTAX	Counter32
854    MAX-ACCESS	read-only
855    STATUS	current
856    DESCRIPTION
857	"The total number of Forwarding Database entries that would
858	have been learnt, but have been discarded due to Forwarding
859	Address Table having reached it's maximum entries limit."
860    ::= { begemotBridgeTpEntry 1 }
861
862begemotBridgeTpAgingTime OBJECT-TYPE
863    SYNTAX	Integer32 (10..1000000)
864    UNITS	"seconds"
865    MAX-ACCESS	read-write
866    STATUS	current
867    DESCRIPTION
868	"The timeout period in seconds before aging out
869        dynamically learnt forwarding entries."
870    ::= { begemotBridgeTpEntry 2 }
871
872begemotBridgeTpMaxAddresses OBJECT-TYPE
873    SYNTAX	Integer32 (1..10000)
874    MAX-ACCESS	read-write
875    STATUS	current
876    DESCRIPTION
877	"The maximum number of entires that this bridge can
878	learn in it's Forwarding Address Table and use for
879	making forwarding decisions."
880    ::= { begemotBridgeTpEntry 3 }
881
882-- ---------------------------------------------------------- --
883--  The Forwarding Database for Transparent Bridging interfaces
884-- ---------------------------------------------------------- --
885
886begemotBridgeTpFdbTable OBJECT-TYPE
887    SYNTAX	SEQUENCE OF BegemotBridgeTpFdbEntry
888    MAX-ACCESS	not-accessible
889    STATUS	current
890    DESCRIPTION
891	"A table that contains information about unicast entries
892	for which the bridge interfaces have forwarding and/or
893	filtering information. This information is used by the
894	bridge interfaces to make forwarding decisions."
895    ::= { begemotBridgeTp 2 }
896
897begemotBridgeTpFdbEntry OBJECT-TYPE
898    SYNTAX	BegemotBridgeTpFdbEntry
899    MAX-ACCESS	not-accessible
900    STATUS	current
901    DESCRIPTION
902	"Information about a specific unicast MAC address
903	for which the bridge interface has some forwarding
904	and/or filtering information."
905    INDEX   { begemotBridgeBaseName, begemotBridgeTpFdbAddress }
906    ::= { begemotBridgeTpFdbTable 1 }
907
908BegemotBridgeTpFdbEntry ::= SEQUENCE {
909    begemotBridgeTpFdbAddress			MacAddress,
910    begemotBridgeTpFdbPort			Integer32,
911    begemotBridgeTpFdbStatus			INTEGER
912}
913
914begemotBridgeTpFdbAddress OBJECT-TYPE
915    SYNTAX	MacAddress
916    MAX-ACCESS	read-only
917    STATUS	current
918    DESCRIPTION
919	"A unicast MAC address for which the bridge has which the
920	bridge interface has some forwarding and/or filtering
921	information."
922    ::= { begemotBridgeTpFdbEntry 1 }
923
924begemotBridgeTpFdbPort OBJECT-TYPE
925    SYNTAX	Integer32
926    MAX-ACCESS	read-only
927    STATUS	current
928    DESCRIPTION
929	"The port number of the bridge port on which a frame having
930	a source address equal to the value of the corresponding
931	instance of begemotBridgeTpFdbAddress has been seen."
932    ::= { begemotBridgeTpFdbEntry 2 }
933
934begemotBridgeTpFdbStatus OBJECT-TYPE
935    SYNTAX	INTEGER {
936		    other(1),
937		    invalid(2),
938		    learned(3),
939		    self(4),
940		    mgmt(5)
941		}
942    MAX-ACCESS	read-only
943    STATUS	current
944    DESCRIPTION
945	"The status of this entry.  The meanings of the
946	values are:
947	    other(1) - none of the following.
948	    invalid(2) - this entry is no longer valid (e.g.,
949		it was learned but has since aged out), but has
950		not yet been flushed from the table.
951	    learned(3) - the value of the corresponding instance
952		of begemotBridgeTpFdbPort was learned, and is being
953		used.
954	    self(4) - the value of the corresponding instance of
955		begemotBridgeTpFdbAddress represents one of the
956		bridge's addresses.  The corresponding instance of
957		begemotBridgeTpFdbPort indicates which of the bridge's
958		ports has this address.
959	    mgmt(5) - the value of the corresponding instance of
960		begemotBridgeTpFdbAddress has been added to the
961		bridge's Forwarding Database by some management
962		means."
963    ::= { begemotBridgeTpFdbEntry 3 }
964
965-- ---------------------------------------------------------- --
966--  Ports table for Transparent Bridging interfaces
967-- ---------------------------------------------------------- --
968
969begemotBridgeTpPortTable OBJECT-TYPE
970    SYNTAX	SEQUENCE OF BegemotBridgeTpPortEntry
971    MAX-ACCESS	not-accessible
972    STATUS	current
973    DESCRIPTION
974	"A table that contains information about every bridge port,
975	member of a bridge interface, associated with the transparent
976	bridging function of the bridge."
977    ::= { begemotBridgeTp 3 }
978
979begemotBridgeTpPortEntry OBJECT-TYPE
980    SYNTAX	BegemotBridgeTpPortEntry
981    MAX-ACCESS	not-accessible
982    STATUS	current
983    DESCRIPTION
984	"A list of information about every bridge port, member of a
985	bridge interface, associated with the bridge's transparent
986	bridging function."
987    INDEX  { begemotBridgeBaseName,  begemotBridgeBasePortIfIndex }
988    ::= { begemotBridgeTpPortTable 1 }
989
990BegemotBridgeTpPortEntry  ::= SEQUENCE {
991    begemotBridgeTpPort				Integer32,
992    begemotBridgeTpPortMaxInfo			Integer32,
993    begemotBridgeTpPortInFrames			Counter32,
994    begemotBridgeTpPortOutFrames		Counter32,
995    begemotBridgeTpPortInDiscards		Counter32
996}
997
998begemotBridgeTpPort OBJECT-TYPE
999    SYNTAX	Integer32 (1..65535)
1000    MAX-ACCESS	read-only
1001    STATUS	current
1002    DESCRIPTION
1003	"The system interface index of the port for which this entry
1004	contains Transparent bridging management information."
1005    ::= { begemotBridgeTpPortEntry 1 }
1006
1007begemotBridgeTpPortMaxInfo OBJECT-TYPE
1008    SYNTAX	Integer32
1009    UNITS	"bytes"
1010    MAX-ACCESS	read-only
1011    STATUS	current
1012    DESCRIPTION
1013	"The maximum size of the INFO (non-MAC) field that this port
1014	will receive or transmit."
1015    ::= { begemotBridgeTpPortEntry 2 }
1016
1017begemotBridgeTpPortInFrames OBJECT-TYPE
1018    SYNTAX	Counter32
1019    UNITS	"frames"
1020    MAX-ACCESS	read-only
1021    STATUS	current
1022    DESCRIPTION
1023	"The number of frames that have been received by this
1024	port from its segment.  Note that a frame received on the
1025	interface corresponding to this port is only counted by
1026	this object if and only if it is for a protocol being
1027	processed by the local bridging function, including
1028	bridge management frames."
1029    ::= { begemotBridgeTpPortEntry 3 }
1030
1031begemotBridgeTpPortOutFrames OBJECT-TYPE
1032    SYNTAX	Counter32
1033    UNITS	"frames"
1034    MAX-ACCESS	read-only
1035    STATUS	current
1036    DESCRIPTION
1037	"The number of frames that have been transmitted by this
1038	port to its segment.  Note that a frame transmitted on
1039	the interface corresponding to this port is only counted
1040	by this object if and only if it is for a protocol being
1041	processed by the local bridging function, including
1042	bridge management frames."
1043    ::= { begemotBridgeTpPortEntry 4 }
1044
1045begemotBridgeTpPortInDiscards OBJECT-TYPE
1046    SYNTAX	Counter32
1047    UNITS	"frames"
1048    MAX-ACCESS	read-only
1049    STATUS	current
1050    DESCRIPTION
1051	"Count of received valid frames that were discarded
1052	(i.e., filtered) by the Forwarding Process."
1053    ::= { begemotBridgeTpPortEntry  5 }
1054
1055-- ---------------------------------------------------------- --
1056-- the begemotBridgePf objects
1057-- ---------------------------------------------------------- --
1058
1059begemotBridgePfilStatus OBJECT-TYPE
1060    SYNTAX	TruthValue
1061    MAX-ACCESS	read-write
1062    STATUS	current
1063    DESCRIPTION
1064	"Indicates whether packet filtering by some firewall
1065	package is enabled on the bridge interface."
1066    ::= { begemotBridgePf 1 }
1067
1068begemotBridgePfilMembers OBJECT-TYPE
1069    SYNTAX	TruthValue
1070    MAX-ACCESS	read-write
1071    STATUS	current
1072    DESCRIPTION
1073	"A value of true(1) indicates that packet filtering is
1074	enabled on both incoming and outgoing bridge member
1075	interfaces."
1076    ::= { begemotBridgePf 2 }
1077
1078begemotBridgePfilIpOnly OBJECT-TYPE
1079    SYNTAX	TruthValue
1080    MAX-ACCESS	read-write
1081    STATUS	current
1082    DESCRIPTION
1083	"This value controls the handling of non-IP packets which
1084	are not passed on for further processing to a firewall
1085	package. A value of false(0) indicates that all non-IP
1086	Ethernet frames are passed unconditionally."
1087    ::= { begemotBridgePf 3 }
1088
1089begemotBridgeLayer2PfStatus OBJECT-TYPE
1090    SYNTAX	INTEGER {
1091		    enabled(1),
1092		    disabled(2)
1093		}
1094    MAX-ACCESS	read-write
1095    STATUS	current
1096    DESCRIPTION
1097	"This value indicates whether layer2 filtering by a
1098	firewall package is enabled for bridge interfaces."
1099    ::= { begemotBridgePf 4 }
1100
1101-- ---------------------------------------------------------- --
1102-- the begemotBridgeConfigObjects objects
1103-- ---------------------------------------------------------- --
1104
1105begemotBridgeDefaultBridgeIf OBJECT-TYPE
1106
1107    SYNTAX	BridgeIfNameOrEmpty
1108    MAX-ACCESS	read-write
1109    STATUS	current
1110    DESCRIPTION
1111	"The name of the bridge interface that will be managed
1112	via objects in IETF BRIDGE-MIB (RFC4188). If the
1113	object's value is set to an empty string, bridge interfaces
1114	will only be managed via objects in this MIB module."
1115    DEFVAL	{ "bridge0" }
1116    ::= { begemotBridgeConfigObjects 1 }
1117
1118begemotBridgeDataUpdate OBJECT-TYPE
1119
1120    SYNTAX	Timeout (1..300)
1121    UNITS       "seconds"
1122    MAX-ACCESS	read-write
1123    STATUS	current
1124    DESCRIPTION
1125	"The maximum age in seconds of the cached data."
1126    DEFVAL	{ 10 }
1127    ::= { begemotBridgeConfigObjects 2 }
1128
1129begemotBridgeDataPoll OBJECT-TYPE
1130
1131    SYNTAX	Timeout (1..3600)
1132    UNITS       "seconds"
1133    MAX-ACCESS	read-write
1134    STATUS	current
1135    DESCRIPTION
1136	"The polling rate of data when the module is idle."
1137    DEFVAL	{ 300 }
1138    ::= { begemotBridgeConfigObjects 3 }
1139
1140-- ---------------------------------------------------------- --
1141-- Notifications for the Spanning Tree Protocol
1142-- ---------------------------------------------------------- --
1143
1144begemotBridgeNewRoot NOTIFICATION-TYPE
1145    OBJECTS	{ begemotBridgeBaseName }
1146    STATUS	current
1147    DESCRIPTION
1148	"The begemotBridgeNewRoot trap indicates that one of the
1149	bridge interfaces on the sending agent's device has
1150	become the new root of the spanning tree topology it is
1151	participating in."
1152    ::= { begemotBridgeNotifications 1 }
1153
1154begemotBridgeTopologyChange NOTIFICATION-TYPE
1155    OBJECTS	{ begemotBridgeBaseName }
1156    STATUS	current
1157    DESCRIPTION
1158	"A begemotBridgeTopologyChange trap is send when a member
1159	port on one of the bridge interfaces, monitored by the agent,
1160	transitions from the Learning state to the Forwarding state,
1161	or from the Forwarding state to the Blocking state. The trap
1162	is not sent if a begemotBridgeNewRoot trap is sent for the
1163	same transition."
1164    ::= { begemotBridgeNotifications 2 }
1165
1166END
1167