	Compaq  Interconnect Switch Management Utility: cpqswcfg


INTRODUCTION:

cpqswcfg is a utility for managing Compaq Ethernet Interconnect switches.  While
this release manages switches via the SNMP interface, cpqswcfg may be used to
manage a switch via any available interface by using its extensible device 
handler feature.  cpqswcfg may be invoked in either an interactive or command
line (scriptable) mode.  cpqswcfg may be invoked on the command line, via a 
script (e.g. .bat file), from an executable (.exe), or any other way that 
doesn't interfere with text-based user input.The discussion below describes 
SNMP operations, but other interfaces may be used by future device handlers in 
a similar fashion.

Versions of cpqswcfg are available for both Win32 and Linux (Redhat and SuSE 
are supported).

cpqswcfg will process options and arguments and, if in interactive mode, solicit
user input for any unspecified but required data.  cpqswcfg will process the 
options and save the defaults in an initialization file, cpqswcfg.ini. Future 
invocations will load the defaults.  Errors result in an exit(1) and an error 
or usage message.

Once the required data is available, cpqswcfg will invoke (via exec()) a 
device-specific handler to perform the selected function on the device.  The 
device-specific handler's only input will be via command line options (i.e. no 
user input).  For this release, a device-specific handler for the P-Class GbE 
and E-Class C-GbE Interconnect Switches is supplied.  The handler is named 
"cpqpgbe.bat" for Win32 and "cpqpgbe" for Linux.

The handler will typically perform several SNMP operations to complete a given 
function.  The Win32 version will invoke "cpqsnmp" to perform the actual SNMP 
calls to the switch.  cpqsnmp makes calls into the standard Win32 SNMP 
libraries.  The Linux version uses the snmpset, snmpget, and snmpwalk commands
installed via the Linux ucd-snmp package.  Version ucd-snmp-4.2.3 is 
supported, although any version will likely work.



SYNTAX:

cpqswcfg [options] [function]

These two options are special in that they will be saved (in cpqswcfg.ini) as 
defaults when specified.  The defaults persist until removed via the -z option.

	-i IPaddr		IPaddr specifies the IP address of the 
				target device.

	-d deviceType		deviceType specifies the type of device.  
				Default is "cpqpgbe".

	
These options will not be saved as a default:

	-c community		community specifies the SNMP community string of
				the target device.  The community string is the 
				SNMP version of a password and is required for 
				functions which communicate with the switch.

	-h function|all		List the function(s) with a description, where 
				"function" is a valid function keyword or "all".

	-o "other args"		The "other args" are passed to the device-
				specific handler at the end of the command line.
				They must be enclosed in quotes.  Either a 
				function or -o may be specified, not both.  This
				option allows extensiblility to future switch
				device handlers with arbitrary functions and 
				syntax.  Therfore, the syntax and semantics of 
				"other args" are undefined.

	-q			Query for function to perform.  Any command line
				arguments are ignored.

	-x args			Invoke the cpqsnmp tool with "args".  All 
				remaining items on the command line will be sent
				to cpqsnmp.  This option succeeds only in
				Win32 environments since no cpqsnmp is shipped
				with the Linux version, although one could be
				written to invoke snmpget, snmpset, etc., for
				equivalent function.

	-y			Invoke the device-specific processor with the 
				"-y" option so it will pause for user input 
				before exit, to allow the user to view results 
				before the "DOS box" disappears.
	
	-z			Reset (remove) defaults.  This will have the 
				effect of forcing a query for the defaultable 
				option values on the next invocation.  The 
				implementation is to delete cpqswcfg.ini.


The functions below specify the actual operations to be performed.  Specifying 
more than one at a time is an error.  Several functions below use a port mask.
The masks are specified in byte-wise hexadecimal format with the low numbered 
ports on the right.  Ports use a 1-based numbering scheme (there is no port 0).
For example, a mask specifying ports 1-4 would be 0xF0, ports 5-8 would be 
specified as 0xF, and ports 9-12 as 0xF000.
 
The P-Class GbE and E-Class C-GbE Interconnect Switch SNMP variable name is 
included in the relevant descriptions below.  More detail may be found by 
reading the SNMP MIB description of the variable.  Other switches may use other
means.

The first word in the descriptions below is the function keyword.

		
autologout web|console minutes	
				Sets the autologout timeout for the "web" or 
				"console" interface to the specified number of 
				minutes.  Note that accepted values may vary by 
				device and interface.  For example, the 
				"cpqpgbe" device accepts values of 0 (never), 
				2, 5, 10, and 15 minutes for the console, and 
				between 5 and 20 minutes for the web interface.
				"web" and "console" are keywords.

cos strict|round
cosQueue qnum packets latency	
				Configure Cost of Service.
			
	strict|round (keyword)	
				Indicates the scheduling mechanism for CoS 
				queues.  In strict mode - packet process will 
				start from highest CoS queue for a given port, 
				then moves on to the next lower CoS queue while 
				the higher CoS queue is empty packet.  In 
				roundRobin mode - packet process will start 
				from highest CoS queue for a given port, then 
				moves on to the next lower CoS queue after 
				sending swL2CosMaxPackets or when the higher 
				CoS queue is empty packet. 
				(swL2CosScheduleMethod)

	qnum (integer)		
				Specify the queue number to modify.

	packets (integer)	
				Indicates maximum packet count for a CoS Queue.
				This object only takes effect at roundRobin 
				mode of swL2CosScheduleMethod. 
				(swL2CosMaxPackets)
			
	latency (integer)	
				Indicates maximum allowable latency for packet 
				transmission on a CoS Queue such that the 
				packets on this queue are not delayed more than 
				the maximum allowable latency time. The 
				granularity of this timer is 16 microsecond. A 
				value of 0x00 disable this timer.  
				(swL2CosMaxLatency)


firmware TFTPaddr filename	
				Upgrade firmware (download from TFTP server).

get_cfgfile TFTPaddr filename
				Get configuration file (upload to TFTP server).

get_logfile TFTPaddr filename
				Get log file (upload to TFTP server).
				
gvrp enable|disable
	enable|disable (keyword)
				Enable or disable switch GVRP status.
				(dot1qGvrpStatus)
gvrpPort port# enable|disable
				Enable or disable port GVRP status. 
				(dot1qPortGvrpStatus)
	port# (integer)
				Specify port number.
	enable|disable (keyword)
				Enable or disable GVRP on the port.

igmpCreate VLANid interval maxTime robust v0Querier|v1Querier|v2Querier|other
igmpDelete VLANid
				This function configures IGMP behavior.

	VLANid (integer)  
				This object indicates the IGMP control entry's 
				VLAN id. If VLAN is disabled or in Mac-Base 
				mode, the Vid is always 0 and cannot be changed 
				by management users. If VLAN is in Port-Base 
				mode, the Vid is arranged from 1 to 12 , fixed 
				form. If VLAN is in 802.1q mode, the Vid setting
				can vary from 1 to 4094 by management user, and 
				the Vid in each entry must be unique in the IGMP
				Control Table. (swIGMPCtrlVid)
	interval  (integer) 
				The frequency at which IGMP Host-Query packets 
				are transmitted on this interface. 
				(swIGMPQueryInterval)
	maxTime(integer)
				The maximum query response time advertised in 
				IGMPv2 queries on this interface. 
				(swIGMPQueryMaxResponseTime)			
	robust (integer)
				The Robustness Variable allows tuning for the 
				expected packet loss on a subnet.  If a subnet 
				is expected to be lossy, the Robustness Variable
				may be increased.  IGMP is robust to (Robustness
				Variable-1) packet losses. 
				(swIGMPQueryMaxResponseTime)
	v0Querier|v1Querier|v2Querier|other (keyword)
				IGMP querier version (swIGMPQuerierVersion).
		
IPaddress manual|BOOTP|DHCP [IPaddr subnetMask defaultGateway] 

	manual|BOOTP|DHCP (keyword)
				Specify from where switch gets its IP address 
				(BOOTP, DHCP, or manually via another interface 
				such as RS232 or HTTP).
	IPaddr (IP address)
				Argument when manual is specified.   
				It specifies the switch IP address.
	subnetMask (mask)
				Argument when manual is specified.   
				It specifies the switch subnet mask.
	defaultGateway (IP address)
				Argument when manual is specified.   
				It specifies the switch default gateway.

mib2 contact name location
	contact name location (text)	
				Set MIB2 system information: contact, name, and 
				location info for the switch.

mirrorCreate mirror# srcPort# targetPort# ingress|egress|both
mirrorDelete mirror#
				This function configures port mirroring.

	mirror# (integer) 
				Specifies the mirror number (only "1" is valid 
				for cpqpgbe device).  (swPortMirrorIndex)
	srcPort# (integer) 
				Specifies the source port  
				(swPortMirrorSourcePort)
	targetPort# (integer) 
				Specifies the target port 
				(swPortMirrorTargetPort)
	ingress|egress|both (keyword)  
				Specifies affected packet type  
				(swPortMirrorDirection)
	
multAddrFilter FDBid MACaddr receivePort egress forbid invalid|perm|delReset|delTimeout
				This function configures Static (MAC) Multicast 
				Address Filtering
	FDBid (integer)
				The relevant Filtering Database ID (VLAN ID).
	MACaddr  (integer) 
				The destination MAC address in a frame to which 
				this entry's filtering information applies.  
				This object must take the value of a Multicast 
				or Broadcast address. 
				(dot1qStaticMulticastAddress)
	receivePort (integer)
				Either the value '0', or the port number of the 
				port from which a frame must be received in 
				order for this entry's filtering information to
				apply.  A value of zero indicates that this 
				entry applies on all ports of the device for 
				which there is no other applicable entry. 
				(dot1qStaticMulticastReceivePort)
	egress (mask)
				The set of ports to which frames received from 
				a specific port and destined for a specific 
				Multicast or Broadcast MAC address must be 
				forwarded, regardless of any dynamic information
				e.g. from GMRP.  A port may not be added in this
				set if it is already a member of the set of 
				ports in 
				dot1qStaticMulticastForbiddenEgressPorts. The 
				default value of this object is a string of ones
				of appropriate length. 
				(dot1qStaticMulticastStaticEgressPorts)
	forbid (mask)
				The set of ports to which frames received from 
				a specific port and destined for a specific 
				Multicast or Broadcast MAC address must not be 
				forwarded, regardless of any dynamic information
				e.g. from GMRP.  A port may not be added in this
				set if it is already a member of the set of 
				ports in dot1qStaticMulticastStaticEgressPorts. 
				The default value of this object is a string of 
				zeros of appropriate length. 
				(dot1qStaticMulticastForbiddenEgressPorts)
	invalid|perm|delReset|delTimeout (keyword)
		invalid
				Removes the corresponding entry.
		perm
				This entry is currently in use and will remain 
				so after the next reset of the bridge.
		delReset
				This entry is currently in use and will remain 
				so until the next reset of the bridge.
		delTimeout
				This entry is currently in use and will remain 
				so until it is aged out.
				(dot1qStaticMulticastStatus)

portName port# name		
portStatus port# enable|disable
portCfg port# flow|noflow nway|10half|10full|100half|100full|1000half|1000full
	port# (integer)		
				Specify port number.
	name (text)		
				The port name
	enable/disable (keyword)
				Enable or disable the port.
	flow (keyword) 
				Enables port flow control. 
				(swL2PortCtrlFlowCtrlState)
	noflow (keyword) 
				Disables port flow control.
	nway (keyword) 
				Enables N-way function mode.
	10half  (keyword) 
				Sets the port to 10Mbit/sec, half-duplex. 
				(swL2PortCtrlNwayState)
	10full (keyword) 
				Sets the port to 10Mbit/sec, full-duplex.
	100half  (keyword) 
				Sets the port to 100Mbit/sec, half-duplex.
	100full  (keyword)
				Sets the port to 100Mbit/sec, full-duplex.
	1000half (keyword) 
				Sets the port to 1000Mbit/sec, half-duplex.
	1000full  (keyword)
				Sets the port to 1000Mbit/sec, full-duplex.

query functionKeyword|all
				This function will display the SNMP 
				configuration (OID, type, and value) for the 
				specified functionKeyword.  The functionKeyword 
				is one of the above function keywords or "all".
				If  "all" is specified, the SNMP configuration 
				for all the functions is displayed.

qos basePort priority class
				Define Traffic Class (Quality of Service).
	basePort (integer)
				Specifies associated base port. (dot1dBasePort)
	priority (integer)
				Specifies associated priority. 
				(dot1dTrafficClassPriority)
	class (integer)
				The Traffic Class the received frame is mapped to. 
				(dot1dTrafficClass)		

reset reboot|save|default|def_noIP|nvram
	reboot (keyword)
				Causes a switch reboot. (swL2DevCtrlSystemReboot)
	save (keyword)
				Causes a configuration save to NVRAM and reboot
	default (keyword)
				Causes load factory default reboot.
	def_noIP (keyword)
				Causes a load factory default except IP 
				addresses reboot.
	nvram (keyword)
				Write configuration to NVRAM (no reboot).


rs232 enable|oob|disable [2400|9600|19200|38400|57200|115200 [8dataBits|7dataBits [1stopBits|2stopBits [none|oddParity|evenParity]]]
				Configure the RS232 (console) port.

	enable|disable|oob
				Specify console mode on device restart.

	2400|9600|19200|38400|57200|115200 (keyword)	
				Specifies the BAUD rate 
				(agentConsoleModeManagerBaudRate)
	8dataBits|7dataBits
				The DataBits for console mode, If the 
				agentRs232PortConfig change to console mode 
				then the device will use this group to make a 
				setup for console value and 
				agentSlipModeManager group will deactive 
				automatically. (agentConsoleModeManagerDataBits).
	1stopBits|2stopBits
				Specifies the number of stop bits. 
				(agentConsoleModeManagerStopBits)
	oddParity|evenParity
				The Parity for console mode, If the 
				agentRs232PortConfig change to console mode then
				the device will use this group to make a setup 
				for console value and  agentSlipModeManager 
				group will deactive automatically. 
				(agentConsoleModeManager)

	
set_cfgfile TFTPaddr filename	
				Set configuration file (download from TFTP 
				server) and write to NVRAM.

snmpTrap IPaddr community create|delete
	create|delete (keyword)
				If "delete" is specified, the SNMP trap 
				recipient is deleted from the list, otherwise it
				is added.	
	IPaddr (IP address/text)
				Specify the SNMP trap destination IP address.
	community (text)
				The SNMP community string of the trap recipient.

stp enable|disable [bridgeMaxAge [bridgeHelloTime [bridgeFwdDelay [priority]]]]

				Configure Spanning Tree Protocol for switch.

	enable|disable (keyword)
				Enable or disable STP, switch-wide. 
				(swL2DevCtrlStpState)
	bridgeMaxAge (integer)
				The value that all bridges use for MaxAge when 
				this bridge is acting as the root.  Note that 
				802.1D-1990 specifies that the range for this 
				parameter is related to the value of 
				dot1dStpBridgeHelloTime. The granularity of this
				timer is specified by 802.1D-1990 to be 1 
				second. An agent may return a badValue error if 
				a set is attempted to a value which is not a 
				whole number of seconds. (dot1dStpBridgeMaxAge)  
				Input in .01 seconds (i.e 2000 is 20 seconds).
	bridgeHelloTime (integer)
				The value that all bridges use for HelloTime 
				when this bridge is acting as the root.  The 
				granularity of this timer is specified by 
				802.1D-1990 to be 1 second.  An agent may return
				a badValue error if a set is attempted to a 
				value which is not a whole number of seconds. 
				(dot1dStpBridgeHelloTime)
	bridgeFwdDelay (integer)
				The value that all bridges use for ForwardDelay 
				when this bridge is acting as the root.  Note 
				that 802.1D-1990 specifies that the range for 
				this parameter is related to the value of 
				dot1dStpBridgeMaxAge.  The granularity of this 
				timer is specified by 802.1D-1990 to be 1 
				second. An agent may return a badValue error if 
				a set is attempted to a value which is not a 
				whole number of seconds. 
				(dot1dStpBridgeForwardDelay)
	priority (integer) 
				The value of the write-able portion of the 
				Bridge ID, i.e., the first two octets of the 
				(8 octet long) Bridge ID.  The other (last) 6 
				octets of the Bridge ID are given by the value 
				of  dot1dBaseBridgeAddress. (dot1dStpPriority)

stpPort port# enable|disable [priority [cost [byPassEnable|byPassDisable]]]
				Configure STP for port.

	port# (integer)
				Specify the port number.
	enable|disable (keyword)
				Enable or disable STP on the port. 
				(dot1dStpPortEnable)
	priority (integer)
				The value of the priority field which is 
				contained in the first (in network byte order) 
				octet of the (2 octet long) Port ID.  The other 
				octet of the Port ID is given by the value of 
				dot1dStpPort. (dot1dStpPortPriority)
	cost (integer)
				The contribution of this port to the path cost 
				of paths towards the spanning tree root which 
				include this port.  802.1D-1990 recommends that 
				the default value of this parameter be in 
				inverse proportion to the speed of the attached
				LAN. (dot1dStpPortPathCost)

	byPassEnable|byPassDisable (keyword)
				Enable/disable ByPass mode on the port.  ByPass
				sets the forwarding delay timer to zero, thus 
				bypassing the waiting time before the listening
				state.
		
trunkCreate trunk# name portmask
trunkDelete trunk#
				This function configures port trunking.

	trunk# (integer) 
				Specifies the switch trunk number. 
				(swPortTrunkIndex)
	name (text)
				Specifies the name of the switch. 
				(swPortTrunkName)
	portmask (mask) 
				Specifies which ports should be members of the 
				trunk (swPortTrunkPortList)
	

uniAddrFilter FDBid MACaddr receivePort portMask invalid|perm|delReset|delTimeout
				This function configures Static (MAC) Unicast 
				Address Filtering

	FDBid (integer)
				The relevant Filtering Database ID (VLAN ID).

	MACaddr  (integer) 
				The destination MAC address in a frame to which
				this entry's filtering information applies.  
				This object must take the value of a unicast 
				address. (dot1qStaticUnicastAddress)
	receivePort (integer)
				Either the value '0', or the port number of the 
				port from which a frame must be received in 
				order for this entry's filtering information 
				to apply.  A value of zero indicates that this 
				entry applies on all ports of the device for 
				which there is no other applicable entry. 
				(dot1qStaticUnicastEntry)
	portMask (mask)
				The set of ports for which a frame with a 
				specific unicast address will be flooded in the 
				event that it has not been learned.  It also 
				specifies the set of ports a specific unicast 
				address may be dynamically learnt on.  The 
				dot1qTpFdbTable will have an equivalent  entry 
				with a dot1qTpFdbPort value of '0' until this 
				address has been learnt, when it will be updated
				with the port the address has been seen on.  
				This only applies to ports that are members of 
				the VLAN, defined by 
				dot1qVlanCurrentEgressPorts.  The default value
				of this object is a string of ones of 
				appropriate length. 
				(dot1qStaticUnicastAllowedToGoTo)	
	invalid|perm|delReset|delTimeout (keyword)
		invalid
				Removes the corresponding entry.
		perm
				This entry is currently in use and will remain 
				so after the next reset of the bridge.
		delReset
				This entry is currently in use and will remain 
				so until the next reset of the bridge.
		delTimeout
				This entry is currently in use and will remain 
				so until it is aged out.
				(dot1qStaticUnicastStatus)
				
vlanCreate vlanID name egress forbid static
vlanModify vlanID name egress forbid static
				Create or modify a VLAN.

	vlanID (integer)
				Specifies the VLAN ID number.
	name (text)
				Specifies the VLAN name.
	egress (mask)
				The set of ports which are permanently assigned
				to the egress list for this VLAN by management.
				Changes to a bit in this object affect the 
				per-port per-VLAN Registrar control for 
				Registration Fixed for the relevant GVRP state 
				machine on each port.  A port may not be added 
				in this set if it is already a member of the 
				set of ports in dot1qVlanForbiddenEgressPorts.
				The default value of this object is a string of
				zeros of appropriate length, indicating not 
				fixed. (dot1qVlanStaticEgressPorts)
	forbid (mask)
				The set of ports which are prohibited by 
				management from being included in the egress 
				list for this VLAN.  Changes to this object 
				that cause a port to be included or excluded 
				affect the per-port per-VLAN Registrar control 
				for Registration Forbidden for the relevant GVRP
				state machine on each port.  A port may not be 
				added in this set if it is already a member of 
				the set of ports in dot1qVlanStaticEgressPorts.
				The default value of  this object is a string 
				of zeros of appropriate length, excluding all 
				ports from the forbidden set. 
				(dot1qVlanForbiddenEgressPorts)
	static (mask)
				The set of ports which should transmit egress 
				packets for this VLAN as untagged.  The default
				value of this object for the default VLAN 
				(dot1qVlanIndex = 1) is a string of appropriate
				length including all ports.  There is no 
				specified default for other VLANs.  If a device
				agent cannot support the set of ports being set
				then it will reject the set operation with an 
				error. An example might be if a manager attempts
				to set more than one VLAN to be untagged on 
				egress where the device does not support this 
				IEEE 802.1Q option. 
				(dot1qVlanForbiddenEgressPorts)

vlanDelete vlanID
				Delete a VLAN.
	vlanID (integer)
				Specifies the VLAN ID.

vlanMgmt vlanID
				Specify which is the "management" VLAN, 
				containing the switch processor. 
				(swL2DevCtrlManagementVlanId)
	vlanID (integer)
				Specifies the VLAN.

vlanPort port# vlanID all|tag discard|accept enable_gvrp|disable_gvrp
				Manage ports in a VLAN.
	port# (integer)
				Specifies the port number.
	vlanID (integer)
				Specifies the VLAN ID number. (dot1qPvid)
	all | tag (keyword)
				When this is "tag", the device will discard 
				untagged frames or Priority-Tagged frames 
				received on this port.  When "all", untagged 
				frames or Priority-Tagged frames received on 
				this port will be accepted and assigned to the 
				PVID for this port. This control does not 
				affect VLAN independent BPDU frames, such as 
				GVRP and STP.  It does affect VLAN dependent 
				BPDU frames, such as GMRP. 
				(dot1qPortAcceptingFrameTypes)
	discard | accept (keyword)
				When this is "discard" the device will discard 
				incoming frames for VLANs which do not include 
				this Port in its Member set.  When "accept", 
				the port will accept all incoming frames. This 
				control does not affect VLAN independent BPDU 
				frames, such as GVRP and STP.  It does affect 
				VLAN dependent BPDU frames, such as GMRP. 
				(dot1qPortIngressFiltering)
	enable_gvrp|disable_gvrp (keyword)
				The state of GVRP operation on this port.  The 
				value enabled(1) indicates that GVRP is enabled
				on this port, as long as dot1qGvrpStatus is also
				enabled for this device.  When disabled(2) but 
				dot1qGvrpStatus is still enabled for the device,
				GVRP is disabled on this port: any GVRP packets 
				received will be silently discarded and no GVRP 
				registrations will be propagated from other 
				ports.  This object affects all GVRP Applicant 
				and Registrar state machines on this port.  A 
				transition from disabled(2) to enabled(1) will 
				cause a reset of all GVRP state machines on this
				port. (dot1qPortGvrpStatus)
		


DEVICE HANDLER DESCRIPTION:

In order to minimize the effort to support future devices, the device-specific 
interface knowledge (e.g. SNMP MIB) is located outside of cpqswcfg in a 
device handler.  For the Win32 release, a DOS "batch" file (cpqpgbe.bat)  is 
included to interface with the P-Class GbE and E-Class C-GbE Interconnect 
Switch.  For Linux, the equivalent shell (sh(1)) script is included (cpqpgbe). 
cpqswcfg will invoke the handler specified with the -d option.  For example, 
"cpqswcfg -d cpqpgbe" would cause the invocation of "cpqpgbe.bat" on Win32 
machines.

The syntax of device handlers is:

	handler IPaddr community_string function function_args [-y]

The syntax of the functions is the same as for cpqswcfg.

The cpqswcfg "-o other args" are device-specific and not in the scope of this 
document, but would replace the function and function_args.

The -y option causes the handler to pause for user input before exitting, to 
allow results to be read.

For Win32 environments, the handler sets ERRORLEVEL to "1" on error, otherwise 
0.  The Linux version exits with a value of "1" on error, otherwise 0.  Exit 
value "2" is used internally by cpqswcfg to signify an exec error, so the 
handler must not use exit value "2".  Win32 cpqswcfg will not examine 
ERRORLEVEL, but the Linux command line mode will exit with the exit value of 
the handler.  An "Error" or "Success" message is displayed on handler exit.


CPQSNMP DESCRIPTION:

This tool is provided for those (Win32) device handlers which use SNMP to 
communicate with the switch.  It provides a simple, general purpose, SNMP 
command line interface and may be used for access to all SNMP variables 
supported by the switch.   It may also be invoked for any other purpose.


Usage: cpqsnmp [-rt] {get|getnext} agent community oid [oid] [...]
       cpqsnmp [-rt] set agent community oid type value [oid type value] [...]
       cpqsnmp [-inrtx] poll agent community oid [oid] [...]
       spqsnmp [-lrt] walk agent community oid
       cpqsnmp [-inp] trap
       cpqsnmp @file

       Options with arguments are:
         -t <request time out in milliseconds>
         -r <request retries attempts before timing out>
         -i <polling interval in milliseconds>
         -n <number of polling requests>

       Valid 'type' are:
         1 = INTEGER            5 = Counter
         2 = OCTET STRING       6 = Gauge
         3 = OBJECT IDENTIFIER  7 = TimeTicks
         4 = IpAddress          8 = Opaque

Setting an "OCTET STRING" to a 4-byte binary value is accomplished by preceding
the input value with "0x" (e.g. 0xF0000000).


Here is example output of getting "sysObjId".  
The command was:

	cpqsnmp get 10.90.90.90 public 1.3.6.1.2.1.1.2.0

The output was:

ErrorStatus: 0 (No Error)
 ErrorIndex: 0
  varbind 1: 
       Name: system.sysObjectID.0 
        OID: 1.3.6.1.2.1.1.2.0 
       Type: OBJECT IDENTIFIER
     Length: 11
      Value: 1.3.6.1.4.1.232.161.1.36 

