SNMP::Info::RapidCity(3) 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
$rapidcity->stp_ver()
Returns the particular STP version running on this device.

Values: "nortelStpg", "pvst", "rstp", "mstp", "ieee8021d"

("rcSysSpanningTreeOperMode")

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->i_vlan_membership_untagged()
Returns reference to hash of arrays: key = "ifIndex", value = array of VLAN IDs. These are the VLANs which are members of the untagged egress list for the port.
$rapidcity->v_index()
Returns VLAN IDs

("rcVlanId")

$rapidcity->agg_ports()
Returns a HASH reference mapping from slave to master port for each member of a port bundle (MLT) on the device. Keys are ifIndex of the slave ports, Values are ifIndex of the corresponding master ports.
$rapidcity->i_stp_state()
Returns the mapping of ("dot1dStpPortState") to the interface index (iid).
$rapidcity->mst_vlan2instance()
Returns the mapping of VLAN to Spanning Tree Group (STG) instance in the form of a hash reference with key = VLAN id, value = STG instance

("rcVlanStgId")

$rapidcity->i_bpduguard_enabled()
Returns true or false depending on whether "BpduGuard" is enabled on a given port. Format is a hash reference with key = "ifIndex", value = [true|false]

("rcPortBpduFilteringOperEnabled")

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")

RAPID-CITY Bridge SPBM MAC Table (rcBridgeSpbmMacTable)

$rapidcity->rc_spbm_fw_mac()
Returns reference to hash of forwarding table MAC Addresses

("rcBridgeSpbmMacAddr")

$rapidcity->rc_spbm_fw_port()
Returns reference to hash of forwarding table entries port interface identifier (iid)

("rcBridgeSpbmMacCPort")

$rapidcity->rc_spbm_fw_status()
Returns reference to hash of forwarding table entries status

("rcBridgeSpbmMacStatus")

$rapidcity->rc_spbm_fw_vlan()
Returns reference to hash of forwarding table entries Customer VLAN ID

("rcBridgeSpbmMacCVlanId")

$rapidcity->rc_spbm_fw_isid()
Returns reference to hash of forwarding table entries ISID

("rcBridgeSpbmMacIsid")

Spanning Tree Instance Globals

"RSTP" and "ieee8021d" operating modes do not populate the "RAPID-CITY::rcStgTable" but do populate BRIDGE-MIB. These methods check RAPID-CITY first and fall back to BRIDGE-MIB.
$rapidcity->stp_i_mac()
Returns the bridge address
$rapidcity->stp_i_time()
Returns time since last topology change detected. (100ths/second)
$rapidcity->stp_i_ntop()
Returns the total number of topology changes detected.
$rapidcity->stp_i_root()
Returns root of STP.
$rapidcity->stp_i_root_port()
Returns the port number of the port that offers the lowest cost path to the root bridge.
$rapidcity->stp_i_priority()
Returns the port number of the port that offers the lowest cost path to the root bridge.

Spanning Tree Protocol Port Table

"RSTP" and "ieee8021d" operating modes do not populate the "RAPID-CITY::rcStgPortTable" but do populate BRIDGE-MIB. These methods check RAPID-CITY first and fall back to BRIDGE-MIB.
$rapidcity->stp_p_id()
``The port number of the port for which this entry contains Spanning Tree Protocol management information.''
$rapidcity->stp_p_priority()
"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"."
$rapidcity->stp_p_state()
``The port's current state as defined by application of the Spanning Tree Protocol.''
$rapidcity->stp_p_cost()
``The contribution of this port to the path cost of paths towards the spanning tree root which include this port.''
$rapidcity->stp_p_root()
``The unique Bridge Identifier of the Bridge recorded as the Root in the Configuration BPDUs transmitted by the Designated Bridge for the segment to which the port is attached.''
$rapidcity->stp_p_bridge()
``The Bridge Identifier of the bridge which this port considers to be the Designated Bridge for this port's segment.''
$rapidcity->stp_p_port()
``The Port Identifier of the port on the Designated Bridge for this port's segment.''

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.