-- ----------------------------------------------------------------------
-- Copyright (c) 3Com Corporation. All Rights Reserved.
-- ----------------------------------------------------------------------

A3COM0054-BRASICA2-SPECIFIC DEFINITIONS ::= BEGIN

   IMPORTS
	brasica2 FROM A3COM0004-GENERIC
	OBJECT-TYPE FROM RFC-1212
	ifIndex FROM RFC1213-MIB
	;

stackConfigGroup	     OBJECT IDENTIFIER ::= { brasica2 1 }

-- ------------------------------------------------------------------------
--	Configuration Stack Table Group
--
--	This table provides details on the configuration of a Switch Stack.
-- ------------------------------------------------------------------------

prConStackFwdingMode OBJECT-TYPE
      SYNTAX	  INTEGER  {
		  fastForward(1),
		  fragmentFree(2),
		  storeAndForward(3),
		  intelligent(4)
      }
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This  object  controls  whether  cut-thru  is  enabled on the
		stack.  Enabling  cut-thru  can  help  to  minimise  the delay
		experienced  by  packets  before  they  are forwarded to their
		destination.  Setting  cut-thru  to 'fastForward' causes frame
		forwarding to begin as soon as 32 bytes of the frame have been
		received. Setting it to 'fragmentFree' causes frame forwarding
		to begin when 64 bytes have been received. This is slower, but
		eliminates  the risk of forwarding an illegally short frame to
		the destination port, however a valid length frame might still
		be  forwarded  even  though  it  had a CRC error. Setting this
		object  to 'storeAndForward' disables cut-thru completely, and
		frames  will not be forwarded until they have been received in
		their entirety.

		When  the  mode is set to intelligent, the effective switching
		mode  is  set  initially  to  fast  forward.  The  switch then
		monitors the total error rate of frames received on each port,
		and  if  it  exceeds  20  error frames a second it changes the
		effective mode for the port to store and forward. If the error
		rate then drops to zero the effective mode is restored to fast
		forward.

		Whatever  forwarding mode is selected, cut-thru cannot operate
		if  the  destination  port is currently involved in 'cut-thru'
		from  another  port.  In this case the device will process the
		frame in store and forward mode."
      ::= {stackConfigGroup 1}

prConStackPaceMode OBJECT-TYPE
      SYNTAX	  INTEGER  {
		  notApplicable(1),
		  normalEthernet(2),
		  lowLatency(3)
      }
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This  object  specifies the type of backoff algorithm used on
		the units in the stack. Any port can use the standard ethernet
		algorithm  or,  for  PACE applications, it can be set into low
		latency mode. In this mode, the backoff algorithm is optimised
		to  minimise  the possibility of collisions. The value of this
		object  defines  the  setting  that those ports will use which
		have prConPortPaceMode set to useDefault(2).

		PACE  mode  can  be  set for the whole stack or for individual
		ports.  When  a  unit  is  initialised  to  factory  defaults,
		prconPortPaceMode  for every port is set to useDefault(2), and
		the  actual  setting  for  the port is decided by the value of
		this object. The manager has the choice, therefore, of varying
		the mode for every port in the stack, or for individual ports
		only."
      ::= {stackConfigGroup 2}

prConStackVLANConfigMode OBJECT-TYPE
      SYNTAX	  INTEGER  {
		  notApplicable(1),
		  portMode(2),
		  autoSelect(3)
      }
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This object specifies the VLAN mode to be used. Setting it to
		portMode(2)  requires  the  user to configure each port's VLAN
		membership  individually,  whereas  autoSelect(3) causes it to
		acquire its membership from the VLAN Server. The value of this
		object  defines  the  setting  that those ports will use which
		have prConPortVLANConfigMode set to useDefault(2).

		VLAN  mode  can  be  set for the whole stack or for individual
		ports.  When  a  unit  is  initialised  to  factory  defaults,
		prconPortVLANConfigMode    for    every   port   is   set   to
		useDefault(2),  and the actual setting for the port is decided
		by  the  value  of  this  object.  The manager has the choice,
		therefore, of varying the mode for every port in the stack, or
		for individual ports only."
      ::= {stackConfigGroup 3}

prConStackRAPStudyPort OBJECT-TYPE
      SYNTAX	  INTEGER
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This  determines  the  ifIndex  of  the port a user wishes to
		monitor on the copy port.  Monitoring causes all data from the
		study  port  to  be  copied  to  the  copy  port.  The port is
		specified using its ifIndex because that uniquely identifies a
		single port in the stack."
      ::= {stackConfigGroup 4}

prConStackRAPCopyPort OBJECT-TYPE
      SYNTAX	  INTEGER
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This  is  the  value  of ifIndex specifying the port to which
		data  will  be  copied (mirrored),  and must be set to a valid
		value,  along  with  the  study port, before monitoring can be
		enabled."
      ::= {stackConfigGroup 5}

prConStackRAPEnable OBJECT-TYPE
      SYNTAX	  INTEGER  {
		  off(1),
		  on(2)
      }
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This  object  controls the Roving Analysis Port (RAP) feature
		in     conjunction     with     prConStackRAPStudyPort     and
		prConStackRAPCopyPort.  The RAP feature allows all frames sent
		and  received on the study port to be copied to the copy port,
		where they can be observed.  Setting this object to on(2) will
		enable monitoring.  To succeed both prConStackRAPStudyPort and
		prConStackRAPCopyPort must have been set to the ifIndex values
		of  suitable  ports,  and if either are invalid this operation
		will fail."
      ::= {stackConfigGroup 6}

prConStackBridgeMode OBJECT-TYPE
      SYNTAX	  INTEGER {
		  single(1),
		  multiple(2)
      }
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"The  value of this object determines whether the switch is to
		operate  as  a  single  bridge  or  as  a bridge per VLAN (the
		default).  In  multiple  bridge  mode  the  switch maintains a
		separate  filtering  database for each VLAN, whereas in single
		bridge  mode  it uses a single database for them all.  Thus in
		multiple  bridge  mode  the  MAC  address  of a station can be
		learnt  on  more  than  one port provided they are in separate
		VLANs,  while  in single bridge mode the switch makes just one
		entry for each address. Multiple bridge mode is useful in that
		separate  VLANs  may  be  joined  by  a bridge external to the
		switch,  whereas  in  single  bridge  mode  VLANs  may only be
		connected  by  routers.  Not  all  switches  will support both
		modes, and any attempt to set the mode to an unsupported value
		will be rejected."
      ::= {stackConfigGroup 7}


switchConfigGroup	      OBJECT IDENTIFIER ::= { brasica2 2 }

-- --------------------------------------------------------------------
--	Configuration Group

-- --------------------------------------------------------------------
--	Configuration Port Table
--
--	This table provides details of the configuration of a port on a
--	Switch unit.
-- --------------------------------------------------------------------

prConfigPortTable OBJECT-TYPE
      SYNTAX	  SEQUENCE OF PrConfigPortEntry
      ACCESS	  not-accessible
      STATUS	  mandatory
      DESCRIPTION
		"Table  providing  configuration information about a port on a
		Switch unit."
      ::= {switchConfigGroup 1}

prConfigPortEntry OBJECT-TYPE
      SYNTAX	  PrConfigPortEntry
      ACCESS	  not-accessible
      STATUS	  mandatory
      DESCRIPTION "Configuration options for a single port."
      INDEX	  { ifIndex }
      ::= {prConfigPortTable 1}

PrConfigPortEntry ::= SEQUENCE {
		  prConPortVLANConfigMode		INTEGER,
		  prConPortIFM				INTEGER,
		  prConPortDiscardOnTx			INTEGER,
		  prConPortPaceMode			INTEGER,
		  prConPortStpFastStart 		INTEGER,
		  prConPortFlowCntlStatus		INTEGER,
		  prConPortFlowCntlDefaultStatus	INTEGER
		  }

prConPortVLANConfigMode OBJECT-TYPE
	SYNTAX	INTEGER {
			notApplicable(1),
			useDefault(2),
			portMode(3),
			autoSelect(4)
			}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"This object specifies the VLAN mode to be used. Setting it to
		portMode(3)  requires  the  user  to configure the port's VLAN
		membership  explicitly,  whereas  autoSelect(4)  causes  it to
		acquire its membership from the VLAN Server.

		VLAN  mode  can  be  set for the whole stack or for individual
		ports.  When  a  unit  is  initialised  to  factory  defaults,
		prConPortVLANConfigMode    for    every   port   is   set   to
		useDefault(2),  and the actual setting for the port is decided
		by the value of prConStackVLANConfigMode.  The other values of
		this  object allow the setting to be varied for the individual
		port."
	::= {prConfigPortEntry 1}


prConPortIFM OBJECT-TYPE
      SYNTAX	  INTEGER  {
		  notApplicable(1),
		  off(2),
		  maxJams6(3),
		  maxJams7(4),
		  maxJams8(5),
		  maxJams9(6),
		  maxJams10(7),
		  maxJams11(8),
		  maxJams12(9),
		  maxJams13(10)
      }
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This  object  controls  Intelligent  Flow  Management for the
		port,  which  specifies what action the port takes whenever it
		is  unable  to  receive a packet because its buffers are full.
		When set to off(1),  the packet is dropped immediately.  If it
		is  set  to  any of the values maxJams6(2) to maxJams13(10), a
		jam  signal is transmitted to the segment attached to the port
		to  force  a  collision  so  that the originator will stop and
		retransmit the frame.  This will be repeated a maximum of 6 to
		13  times depending on the setting.  If the port is then still
		unable  to receive the packet it is dropped.  Intelligent Flow
		Management  should be disabled on ports which are connected to
		repeater segments.

		Intelligent  flow  management  only  functions  when a port is
		operating   in   half   duplex,   either   as   a   result  of
		auto-negotiation, or by management action."
      ::= {prConfigPortEntry 2}

prConPortDiscardOnTx OBJECT-TYPE
      SYNTAX	  INTEGER  {
		  notApplicable(1),
		  off(2),
		  on(3)
      }
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This   object   controls  whether  the  'Discard-on-transmit'
		feature is enabled for frames originating at this port. If set
		to  on(3), the unit will discard frames destined for any other
		port  if  that  port's  transmit  buffers  are  full.  If this
		attribute  is  set  to off(2), a frame will be held until that
		port has space available for the frame."
      ::= {prConfigPortEntry 3}

prConPortPaceMode OBJECT-TYPE
      SYNTAX	  INTEGER  {
		  notApplicable(1),
		  useDefault(2),
		  normalEthernet(3),
		  lowLatency(4)
      }
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This  object  specifies the type of backoff algorithm used on
		the  port.  A port can use the standard ethernet algorithm or,
		for  PACE applications, it can be set to low latency mode.  In
		this  mode, the backoff algorithm is optimised to minimise the
		possibility of collisions.

		PACE  mode  can  be  set for the whole stack or for individual
		ports.  When  a  unit  is initialised to factory defaults this
		object  is set to useDefault(2) for every port, and the actual
		setting   for   the   port   is   decided   by  the  value  of
		prConStackPaceMode.  The manager has the choice, therefore, of
		varying  the  mode  for  every  port  in  the  stack,  or  for
		individual ports only."
      ::= {prConfigPortEntry 4}

prConPortStpFastStart OBJECT-TYPE
      SYNTAX	  INTEGER  {
		  off(1),
		  on(2)
      }
      ACCESS	  read-write
      STATUS	  mandatory
      DESCRIPTION
		"This  object  specifies  whether a switch port will go to the
		forwarding  state  immediately  if spanning tree is turned on.
		When  this  object  is  set  to on(2), the normal intermediate
		startup  states  of listening and learning are skipped and the
		port  is  allowed  to enter the forwarding spanning tree state
		immediately.  This  is to allow switch ports that are directly
		connected  to  just one endstation to be immediately available
		when the link is detected or the switch powers up.

		Note  that  this  object  must  be set of off(1) for all switch
		ports   that  are  connected  to  ethernet  segments  or  other
		switches, routers or bridges.
		
		The default state for all ports is off(1)."
      ::= {prConfigPortEntry 5}

prConPortFlowCntlStatus OBJECT-TYPE
      SYNTAX	INTEGER {
		 enabled(1),
		 disabled(2),
		 notApplicable(3)
		 }

      ACCESS read-only
      STATUS	 mandatory
      DESCRIPTION
		"This  object  represents  the  operational  full  duplex flow
		control  state  of  the  port, as determined by either (1) the
		result  of auto-negotiation, or (2) if auto-negotiation is not
		enabled   for   this   port,   by  the  value  of  the  object
		prConPortFlowCntlDefaultStatus.  In  the  latter case a set to
		prConPortFlowCntlDefaultStatus  will  force  the port into the
		new operating mode.
		
		If  the  port  is  operating in half duplex, the value of this
		object is notApplicable(3)."
      ::= { prConfigPortEntry 6 }

prConPortFlowCntlDefaultStatus OBJECT-TYPE
      SYNTAX	INTEGER {
			enabled(1),
			disabled(2)
			}
      ACCESS read-write
      STATUS	 mandatory
      DESCRIPTION
		"This  object  represents the administratively-configured full
		duplex flow control status of the port. If auto-negotiation is
		not enabled for this port, the value of this object determines
		the  operational  full duplex flow control status, and in this
		case  a  set  to  this  object  will  force  the port into the
		specified state.

		If  auto-negotiation is enabled for this port, the operational
		status  of  the  port  is  determined  by auto-negotiation and
		indicated by the value of the prConPortFlowCntlStatus object.

		The  value  of this object denotes the state to which the port
		will automatically revert should auto-negotiation be disabled.

		The  value  of this object is ignored if the port is operating
		in half duplex mode."
      ::= { prConfigPortEntry 7 }

END
