class Chassis {
	# System Attributes
	snmpVersion 1
	help "dmdb/chameleon/v1208/help.html#device"
	trapProc dmsTrapProc
	endDiscoverProc dmsEndDiscovery
	maxOidInPDU 40

	# Physical chassis attributes
	isSelect 1
	statusVar s5ChasBrdLeds
	statusInstanceProc dmsLedsStatusInstanceProc
# 	statusProc dmsLedsStatusProc
#	endStatusProc dmsActLedsStatusProc


# edit Chassis			-cvtProc dmsChasCardInstance 
	edit {
		{{-title "System" -prefix s5AgInfo
			-help "dmdb/chameleon/v1208/help.html#sys"} {
			sysDescr sysUpTime sysContact sysName sysLocation 
			snmpEnableAuthenTraps
			{separator}
			s5AgInfoMgmtProtocolNxtBoot s5AgInfoMgmtProtocolCur
			s5AgInfoBootMode  s5AgInfoImgLoadMode 
			s5AgInfoVer s5AgInfoLocStorVer
			s5AgInfoNxtBootDfltGwAddr s5AgInfoCurDfltGwAddr
			s5AgInfoLoadProtocolNxtBoot s5AgInfoLoadProtocolLast 
		}}
		{{-title "Chassis" -prefix s5ChasCom
			-cvtProc dmsSChasCardInstance 
			-help "dmdb/chameleon/v1208/help.html#chassis" } {
			s5ChasComType s5ChasComDescr
			s5ChasComVer s5ChasComSerNum
			s5ChasComLstChng s5ChasComAdminState 
			s5ChasComOperState s5ChasComLocation 
		}}
		{{-title "Agent Info" -prefix s5AgMyIf -table
			-help "dmdb/chameleon/v1208/help.html#agent_info" }  {
			s5AgMyIfNxtBootIpAddr s5AgMyIfNxtBootNetMask 
			s5AgMyIfLdSvrAddr s5AgMyIfImgFname 
			s5AgMyIfValidFlag s5AgMyIfBootRouterAddr 
			s5AgMyIfMacAddr
		}}
		{{-title "SNMP Info" -prefix s5AgUnAuth
			-help "dmdb/chameleon/v1208/help.html#snmp_info" }  {
                        s5AgUnAuthIpAddr  s5AgUnAuthComm
                        {separator}
                        s5AgTrpRcvrMaxEnt s5AgTrpRcvrCurEnt 
			s5AgTrpRcvrNext
		}}
		{{-title "Trap Receivers" -prefix s5AgTrpRcvr -table -showTableIndex
			-help "dmdb/chameleon/v1208/help.html#traps"   }  {
			s5AgTrpRcvrNetAddr s5AgTrpRcvrComm 
		}} 

	}

	graph {
		{{-title "SNMP" -prefix snmp -help "dmdb/chameleon/v1208/mib2.html#snmp"} {
			snmpInPkts snmpOutPkts snmpInTotalReqVars snmpInTotalSetVars
			snmpInGetRequests snmpInGetNexts snmpInSetRequests
			snmpInGetResponses snmpOutTraps snmpOutTooBigs snmpOutNoSuchNames
			snmpOutBadValues snmpOutGenErrs snmpInBadVersions
			snmpInBadCommunityNames snmpInBadCommunityUses snmpInASNParseErrs
			snmpInTooBigs snmpInNoSuchNames snmpInBadValues snmpInReadOnlys
			snmpInGenErrs
		}}
		{{-title "IP" -prefix ip -help "dmdb/chameleon/v1208/mib2.html#grIP"} {
			ipInReceives ipInHdrErrors ipInAddrErrors ipForwDatagrams
			ipInUnknownProtos ipInDiscards ipInDelivers ipOutRequests
			ipOutDiscards ipOutNoRoutes ipFragOKs ipFragFails ipFragCreates
			ipReasmReqds ipReasmOKs ipReasmFails
		}}
		{{-title "ICMP In" -prefix icmpIn
			-help "dmdb/chameleon/v1208/mib2.html#grIcmpIn"} {
			icmpInSrcQuenchs icmpInRedirects icmpInEchos icmpInEchoReps
			icmpInTimestamps icmpInTimestampReps icmpInAddrMasks
			icmpInAddrMaskReps  icmpInParmProbs icmpInDestUnreachs
			icmpInTimeExcds
		}}
		{{-title "ICMP Out" -prefix icmpOut
			-help "dmdb/chameleon/v1208/mib2.html#grIcmpOut"} {
			icmpOutSrcQuenchs icmpOutRedirects icmpOutEchos icmpOutEchoReps
			icmpOutTimestamps icmpOutTimestampReps icmpOutAddrMasks
			icmpOutAddrMaskReps icmpOutParmProbs icmpOutDestUnreachs
			icmpOutTimeExcds
		}}
	}

	menuedit {
		{command -label "IP..." -command {dm_Dialog edit IP}}
		{command -label "Bridge..." -command {dm_Dialog edit Bridge}}
	}
	menu {
		{command -label "Edit..." -command {dm_DoMenu edit Chassis}}
		{command -label "Graph..." -command {dm_DoMenu graph Chassis}}
	}

	toolbar {
		{-text "Alarm Manager" -image $Dm_Path/bitmaps/alarm.gif
			 -command "dmsCreateAlarm Sess0"}
	}

	menubar {
		{vlan {-text VLAN}}
		{rmon {-text RMON -underline 1}}
	}
}


class Card {
	unknownTypeProc dmsUnknownTypeProc
	isSelect 1
	edit {
		{{-title "Unit/MDA" -prefix s5ChasCom
			-help "dmdb/chameleon/v1208/help.html#card"} {
			s5ChasComType s5ChasComDescr
			s5ChasComVer s5ChasComSerNum
		}}
	}	
	menu {
		{command -label "Edit..." -command {dm_DoMenu edit Card}}
	}
}

class Card::0 {
	bitmap "chameleon/v1208/bitmaps/bs_down_front.gif"
}
class Card::1 {
	bitmap ""
}
# 24 10/100BaseTx
class Card::653 {
	bitmap "chameleon/v1208/bitmaps/bs450_24_front.gif"
	children {Port Led}
	statusProc dms450SLedsStatusProc
	Port.positions {
		{225 33} {253 33} {281 33} {309 33} {337 33} {365 33}
		{405 33} {433 33} {461 33} {489 33} {517 33} {545 33}
		{225 82} {253 82} {281 82} {309 82} {337 82} {365 82}
		{405 82} {433 82} {461 82} {489 82} {517 82} {545 82}
	}
	Port.subClasses {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1}
	Port.instances { 1 2 3 4 5 6 7 8 9 10 11 12
		13 14 15 16 17 18 19 20 21 22 23 24}
 
	Led.positions {
		{598 88} {619 88} {598 102} {619 102} {598 117} {619 117}
		{643 17} {653 17} {663 17} {673 17} {683 17} {693 17}
		{703 17} {713 17} {723 17} {733 17} {743 17} {753 17}
		{643 27} {653 27} {663 27} {673 27} {683 27} {693 27}
		{703 27} {713 27} {723 27} {733 27} {743 27} {753 27}
		{643 37} {653 37} {663 37} {673 37} {683 37} {693 37}
		{703 37} {713 37} {723 37} {733 37} {743 37} {753 37}
		{643 47} {653 47} {663 47} {673 47} {683 47} {693 47}
		{703 47} {713 47} {723 47} {733 47} {743 47} {753 47}

		{643 85} {653 85} {663 85} {673 85} {683 85} {693 85}
		{703 85} {713 85} {723 85} {733 85} {743 85} {753 85}
		{643 95} {653 95} {663 95} {673 95} {683 95} {693 95}
		{703 95} {713 95} {723 95} {733 95} {743 95} {753 95}
		{643 105} {653 105} {663 105} {673 105} {683 105} {693 105}
		{703 105} {713 105} {723 105} {733 105} {743 105} {753 105}
		{643 115} {653 115} {663 115} {673 115} {683 115} {693 115}
		{703 115} {713 115} {723 115} {733 115} {743 115} {753 115}
	}
 
	Led.subClasses {0 0 0 0 0 0
		1 1 1 1 1 1 1 1 1 1 1 1
		2 2 2 2 2 2 2 2 2 2 2 2
		3 3 3 3 3 3 3 3 3 3 3 3
		4 4 4 4 4 4 4 4 4 4 4 4
		1 1 1 1 1 1 1 1 1 1 1 1
		2 2 2 2 2 2 2 2 2 2 2 2
		3 3 3 3 3 3 3 3 3 3 3 3
		4 4 4 4 4 4 4 4 4 4 4 4
	}
	Led.instances {80 81 82 83 84 85
		1 2 3 4 5 6 7 8 9 10 11 12
		1 2 3 4 5 6 7 8 9 10 11 12
		1 2 3 4 5 6 7 8 9 10 11 12
		1 2 3 4 5 6 7 8 9 10 11 12
		13 14 15 16 17 18 19 20 21 22 23 24
		13 14 15 16 17 18 19 20 21 22 23 24
		13 14 15 16 17 18 19 20 21 22 23 24
		13 14 15 16 17 18 19 20 21 22 23 24
	}
}

# 12 10/100BaseTx
class Card::654 {
	bitmap "chameleon/v1208/bitmaps/bs450_12_front.gif"
	children {Port Led}
	statusProc dms450SLedsStatusProc
	Port.positions {
		{225 82} {253 82} {281 82} {309 82} {337 82} {365 82}
		{405 82} {433 82} {461 82} {489 82} {517 82} {545 82}
	}
		Port.subClasses {1 1 1 1 1 1 1 1 1 1 1 1}
		Port.instances { 1 2 3 4 5 6 7 8 9 10 11 12 }
 
	Led.positions {
		{598 88} {619 88} {598 102} {619 102} {598 117} {619 117}
		{643 85} {653 85} {663 85} {673 85} {683 85} {693 85}
		{703 85} {713 85} {723 85} {733 85} {743 85} {753 85}
		{643 95} {653 95} {663 95} {673 95} {683 95} {693 95}
		{703 95} {713 95} {723 95} {733 95} {743 95} {753 95}
		{643 105} {653 105} {663 105} {673 105} {683 105} {693 105}
		{703 105} {713 105} {723 105} {733 105} {743 105} {753 105}
		{643 115} {653 115} {663 115} {673 115} {683 115} {693 115}
		{703 115} {713 115} {723 115} {733 115} {743 115} {753 115}
	}
 
	Led.subClasses {0 0 0 0 0 0
		1 1 1 1 1 1 1 1 1 1 1 1
		2 2 2 2 2 2 2 2 2 2 2 2
		3 3 3 3 3 3 3 3 3 3 3 3
		4 4 4 4 4 4 4 4 4 4 4 4
	}
	Led.instances {80 81 82 83 84 85
		1 2 3 4 5 6 7 8 9 10 11 12
		1 2 3 4 5 6 7 8 9 10 11 12
		1 2 3 4 5 6 7 8 9 10 11 12
		1 2 3 4 5 6 7 8 9 10 11 12
	}
}
# 410_24TX
class Card::655 {
	bitmap "chameleon/v1208/bitmaps/bs410_24_front.gif"
#	statusProc dms450SLedsStatusProc
	children {Port Led}
#	Card.positions {{0 60}}
#	Card.instances {3.5.0}

	Port.positions {
		{226 60} {226 88} {254 60} {254 88} {282 60} {282 88}
		{310 60} {310 88} {338 60} {338 88} {366 60} {366 88}
		{408 60} {408 88} {436 60} {436 88} {464 60} {464 88}
		{492 60} {492 88} {520 60} {520 88} {548 60} {548 88}
	}
	Port.subClasses {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1}
	Port.instances { 1 2 3 4 5 6 7 8 9 10 11 12
		13 14 15 16 17 18 19 20 21 22 23 24}

	Led.positions {
		{596 83} {620 83} {596 100} {620 100} {596 115} {620 115}
		{641 73} {641 83} {641 105} {641 115}
		{651 73} {651 83} {651 105} {651 115}
		{661 73} {661 83} {661 105} {661 115}
		{671 73} {671 83} {671 105} {671 115}
		{681 73} {681 83} {681 105} {681 115}
		{691 73} {691 83} {691 105} {691 115}
		{701 73} {701 83} {701 105} {701 115}
		{711 73} {711 83} {711 105} {711 115}
		{721 73} {721 83} {721 105} {721 115} 
		{731 73} {731 83} {731 105} {731 115}
		{741 73} {741 83} {741 105} {741 115}
		{751 73} {751 83} {751 105} {751 115}
	}
	Led.subClasses {0 0 0 0 0 0 
		2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4
		2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4
	}
	Led.instances {80 81 82 83 84 85 
		1 1 2 2 3 3 4 4 5 5 6 6 
		7 7 8 8 9 9 10 10 11 11 12 12
		13 13 14 14 15 15 16 16 17 17 18 18
		19 19 20 20 21 21 22 22 23 23 24 24
	}
}
# 450-24TX
class Card::667 {
	bitmap "chameleon/v1208/bitmaps/bs450_200_24_front.gif"
	statusProc dms450_200SLedsStatusProc
	children {Port Led}
#	Card.positions {{0 60}}
#	Card.instances {3.5.0}

	Port.positions {
		{226 60} {226 88} {254 60} {254 88} {282 60} {282 88}
		{310 60} {310 88} {338 60} {338 88} {366 60} {366 88}
		{408 60} {408 88} {436 60} {436 88} {464 60} {464 88}
		{492 60} {492 88} {520 60} {520 88} {548 60} {548 88}
	}
	Port.subClasses {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1}
	Port.instances { 1 2 3 4 5 6 7 8 9 10 11 12
		13 14 15 16 17 18 19 20 21 22 23 24}

	Led.positions {
		{596 83} {619 83} {596 100} {619 100} {596 115} {619 115}
		{639 73} {639 83} {639 105} {639 115}
		{649 73} {649 83} {649 105} {649 115}
		{659 73} {659 83} {659 105} {659 115}
		{669 73} {669 83} {669 105} {669 115}
		{679 73} {679 83} {679 105} {679 115}
		{689 73} {689 83} {689 105} {689 115}
		{699 73} {699 83} {699 105} {699 115}
		{709 73} {709 83} {709 105} {709 115}
		{719 73} {719 83} {719 105} {719 115} 
		{729 73} {729 83} {729 105} {729 115}
		{739 73} {739 83} {739 105} {739 115}
		{749 73} {749 83} {749 105} {749 115}
	}
	Led.subClasses {0 0 0 0 0 0 
		1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4
		1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4
	}
	Led.instances {80 81 82 83 84 85 
		1 1 2 2 3 3 4 4 5 5 6 6
		7 7 8 8 9 9 10 10 11 11 12 12
		1 2 3 4 5 6 7 8 9 10 11 12
		13 13 14 14 15 15 16 16 17 17 18 18 
		19 19 20 20 21 21 22 22 23 23 24 24
	}
}
# 450_12TX
class Card::674 {
	bitmap "chameleon/v1208/bitmaps/bs450_200_12_front.gif"
	statusProc dms450_200SLedsStatusProc
	children {Port Led}
#	Card.positions {{0 60}}
#	Card.instances {3.5.0}

	Port.positions {
		{226 60} {226 88} {254 60} {254 88} {282 60} {282 88}
		{310 60} {310 88} {338 60} {338 88} {366 60} {366 88}
	}
	Port.subClasses {1 1 1 1 1 1 1 1 1 1 1 1}
	Port.instances { 1 2 3 4 5 6 7 8 9 10 11 12}

	Led.positions {
		{596 83} {619 83} {596 100} {619 100} {596 115} {619 115}
		{641 73} {641 83} {641 105} {641 115}
		{651 73} {651 83} {651 105} {651 115}
		{661 73} {661 83} {661 105} {661 115}
		{671 73} {671 83} {671 105} {671 115}
		{681 73} {681 83} {681 105} {681 115}
		{691 73} {691 83} {691 105} {691 115}
	}
	Led.subClasses {0 0 0 0 0 0 1 4 1 4 1 4 1 4 1 4 1 4
		1 4 1 4 1 4 1 4 1 4 1 4
	}
	Led.instances {80 81 82 83 84 85
		1 1 2 2 3 3 4 4 5 5 6 6 
		7 7 8 8 9 9 10 10 11 11 12 12
	}
}

# 350_24TX
class Card::675 {
	bitmap "chameleon/v1208/bitmaps/bs350_200_24_front.gif"
	statusProc dms450_200SLedsStatusProc
	children {Port Led}
#	Card.positions {{0 60}}
#	Card.instances {3.5.0}

	Port.positions {
		{226 60} {226 88} {254 60} {254 88} {282 60} {282 88}
		{310 60} {310 88} {338 60} {338 88} {366 60} {366 88}
		{408 60} {408 88} {436 60} {436 88} {464 60} {464 88}
		{492 60} {492 88} {520 60} {520 88} {548 60} {548 88}
	}
	Port.subClasses {1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1}
	Port.instances { 1 2 3 4 5 6 7 8 9 10 11 12
		13 14 15 16 17 18 19 20 21 22 23 24}

	Led.positions {
		{596 83} {619 83} {596 100} {619 100} {596 115} {619 115}
		{639 73} {639 83} {639 105} {639 115}
		{649 73} {649 83} {649 105} {649 115}
		{659 73} {659 83} {659 105} {659 115}
		{669 73} {669 83} {669 105} {669 115}
		{679 73} {679 83} {679 105} {679 115}
		{689 73} {689 83} {689 105} {689 115}
		{699 73} {699 83} {699 105} {699 115}
		{709 73} {709 83} {709 105} {709 115}
		{719 73} {719 83} {719 105} {719 115} 
		{729 73} {729 83} {729 105} {729 115}
		{739 73} {739 83} {739 105} {739 115}
		{749 73} {749 83} {749 105} {749 115}
	}
	Led.subClasses {0 0 0 0 0 0 
		1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4
		1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4
	}
	Led.instances {80 81 82 83 84 85
		1 1 2 2 3 3 4 4 5 5 6 6
		7 7 8 8 9 9 10 10 11 11 12 12
		1 2 3 4 5 6 7 8 9 10 11 12
		13 13 14 14 15 15 16 16 17 17 18 18 
		19 19 20 20 21 21 22 22 23 23 24 24
	}
}
# 350_12TX
class Card::676 {
	bitmap "chameleon/v1208/bitmaps/bs350_200_12_front.gif"
	statusProc dms450_200SLedsStatusProc
	children {Port Led}
#	Card.positions {{0 60}}
#	Card.instances {3.5.0}

	Port.positions {
		{226 60} {226 88} {254 60} {254 88} {282 60} {282 88}
		{310 60} {310 88} {338 60} {338 88} {366 60} {366 88}
	}
	Port.subClasses {1 1 1 1 1 1 1 1 1 1 1 1}
	Port.instances { 1 2 3 4 5 6 7 8 9 10 11 12}

	Led.positions {
		{596 83} {619 83} {596 100} {619 100} {596 115} {619 115}
		{641 73} {641 83} {641 105} {641 115}
		{651 73} {651 83} {651 105} {651 115}
		{661 73} {661 83} {661 105} {661 115}
		{671 73} {671 83} {671 105} {671 115}
		{681 73} {681 83} {681 105} {681 115}
		{691 73} {691 83} {691 105} {691 115}
	}
	Led.subClasses {0 0 0 0 0 0 1 4 1 4 1 4 1 4 1 4 1 4
		1 4 1 4 1 4 1 4 1 4 1 4
	}
	Led.instances {80 81 82 83 84 85
		1 1 2 2 3 3 4 4 5 5 6 6 
		7 7 8 8 9 9 10 10 11 11 12 12
	}
}

# 450_12FX
class Card::681 {
	bitmap "chameleon/v1208/bitmaps/bs450_200_12fx_front.gif"
	statusProc dms450_200SLedsStatusProc
	children {Port Led}

	Port.positions {
		{229 80} {258 80} {287 80} {316 80} {345 80} {374 80}
		{403 80} {432 80} {461 80} {490 80} {519 80} {548 80} 
	}
	Port.subClasses {4 4 4 4 4 4 4 4 4 4 4 4}
	Port.instances { 1 2 3 4 5 6 7 8 9 10 11 12}

	Led.positions {
		{596 83} {619 83} {596 100} {619 100} {596 115} {619 115}
		{639 83} {639 94} {639 105} 
		{649 83} {649 94} {649 105}
		{659 83} {659 94} {659 105}
		{669 83} {669 94} {669 105}
		{679 83} {679 94} {679 105}
		{689 83} {689 94} {689 105}
		{699 83} {699 94} {699 105}
		{709 83} {709 94} {709 105}
		{719 83} {719 94} {719 105}
		{729 83} {729 94} {729 105}
		{739 83} {739 94} {739 105}
		{749 83} {749 94} {749 105}
	}
	Led.subClasses {0 0 0 0 0 0 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4
		1 3 4 1 3 4 1 3 4 1 3 4 1 3 4 1 3 4
	}
	Led.instances {80 81 82 83 84 85
		1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 
		7 7 7 8 8 8 9 9 9 10 10 10 11 11 11 12 12 12
	}
}

class Card::12000 {
	bitmap ""
}
class Card::24000 {
	bitmap ""
}
class Card::? {
	bitmap "chameleon/v1208/bitmaps/unsupportedmda.gif"
}

# DMA 450 1SX (1000 mbps)
class Card::24656 {
	bitmap "chameleon/v1208/bitmaps/450_24_1sx.gif"
	children {Port Led}
	Port.positions {{68 25}}
	Port.subClasses {2}
	Port.instances {25}
	Led.positions {{150 25} {150 35} {150 45} }
	Led.subClasses {5 5 5}
	Led.instances {25 25 25}
}

# DMA 450 1SR (1000 mbps)
class Card::24657 {
	bitmap "chameleon/v1208/bitmaps/450_24_1sr.gif"
	children {Port Led}
	Port.positions {{10 25}}
	Port.subClasses {3}
	Port.instances {25}
	Led.positions { {150 25} {160 25} 
			{150 35} {160 35} {150 45} {160 45} }
	Led.subClasses {5 5 5 5 5 5}
	Led.instances {25 25 25 25 25 25}
}

# DMA 450 4TX (10/100 mbps)
class Card::24658 {
	bitmap "chameleon/v1208/bitmaps/450_24_4tx.gif"
	children {Port Led}
	Port.positions {{12 25} {40 25} {68 25} {96 25}}
	Port.subClasses {1 1 1 1}
	Port.instances {25 26 27 28}
	Led.positions { {145 18} {155 18} {165 18} {175 18}
			{145 28} {155 28} {165 28} {175 28}
			{145 38} {155 38} {165 38} {175 38}
			{145 48} {155 48} {165 48} {175 48}}
	Led.subClasses {1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4}
	Led.instances {25 26 27 28 25 26 27 28 25 26 27 28 25 26 27 28}
}

# DMA 450 2FX (100 mbps)
class Card::24659 {
	bitmap "chameleon/v1208/bitmaps/450_24_2fx.gif"
	children {Port Led}
	Port.positions {{9 25} {74 25}}
	Port.subClasses {2 2}
	Port.instances {25 26}
	Led.positions { {160 25} {170 25} 
			{160 35} {170 35} {160 45} {170 45} }
	Led.subClasses {1 1 3 3 4 4}
	Led.instances {25 26 25 26 25 26}
}

# DMA 450 1LX (1000 mbps)
class Card::24662 {
	bitmap "chameleon/v1208/bitmaps/450_24_1lx.gif"
	children {Port Led}
	Port.positions {{68 25}}
	Port.subClasses {2}
	Port.instances {25}
	Led.positions {{150 25} {150 35} {150 45} }
	Led.subClasses {5 5 5}
	Led.instances {25 25 25}
}

# DMA 450 1LR (1000 mbps)
class Card::24663 {
	bitmap "chameleon/v1208/bitmaps/450_24_1lr.gif"
	children {Port Led}
	Port.positions {{10 25}}
	Port.subClasses {3}
	Port.instances {25}
	Led.positions { {150 25} {160 25} 
			{150 35} {160 35} {150 45} {160 45} }
	Led.subClasses {5 5 5 5 5 5}
	Led.instances {25 25 25 25 25 25}
}

# DMA 450 4FX (100 mbps)
class Card::24682 {
	bitmap "chameleon/v1208/bitmaps/450_24_4fx.gif"
	children {Port Led}
	Port.positions {{15 28} {43 28} {71 28} {99 28}}
	Port.subClasses {4 4 4 4}
	Port.instances {25 26 27 28}
	Led.positions { 
			{145 28} {155 28} {165 28} {175 28}
			{145 38} {155 38} {165 38} {175 38}
			{145 48} {155 48} {165 48} {175 48}}
	Led.subClasses {1 1 1 1 3 3 3 3 4 4 4 4}
	Led.instances {25 26 27 28 25 26 27 28 25 26 27 28}
}

# DMA 450 1SX
class Card::12656 {
	bitmap "chameleon/v1208/bitmaps/450_12_1sx.gif"
	children {Port Led}
	Port.positions {{68 25}}
	Port.subClasses {2}
	Port.instances {13}
	Led.positions {{150 25} {150 35} {150 45} }
	Led.subClasses {5 5 5} 
	Led.instances {13 13 13}
}

# DMA 450 1SR
class Card::12657 {
	bitmap "chameleon/v1208/bitmaps/450_12_1sr.gif"
	children {Port Led}
	Port.positions {{10 25}}
	Port.subClasses {3}
	Port.instances {13}
	Led.positions { {150 25} {160 25} 
			{150 35} {160 35} {150 45} {160 45} }
	Led.subClasses {5 5 5 5 5 5}
	Led.instances {13 13 13 13 13 13}
}

# DMA 450 4TX
class Card::12658 {
	bitmap "chameleon/v1208/bitmaps/450_12_4tx.gif"
	children {Port Led}
	Port.positions {{12 25} {40 25} {68 25} {96 25}}
	Port.subClasses {1 1 1 1}
	Port.instances {13 14 15 16}
	Led.positions { {145 18} {155 18} {165 18} {175 18}
			{145 28} {155 28} {165 28} {175 28}
			{145 38} {155 38} {165 38} {175 38}
			{145 48} {155 48} {165 48} {175 48}}
	Led.subClasses {1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4}
	Led.instances {13 14 15 16 13 14 15 16 13 14 15 16 13 14 15 16}
}

# DMA 450 2FX
class Card::12659 {
	bitmap "chameleon/v1208/bitmaps/450_12_2fx.gif"
	children {Port Led}
	Port.positions {{9 25} {74 25}}
	Port.subClasses {2 2}
	Port.instances {13 14}
	Led.positions { {160 25} {170 25} 
			{160 35} {170 35} {160 45} {170 45} }
	Led.subClasses {1 1 3 3 4 4}
	Led.instances {13 14 13 14 13 14}
}

#	Led.positions { {160 18} {170 18} {160 28} {170 28} 
#			{160 38} {170 38} {160 48} {170 48} }
# DMA 450 1LX
class Card::12662 {
	bitmap "chameleon/v1208/bitmaps/450_12_1lx.gif"
	children {Port Led}
	Port.positions {{68 25}}
	Port.subClasses {2}
	Port.instances {13}
	Led.positions {{150 25} {150 35} {150 45} }
	Led.subClasses {5 5 5}
	Led.instances {13 13 13}
}

# DMA 450 1LR
class Card::12663 {
	bitmap "chameleon/v1208/bitmaps/450_12_1lr.gif"
	children {Port Led}
	Port.positions {{10 25}}
	Port.subClasses {3}
	Port.instances {13}
	Led.positions { {150 25} {160 25} 
			{150 35} {160 35} {150 45} {160 45} }
	Led.subClasses {5 5 5 5 5 5}
	Led.instances {13 13 13 13 13 13}
}

# DMA 450 4FX (100 mbps)
class Card::12682 {
	bitmap "chameleon/v1208/bitmaps/450_12_4fx.gif"
	children {Port Led}
	Port.positions {{15 28} {43 28} {71 28} {99 28}}
	Port.subClasses {4 4 4 4}
	Port.instances {13 14 15 16}
	Led.positions { 
			{145 28} {155 28} {165 28} {175 28}
			{145 38} {155 38} {165 38} {175 38}
			{145 48} {155 48} {165 48} {175 48}}
	Led.subClasses {1 1 1 1 3 3 3 3 4 4 4 4}
	Led.instances {25 26 27 28 25 26 27 28 25 26 27 28}
}

class Port {
	isSelect 1
	statusVar {$ifOperStatus<<3 | $ifAdminStatus}

	edit {
		{{-title "Interface" -prefix if
			-help "dmdb/chameleon/v1208/help.html#ifPort"} {
			ifIndex ifDescr ifType ifMtu ifPhysAddress ifAdminStatus ifOperStatus
			ifLastChange ifSpeed
		}}
		{{-title "VLAN" -prefix rcVlanPort
			-help "dmdb/chameleon/v1208/help.html#vlanPort"} {
			rcVlanPortType rcVlanPortVlanIds
			{separator} rcVlanPortDiscardTaggedFrames
			{separator} rcVlanPortDiscardUntaggedFrames rcVlanPortDefaultVlanId
		}}

		{{-title "Stp Port" -prefix dot1dStpPort
	                -help "dmdb/chameleon/v1208/help.html#stpConfig"} {
			dot1dStpPortPriority dot1dStpPortState 
			dot1dStpPortEnable dot1dStpPortPathCost 
			dot1dStpPortDesignatedRoot dot1dStpPortDesignatedCost 
			dot1dStpPortDesignatedBridge dot1dStpPortDesignatedPort
			dot1dStpPortForwardTransitions
		}}
	}
	indexNames {Port}
	indexNamesProc dmsIndexPort

	graph {
		{{-title "Interface" 
			-help "dmdb/chameleon/v1208/mib2.html#graphIf"} {
			ifInOctets ifOutOctets ifInUcastPkts ifOutUcastPkts ifInNUcastPkts
			ifOutNUcastPkts ifInDiscards ifOutDiscards ifInErrors ifOutErrors
			ifInUnknownProtos 
		}}

		{{-title "Ethernet\nErrors" -prefix dot3Stats
			-help "dmdb/chameleon/v1208/ether.html#error"} {
			dot3StatsAlignmentErrors dot3StatsFCSErrors dot3StatsInternalMacTransmitErrors
			dot3StatsInternalMacReceiveErrors dot3StatsCarrierSenseErrors
			dot3StatsFrameTooLongs dot3StatsSQETestErrors dot3StatsDeferredTransmissions
			dot3StatsSingleCollisionFrames dot3StatsMultipleCollisionFrames
			dot3StatsLateCollisions dot3StatsExcessiveCollisions
		}}
		{{-title "Transparent\nBridging" -prefix dot1dTp
			-help "dmdb/chameleon/v1208/help.html#grBridgePort"} {
			dot1dTpPortInFrames dot1dTpPortOutFrames dot1dTpPortInDiscards
		}}
		{{-title "RMON\nEtherStat" -prefix etherStats
			-help "help/rmon.html#traffic"} {
			etherStatsOctets etherStatsPkts etherStatsBroadcastPkts etherStatsMulticastPkts
			etherStatsCRCAlignErrors etherStatsUndersizePkts etherStatsOversizePkts
			etherStatsFragments etherStatsCollisions
			etherStatsJabbers  etherStatsPkts64Octets
			etherStatsPkts65to127Octets etherStatsPkts128to255Octets
			etherStatsPkts256to511Octets etherStatsPkts512to1023Octets
			etherStatsPkts1024to1518Octets 
		}}
                {{-title "RMON\nHistory"
			-useProc? dmsCheckRmonHistory
                        -help "help/rmon.html#history"
                        -table -showTableIndex
			-buildCB dmsRmonHistory
                        -prefix etherHistory} {
                        etherHistorySampleIndex etherHistoryUtilization etherHistoryOctets
                        etherHistoryPkts etherHistoryBroadcastPkts etherHistoryMulticastPkts
                        etherHistoryDropEvents etherHistoryCRCAlignErrors etherHistoryUndersizePkts
                        etherHistoryOversizePkts etherHistoryFragments etherHistoryCollisions
                }}
	}
	menu {
		{command -label "Edit..." -command {dm_DoMenu edit Port}}
		{command -label "Graph..." -command {dm_DoMenu graph Port}}
		{separator}
		{command -label "Enable" -command {dm_DoActions 1 ifAdminStatus}}
		{command -label "Disable" -command {dm_DoActions 2 ifAdminStatus}}
	}
}


class Port::1 {
	bitmap "chameleon/v1208/bitmaps/rj45.gif"
	# oper=up, admin=up
	status==9 {bitmap "chameleon/v1208/bitmaps/rj45-1.gif"}
	# down, up
	status==17 {bitmap "chameleon/v1208/bitmaps/rj45-3.gif"}
	# up, down
	status==10 {bitmap "chameleon/v1208/bitmaps/rj45-2.gif"}
	# down, down
	status==18 {bitmap "chameleon/v1208/bitmaps/rj45-2.gif"}
	# up, testing
	status==11 {bitmap "chameleon/v1208/bitmaps/rj45-4.gif"}
	# down, testing
	status==19 {bitmap "chameleon/v1208/bitmaps/rj45-4.gif"}
	# testing, testing
	status==27 {bitmap "chameleon/v1208/bitmaps/rj45-4.gif"}
	# testing, up
	status==25 {bitmap "chameleon/v1208/bitmaps/rj45-4.gif"}
}

class Port::2 {
	bitmap "chameleon/v1208/bitmaps/fiber.gif"
	# oper=up, admin=up
	status==9 {bitmap "chameleon/v1208/bitmaps/fiber-1.gif"}
	# down, up
	status==17 {bitmap "chameleon/v1208/bitmaps/fiber-3.gif"}
	# up, down
	status==10 {bitmap "chameleon/v1208/bitmaps/fiber-3.gif"}
	# down, down
	status==18 {bitmap "chameleon/v1208/bitmaps/fiber-2.gif"}
	# up, testing
	status==11 {bitmap "chameleon/v1208/bitmaps/fiber-4.gif"}
	# down, testing
	status==19 {bitmap "chameleon/v1208/bitmaps/fiber-4.gif"}
	# testing, testing
	status==27 {bitmap "chameleon/v1208/bitmaps/fiber-4.gif"}
	# testing, up
	status==25 {bitmap "chameleon/v1208/bitmaps/fiber-4.gif"}
} 

# Dual Fiber
class Port::3 {
	bitmap "accelar1k/v120/bitmaps/dual.gif"
	# Legend: U(p) D(own) F(ail) T(esting) S(tandby up) N(o standby link)
	# oper=up, admin=up
	status==9 {bitmap "chameleon/v1208/bitmaps/dual_UU.gif"}
	# down, up
	status==17 {bitmap "chameleon/v1208/bitmaps/dual_FF.gif"}
	# up, down
	status==10 {bitmap "chameleon/v1208/bitmaps/dual_FF.gif"}
	# down, down
	status==18 {bitmap "chameleon/v1208/bitmaps/dual_DD.gif"}
	# up, testing
	status==11 {bitmap "chameleon/v1208/bitmaps/dual_TS.gif"}
	# down, testing
	status==19 {bitmap "chameleon/v1208/bitmaps/dual_TN.gif"}
	# testing, testing
	status==27 {bitmap "chameleon/v1208/bitmaps/dual_TN.gif"}
	# testing, up
	status==25 {bitmap "chameleon/v1208/bitmaps/dual_TN.gif"}
}

# MT-RJ Fiber
class Port::4 {
	bitmap "accelar1k/v200/bitmaps/mtrj.gif"
	# oper=up, admin=up
	status==9 {bitmap "accelar1k/v200/bitmaps/mtrj-1.gif"}
	# down, up
	status==17 {bitmap "accelar1k/v200/bitmaps/mtrj-3.gif"}
	# up, down
	status==10 {bitmap "accelar1k/v200/bitmaps/mtrj-3.gif"}
	# down, down
	status==18 {bitmap "accelar1k/v200/bitmaps/mtrj-2.gif"}
	# up, testing
	status==11 {bitmap "accelar1k/v200/bitmaps/mtrj-4.gif"}
	# down, testing
	status==19 {bitmap "accelar1k/v200/bitmaps/mtrj-4.gif"}
	# testing, testing
	status==27 {bitmap "accelar1k/v200/bitmaps/mtrj-4.gif"}
	# testing, up
	status==25 {bitmap "accelar1k/v200/bitmaps/mtrj-4.gif"}
}
 
#type 0 LED: chassis leds
class Led::0 {
	bitmap "chameleon/v1208/bitmaps/led.xbm"
	status==356 {color green}
	status==456 {color green}
}

#type 1 LED: 100Mbps
class Led::1 {
	bitmap "chameleon/v1208/bitmaps/led.xbm"
	#statusVar {$ifOperStatus<<8 | [expr $ifSpeed/1000000]}
	status==356 {color green}
	status==456 {color green}
}

#type 2 LED: 10Mbps
class Led::2 {
	bitmap "chameleon/v1208/bitmaps/led.xbm"
	#statusVar {$ifOperStatus<<8 | [expr $ifSpeed/1000000]}
	status==266 {color green}
	status==276 {color green}
}

#type 3 LED: Full Duplex
class Led::3 {
	bitmap "chameleon/v1208/bitmaps/led.xbm"
	#statusVar {[expr $ifSpeed/1000000]}
	status==20 {color green}
	status==200 {color green}
}

#type 4 LED: Activity: how to control this?
class Led::4 {
	bitmap "chameleon/v1208/bitmaps/led.xbm"
	#statusVar {$ifOperStatus<<8 | [expr $ifSpeed/1000000]}
	status==266 {color green}
	status==276 {color green}
	status==356 {color green}
	status==456 {color green}
	status==1256 {color green}
}

#type 5 LED: 1000Mbps - Link,Phy Select
#	statusVar {$ifOperStatus<<8 | [expr $ifSpeed/1000000]}
class Led::5 {
	bitmap "chameleon/v1208/bitmaps/led.xbm"
	#statusVar {$ifOperStatus<<8 | [expr $ifSpeed/1000000]}
	# Up + 1000
	status==1256 {color green}
	status==2256 {color green}
	# Down + 1000
	status==1512 {color green}
	status==2512 {color green}
}

class Bridge {
	edit {
		{{-title "Bridge Info" -prefix dot1dBase
			-help "dmdb/chameleon/v1208/help.html#bridge_info"} {
			dot1dBaseBridgeAddress	dot1dBaseNumPorts
			dot1dBaseType
		}}
		{{-title "Bridge Port" -table -prefix dot1dBasePort
			-help "dmdb/chameleon/v1208/help.html#bridge_port"} {
			dot1dBasePortIfIndex dot1dBasePortCircuit
			dot1dBasePortDelayExceededDiscards dot1dBasePortMtuExceededDiscards
		}}
		{{-title "Spanning Tree" -prefix dot1dStp
                        -help "dmdb/chameleon/v1208/help.html#bridge_stp"} {
			dot1dStpProtocolSpecification dot1dStpPriority 
			dot1dStpTimeSinceTopologyChange dot1dStpTopChanges
			dot1dStpDesignatedRoot	dot1dStpRootCost dot1dStpRootPort
			dot1dStpMaxAge dot1dStpHelloTime dot1dStpForwardDelay
			dot1dStpBridgeMaxAge dot1dStpBridgeHelloTime 
			dot1dStpBridgeForwardDelay
		}}	
		{{-title "Transparent" -prefix dot1dTp
			-help "dmdb/chameleon/v1208/help.html#bridgeBase"} {
			dot1dTpLearnedEntryDiscards dot1dTpAgingTime
		}}
		{{-title "Forwarding" -table -prefix dot1dTpFdb
			-help "dmdb/chameleon/v1208/help.html#bridgeForwarding"} {
			dot1dTpFdbStatus dot1dTpFdbAddress dot1dTpFdbPort
		}}
	}
}

# -----------------------------------------------------------------------------

class rmon {
	menu {
        {command -label "Alarm Manager..." -underline 6 -command "dmsCreateAlarm Sess0"}
		{command -label "Alarms..." -underline 0 -command {dm_Dialog edit Alarm}}
		{command -label "History..." -underline 0 -command {dm_Dialog edit History}}
	}
	#{command -label "Hosts..." -command {dm_Dialog edit Host}}
	#{command -label "RMON Hosts..." -command {dms_RMONHost Sess0 .rmonHost}}
}


class Alarm {
	edit {
		{{-title "Alarm" -table -showTableIndex -prefix alarm
			-help "help/rmon.html#alarm"
			-delete {4 alarmStatus}} {
			alarmInterval alarmVariable alarmSampleType alarmValue
			alarmStartupAlarm alarmRisingThreshold alarmRisingEventIndex
			alarmFallingThreshold alarmFallingEventIndex alarmOwner alarmStatus
		}}
		{{-title "Event" -table -showTableIndex -prefix event
			-help "help/rmon.html#event"
			-insert {2 eventStatus 1}
			-delete {4 eventStatus}
			-help "help/rmon.html#event"} {
			eventDescription eventType eventCommunity eventLastTimeSent
			eventOwner eventStatus
		}}
		{{-title "Log" -table -showTableIndex -prefix log
			-help "help/rmon.html#log"} {
			logTime logDescription
		}}
	}
}

class History {
	edit {
		{{-title "Control" -table -showTableIndex
			-prefix historyControl
			-help "help/rmon.html#control"
			-delete {4 historyControlStatus}
			-insert {2 historyControlStatus 1}} {
			historyControlDataSource historyControlBucketsRequested
			historyControlBucketsGranted historyControlInterval
			historyControlOwner historyControlStatus
		}}
		{{-title "Ether Stats Control" -table -showTableIndex
			-help "help/rmon.html#control"
			-insert {2 etherStatsStatus 1}
			-delete {4 etherStatsStatus}
			-prefix etherStats} {
			etherStatsDataSource etherStatsStatus etherStatsOwner
		}}
	}
}

class IP {
	edit {
		{{-title "IP" -prefix ip
			 -help "dmdb/chameleon/v1208/mib2.html#ip"} {
			ipDefaultTTL ipReasmTimeout
		}}
		{{-title "IP Address" -prefix ipAdEnt -table 
			-help "dmdb/chameleon/v1208/mib2.html#ipAd"} {
			ipAdEntAddr ipAdEntNetMask 
			ipAdEntBcastAddr ipAdEntReasmMaxSize
		}}
		{{-title "ARP" -prefix ipNetToMedia -table
			-help "dmdb/chameleon/v1208/mib2.html#arp"} {
			ipNetToMediaIfIndex ipNetToMediaPhysAddress 
			ipNetToMediaNetAddress ipNetToMediaType
		}}
	}
}



class vlan {
	menu {
		{command -label "VLANs..." -underline 0 -command "dm_Dialog edit Vlans"}
	}
}

#
# HACK - remove vlan configuration capability for now - [ET] 10/30/98
#
#               {{-title "Basic" -table -prefix rcVlan -showTableIndex
#                       -help "dmdb/chameleon/v1208/help.html#vlan"
#                       -buildCB dmsVlanBuildCB
#                       -startIndexProc dmsIgnoreVlanNull
#                       -insertCB dmsVlanInsertCB
#                       -insert {4 rcVlanRowStatus}
#                       -delete {6 rcVlanRowStatus}} {
#                       rcVlanName rcVlanColor
#                       rcVlanType rcVlanStgId
#                       rcVlanPortMembers rcVlanActiveMembers
#               }}

# XXX rcVlanSubnetAddr rcVlanSubnetMask not used until 1.1
class Vlans {
        edit {
                {{-title "Basic" -table -prefix rcVlan -showTableIndex
                        -startIndexProc dmsIgnoreVlanNull
                        -help "dmdb/chameleon/v1208/help.html#vlan"} {
                        rcVlanName rcVlanColor
                        rcVlanType rcVlanStgId
                        rcVlanPortMembers 
                }}
        }
}

# -----------------------------------------------------------------------------

source "$Dm_Path/dmdb/chameleon/v1208/450.tcl"
source "$Dm_Path/dmdb/chameleon/v1208/mibs/agentcap.tcl"
source "$Dm_Path/dmdb/chameleon/v1208/mibs/specific.tcl"

