The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SNMP::Info::RapidCity - SNMP Interface to the Avaya/Nortel RapidCity MIB

AUTHOR

Eric Miller

SYNOPSIS

 # Let SNMP::Info determine the correct subclass for you. 
 my $rapidcity = new SNMP::Info(
                        AutoSpecify => 1,
                        Debug       => 1,
                        # These arguments are passed directly to SNMP::Session
                        DestHost    => 'myswitch',
                        Community   => 'public',
                        Version     => 2
                        ) 
    or die "Can't connect to DestHost.\n";

 my $class = $rapidcity->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";

DESCRIPTION

SNMP::Info::RapidCity is a subclass of SNMP::Info that provides an interface to the RAPID-CITY MIB. This MIB is used across the Avaya/Nortel Ethernet Routing Switch and Ethernet Switch product lines (Formerly known as Passport, BayStack, and Accelar), as well as, the VSP 9000 and 7000 series.

Use or create in a subclass of SNMP::Info. Do not use directly.

Inherited Classes

None.

Required MIBs

RAPID-CITY

GLOBAL METHODS

These are methods that return scalar values from SNMP

$rapidcity->rc_base_mac()

(rc2kChassisBaseMacAddr)

$rapidcity->rc_serial()

(rcChasSerialNumber)

$rapidcity->rc_ch_rev()

(rcChasHardwareRevision)

$rapidcity->chassis()

(rcChasType)

$rapidcity->slots()

(rcChasNumSlots)

$rapidcity->rc_virt_ip()

(rcSysVirtualIpAddr)

$rapidcity->rc_virt_mask()

(rcSysVirtualNetMask)

$rapidcity->tftp_host()

(rcTftpHost)

$rapidcity->tftp_file()

(rcTftpFile)

$rapidcity->tftp_action()

(rcTftpAction)

$rapidcity->tftp_result()

(rcTftpResult)

Overrides

$rapidcity->serial()

Returns serial number of the chassis

TABLE METHODS

These are methods that return tables of information in the form of a reference to a hash.

$rapidcity->i_duplex()

Returns reference to map of IIDs to current link duplex.

$rapidcity->i_duplex_admin()

Returns reference to hash of IIDs to admin duplex setting.

$rapidcity->i_vlan()

Returns a mapping between ifIndex and the PVID or default VLAN.

$rapidcity->i_vlan_membership()

Returns reference to hash of arrays: key = ifIndex, value = array of VLAN IDs. These are the VLANs which are members of the egress list for the port.

  Example:
  my $interfaces = $rapidcity->interfaces();
  my $vlans      = $rapidcity->i_vlan_membership();
  
  foreach my $iid (sort keys %$interfaces) {
    my $port = $interfaces->{$iid};
    my $vlan = join(',', sort(@{$vlans->{$iid}}));
    print "Port: $port VLAN: $vlan\n";
  }
$rapidcity->v_index()

Returns VLAN IDs

(rcVlanId)

RAPID-CITY Port Table (rcPortTable)

$rapidcity->rc_index()

(rcPortIndex)

$rapidcity->rc_duplex()

(rcPortOperDuplex)

$rapidcity->rc_duplex_admin()

(rcPortAdminDuplex)

$rapidcity->rc_speed_admin()

(rcPortAdminSpeed)

$rapidcity->rc_auto()

(rcPortAutoNegotiate)

$rapidcity->rc_alias()

(rcPortName)

RAPID-CITY CPU Ethernet Port Table (rc2kCpuEthernetPortTable)

$rapidcity->rc_cpu_ifindex()

(rc2kCpuEthernetPortIfIndex)

$rapidcity->rc_cpu_admin()

(rc2kCpuEthernetPortAdminStatus)

$rapidcity->rc_cpu_oper()

(rc2kCpuEthernetPortOperStatus)

$rapidcity->rc_cpu_ip()

(rc2kCpuEthernetPortAddr)

$rapidcity->rc_cpu_mask()

(rc2kCpuEthernetPortMask)

$rapidcity->rc_cpu_auto()

(rc2kCpuEthernetPortAutoNegotiate)

$rapidcity->rc_cpu_duplex_admin()

(rc2kCpuEthernetPortAdminDuplex)

$rapidcity->rc_cpu_duplex()

(rc2kCpuEthernetPortOperDuplex)

$rapidcity->rc_cpu_speed_admin()

(rc2kCpuEthernetPortAdminSpeed)

$rapidcity->rc_cpu_speed_oper()

(rc2kCpuEthernetPortOperSpeed)

$rapidcity->rc_cpu_mac()

(rc2kCpuEthernetPortMgmtMacAddr)

RAPID-CITY VLAN Port Table (rcVlanPortTable)

$rapidcity->rc_i_vlan_if()

(rcVlanPortIndex)

$rapidcity->rc_i_vlan_num()

(rcVlanPortNumVlanIds)

$rapidcity->rc_i_vlan()

(rcVlanPortVlanIds)

$rapidcity->rc_i_vlan_type()

(rcVlanPortType)

$rapidcity->rc_i_vlan_pvid()

(rcVlanPortDefaultVlanId)

$rapidcity->rc_i_vlan_tag()

(rcVlanPortPerformTagging)

RAPID-CITY VLAN Table (rcVlanTable)

$rapidcity->rc_vlan_id()

(rcVlanId)

$rapidcity->v_name()

(rcVlanName)

$rapidcity->rc_vlan_color()

(rcVlanColor)

$rapidcity->rc_vlan_if()

(rcVlanIfIndex)

$rapidcity->rc_vlan_stg()

(rcVlanStgId)

$rapidcity->rc_vlan_type()

(rcVlanType)

$rapidcity->rc_vlan_members()

(rcVlanPortMembers)

$rapidcity->rc_vlan_mac()

(rcVlanMacAddress)

RAPID-CITY IP Address Table (rcIpAddrTable)

$rapidcity->rc_ip_index()

(rcIpAdEntIfIndex)

$rapidcity->rc_ip_addr()

(rcIpAdEntAddr)

$rapidcity->rc_ip_type()

(rcIpAdEntIfType)

RAPID-CITY Chassis Fan Table (rcChasFanTable)

$rapidcity->rc_fan_op()

(rcChasFanOperStatus)

RAPID-CITY Power Supply Table (rcChasPowerSupplyTable)

$rapidcity->rc_ps_op()

(rcChasPowerSupplyOperStatus)

RAPID-CITY Power Supply Detail Table (rcChasPowerSupplyDetailTable)

$rapidcity->rc_ps_type()

(rcChasPowerSupplyDetailType)

$rapidcity->rc_ps_serial()

(rcChasPowerSupplyDetailSerialNumber)

$rapidcity->rc_ps_rev()

(rcChasPowerSupplyDetailHardwareRevision)

$rapidcity->rc_ps_part()

(rcChasPowerSupplyDetailPartNumber)

$rapidcity->rc_ps_detail()

(rcChasPowerSupplyDetailDescription)

RAPID-CITY Card Table (rcCardTable)

$rapidcity->rc_c_type()

(rcCardType)

$rapidcity->rc_c_serial()

(rcCardSerialNumber)

$rapidcity->rc_c_rev()

(rcCardHardwareRevision)

$rapidcity->rc_c_part()

(rcCardPartNumber)

RAPID-CITY 2k Card Table (rc2kCardTable)

$rapidcity->rc2k_c_ftype()

(rc2kCardFrontType)

$rapidcity->rc2k_c_fdesc()

(rc2kCardFrontDescription)

$rapidcity->rc2k_c_fserial()

(rc2kCardFrontSerialNum)

$rapidcity->rc2k_c_frev()

(rc2kCardFrontHwVersion)

$rapidcity->rc2k_c_fpart()

(rc2kCardFrontPartNumber)

$rapidcity->rc2k_c_fdate()

(rc2kCardFrontDateCode)

$rapidcity->rc2k_c_fdev()

(rc2kCardFrontDeviations)

$rapidcity->rc2k_c_btype()

(rc2kCardBackType)

$rapidcity->rc2k_c_bdesc()

(rc2kCardBackDescription)

$rapidcity->rc2k_c_bserial()

(rc2kCardBackSerialNum)

$rapidcity->rc2k_c_brev()

(rc2kCardBackHwVersion)

$rapidcity->rc2k_c_bpart()

(rc2kCardBackPartNumber)

$rapidcity->rc2k_c_bdate()

(rc2kCardBackDateCode)

$rapidcity->rc2k_c_bdev()

(rc2kCardBackDeviations)

RAPID-CITY MDA Card Table (rc2kMdaCardTable)

$rapidcity->rc2k_mda_type()

(rc2kMdaCardType)

$rapidcity->rc2k_mda_desc()

(rc2kMdaCardDescription)

$rapidcity->rc2k_mda_serial()

(rc2kMdaCardSerialNum)

$rapidcity->rc2k_mda_rev()

(rc2kMdaCardHwVersion)

$rapidcity->rc2k_mda_part()

(rc2kMdaCardPartNumber)

$rapidcity->rc2k_mda_date()

(rc2kMdaCardDateCode)

$rapidcity->rc2k_mda_dev()

(rc2kMdaCardDeviations)

SET METHODS

These are methods that provide SNMP set functionality for overridden methods or provide a simpler interface to complex set operations. See "SETTING DATA VIA SNMP" in SNMP::Info for general information on set operations.

$rapidcity->set_i_speed_admin(speed, ifIndex)

Sets port speed, must be supplied with speed and port ifIndex. Speed choices are 'auto', '10', '100', '1000'.

 Example:
 my %if_map = reverse %{$rapidcity->interfaces()};
 $rapidcity->set_i_speed_admin('auto', $if_map{'1.1'}) 
    or die "Couldn't change port speed. ",$rapidcity->error(1);
$rapidcity->set_i_duplex_admin(duplex, ifIndex)

Sets port duplex, must be supplied with duplex and port ifIndex. Speed choices are 'auto', 'half', 'full'.

  Example:
  my %if_map = reverse %{$rapidcity->interfaces()};
  $rapidcity->set_i_duplex_admin('auto', $if_map{'1.1'}) 
    or die "Couldn't change port duplex. ",$rapidcity->error(1);
$rapidcity->set_i_vlan(vlan, ifIndex)

Changes an access (untagged) port VLAN, must be supplied with the numeric VLAN ID and port ifIndex. This method will modify the port's VLAN membership and PVID (default VLAN). This method should only be used on end station (non-trunk) ports.

  Example:
  my %if_map = reverse %{$rapidcity->interfaces()};
  $rapidcity->set_i_vlan('2', $if_map{'1.1'}) 
    or die "Couldn't change port VLAN. ",$rapidcity->error(1);
$rapidcity->set_i_pvid(pvid, ifIndex)

Sets port PVID or default VLAN, must be supplied with the numeric VLAN ID and port ifIndex. This method only changes the PVID, to modify an access (untagged) port use set_i_vlan() instead.

  Example:
  my %if_map = reverse %{$rapidcity->interfaces()};
  $rapidcity->set_i_pvid('2', $if_map{'1.1'}) 
    or die "Couldn't change port PVID. ",$rapidcity->error(1);
$rapidcity->set_add_i_vlan_tagged(vlan, ifIndex)

Adds the port to the egress list of the VLAN, must be supplied with the numeric VLAN ID and port ifIndex.

  Example:
  my %if_map = reverse %{$rapidcity->interfaces()};
  $rapidcity->set_add_i_vlan_tagged('2', $if_map{'1.1'}) 
    or die "Couldn't add port to egress list. ",$rapidcity->error(1);
$rapidcity->set_remove_i_vlan_tagged(vlan, ifIndex)

Removes the port from the egress list of the VLAN, must be supplied with the numeric VLAN ID and port ifIndex.

  Example:
  my %if_map = reverse %{$rapidcity->interfaces()};
  $rapidcity->set_remove_i_vlan_tagged('2', $if_map{'1.1'}) 
    or die "Couldn't add port to egress list. ",$rapidcity->error(1);
$rapidcity->set_delete_vlan(vlan)

Deletes the specified VLAN from the device.

$rapidcity->set_create_vlan(name, vlan)

Creates the specified VLAN on the device.

Note: This method only allows creation of Port type VLANs and does not allow for the setting of the Spanning Tree Group (STG) which defaults to 1.