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