Info::Layer2::Trapeze(3)

NAME
SNMP::Info::Layer2::Trapeze - SNMP Interface to Juniper (Trapeze) Wireless Controllers

AUTHOR
Eric Miller

SYNOPSIS
    #Let SNMP::Info determine the correct subclass for you.

    my $trapeze = new SNMP::Info(
                          AutoSpecify => 1,
                          Debug       => 1,
                          DestHost    => 'myswitch',
                          Community   => 'public',
                          Version     => 2
                        )

    or die "Can't connect to DestHost.\n";

    my $class = $trapeze->class();
    print " Using device sub class : $class\n";

DESCRIPTION
Provides abstraction to the configuration information obtainable from Juniper (Trapeze) Wireless Controllers through SNMP.

This class emulates bridge functionality for the wireless switch. This enables end station MAC addresses collection and correlation to the thin access point the end station is using for communication.

For speed or debugging purposes you can call the subclass directly, but not after determining a more specific class using the method above.

my $trapeze = new SNMP::Info::Layer2::Trapeze(...);

  Inherited Classes

SNMP::Info
SNMP::Info::Bridge

  Required MIBs

TRAPEZE-NETWORKS-REGISTRATION-DEVICES-MIB
TRAPEZE-NETWORKS-AP-STATUS-MIB
TRAPEZE-NETWORKS-CLIENT-SESSION-MIB
TRAPEZE-NETWORKS-SYSTEM-MIB
TRAPEZE-NETWORKS-BASIC-MIB

  Inherited Classes' MIBs
See "Required MIBs" in SNMP::Info for its own MIB requirements.

See "Required MIBs" in SNMP::Info::Bridge for its own MIB requirements.

GLOBALS
These are methods that return scalar value from SNMP

$trapeze->vendor()
    Returns 'juniper'

$trapeze->os()
    Returns 'trapeze'

$trapeze->os_ver()
    ("trpzVersionString")

$trapeze->model()
    Tries to reference $trapeze->id() to TRAPEZE-NETWORKS-REGISTRATION-DEVICES-MIB

    Removes 'wirelessLANController' for readability.

$trapeze->serial()
    ("trpzSerialNumber")

$trapeze->mac()
    ("dot1dBaseBridgeAddress")

  Overrides

$trapeze->layers()
    Returns 00000011. Class emulates Layer 2 functionality for Thin APs through proprietary MIBs.

  Global Methods imported from SNMP::Info
See documentation in "GLOBALS" in SNMP::Info for details.

  Globals imported from SNMP::Info::Bridge
See documentation in "GLOBALS" in SNMP::Info::Bridge for details.

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

$trapeze->i_ssidlist()
    Returns reference to hash. SSID's recognized by the radio interface.

$trapeze->i_80211channel()
    Returns reference to hash. Current operating frequency channel of the radio interface.

$trapeze->dot11_cur_tx_pwr_mw()
    Returns reference to hash. Current transmit power, in milliwatts, of the radio interface.

cd11_mac()
    Client MAC address.

  AP Status Table ("trpzApStatApStatusTable")
A table describing all the APs currently present and managed by the controller.

$trapeze->trapeze_ap_mac()
    ("trpzApStatApStatusBaseMac")

$trapeze->trapeze_ap_name()
    ("trpzApStatApStatusApName")

$nws2300->trapeze_ap_ip()
    ("trpzApStatApStatusIpAddress")

$nws2300->trapeze_ap_sw()
    ("trpzApStatApStatusSoftwareVer")

$nws2300->trapeze_ap_fw()
    ("trpzApStatApStatusBootVer")

$nws2300->trapeze_ap_model()
    ("trpzApStatApStatusModel")

$nws2300->trapeze_ap_type()
    ("trpzApStatApStatusModel")

$nws2300->trapeze_ap_status()
    ("trpzApStatApStatusApState")

$nws2300->trapeze_ap_vendor()
    ("trpzApStatApStatusManufacturerId")

$nws2300->trapeze_ap_num()
    ("trpzApStatApStatusApNum")

$nws2300->trapeze_ap_dapnum()
    ("trpzApStatApStatusPortOrDapNum")

  AP Radio Status Table ("trpzApStatRadioStatusTable")
A table describing all radios on all the APs currently present and managed by the controller.

$nws2300->trapeze_apif_mac()
    ("trpzApStatRadioStatusBaseMac")

$nws2300->trapeze_apif_type()
    ("trpzApStatRadioStatusRadioPhyType")

$nws2300->trapeze_apif_ch_num()
    ("trpzApStatRadioStatusCurrentChannelNum")

$nws2300->trapeze_apif_power()
    ("trpzApStatRadioStatusCurrentPowerLevel")

$nws2300->trapeze_apif_admin()
    ("trpzApStatRadioStatusRadioMode")

  AP Radio Status Service Table ("trpzApStatRadioServiceTable")
A table describing radio services associated with APs currently present and managed by the controller.

$nws2300->trapeze_apif_bssid()
    ("trpzApStatRadioServBssid")

$nws2300->trapeze_apif_prof()
    ("trpzApStatRadioServServiceProfileName")

  AP Service Profile Config Table ("trpzApConfServiceProfileTable")

$nws2300->trapeze_ess_bcast()
    ("trpzApConfServProfBeaconEnabled")

  AP Radio Config Table ("trpzApConfRadioConfigTable")

$nws2300->trapeze_apcr_txpwr()
    ("trpzApConfRadioConfigTxPower")

$nws2300->trapeze_apcr_ch()
    ("trpzApConfRadioConfigChannel")

$nws2300->trapeze_apcr_mode()
    ("trpzApConfRadioConfigRadioMode")

  AP Config Table ("trpzApConfApConfigTable")

$nws2300->trapeze_apc_descr()
    ("trpzApConfApConfigDescription")

$nws2300->trapeze_apc_loc()
    ("trpzApConfApConfigLocation")

$nws2300->trapeze_apc_name()
    ("trpzApConfApConfigApName")

$nws2300->trapeze_apc_model()
    ("trpzApConfApConfigApModelName")

$nws2300->trapeze_apc_serial()
    ("trpzApConfApConfigApSerialNum")

  Client Session Table ("trpzClSessClientSessionTable")

$nws2300->trapeze_sta_slot()
    ("trpzClSessClientSessRadioNum")

$nws2300->trapeze_sta_serial()
    ("trpzClSessClientSessApSerialNum")

$nws2300->trapeze_sta_ssid()
    ("trpzClSessClientSessSsid")

$nws2300->trapeze_sta_ip()
    ("trpzClSessClientSessIpAddress")

  Client Session Statistics Table ("trpzClSessClientSessionStatisticsTable")
These emulate the CISCO-DOT11-MIB

$nws2300->cd11_sigstrength()
    ("trpzClSessClientSessStatsLastRssi")

$nws2300->cd11_sigqual()
    ("trpzClSessClientSessStatsLastSNR")

$nws2300->cd11_txrate()
    ("trpzClSessClientSessStatsLastRate")

$nws2300->cd11_rxbyte()
    ("trpzClSessClientSessStatsUniOctetIn")

$nws2300->cd11_txbyte()
    ("trpzClSessClientSessStatsUniOctetOut")

$nws2300->cd11_rxpkt()
    ("trpzClSessClientSessStatsUniPktIn")

$nws2300->cd11_txpkt()
    ("trpzClSessClientSessStatsUniPktOut")

  Table Methods imported from SNMP::Info
See documentation in "TABLE METHODS" in SNMP::Info for details.

  Table Methods imported from SNMP::Info::Bridge
See documentation in "TABLE METHODS" in SNMP::Info::Bridge for details.

  Overrides

$trapeze->i_index()
    Returns reference to map of IIDs to Interface index.

    Extends "ifIndex" to support thin APs and WLAN virtual interfaces as device interfaces.

$trapeze->interfaces()
    Returns reference to map of IIDs to ports. Thin APs are implemented as device interfaces. The thin AP MAC address and Slot ID trapeze_apif_slot() are used as the port identifier.

$trapeze->i_name()
    Returns reference to map of IIDs to interface names. Returns "ifName" for Ethernet interfaces and trapeze_ap_name() for thin AP interfaces.

$trapeze->i_description()
    Returns reference to map of IIDs to interface types. Returns "ifDescr" for Ethernet interfaces, trapeze_ap_name() for thin AP interfaces.

$trapeze->i_type()
    Returns reference to map of IIDs to interface descriptions. Returns "ifType" for Ethernet interfaces and 'capwapWtpVirtualRadio' for thin AP interfaces.

$trapeze->i_up()
    Returns reference to map of IIDs to link status of the interface. Returns "ifOperStatus" for Ethernet interfaces and trapeze_apif_admin() for thin AP interfaces.

$trapeze->i_up_admin()
    Returns reference to map of IIDs to administrative status of the interface. Returns "ifAdminStatus" for Ethernet interfaces and trapeze_apif_admin() for thin AP interfaces.

$trapeze->i_mac()
    Returns reference to map of IIDs to MAC address of the interface. Returns "ifPhysAddress" for Ethernet interfaces.

$trapeze->bp_index()
    Simulates bridge MIB by returning reference to a hash mapping i_index() to the interface iid.

$trapeze->fw_port()
    Returns reference to a hash, value being mac and trapeze_sta_slot() combined to match the interface iid.

$trapeze->fw_mac()
    Extracts the MAC from the trapeze_sta_serial() index.

  Pseudo ARP Cache Entries
The controller snoops on the MAC->IP mappings. Using this as ARP cache data allows us to get MAC->IP mappings even for stations that only communicate locally. The data is gathered from trapeze_sta_ip().

$trapeze->at_paddr()
    Returns reference to hash of Pseudo Arp Cache Entries to MAC address

$trapeze->at_netaddr()
    Returns reference to hash of Pseudo Arp Cache Entries to IP Address

  Pseudo ENTITY-MIB information
These methods emulate ENTITY-MIB Physical Table methods using TRAPEZE-NETWORKS-AP-STATUS-MIB. Thin APs are included as subcomponents of the wireless controller.

$trapeze->e_index()
    Returns reference to hash. Key: IID and Value: Integer. The index for APs is created with an integer representation of the last three octets of the AP MAC address.

$trapeze->e_class()
    Returns reference to hash. Key: IID, Value: General hardware type. Return ap for wireless access points.

$trapeze->e_descr()
    Returns reference to hash. Key: IID, Value: Human friendly name.

$trapeze->e_model()
    Returns reference to hash. Key: IID, Value: Model name.

$trapeze->e_name()
    More computer friendly name of entity. Name is either 'WLAN Controller' or 'AP'.

$trapeze->e_vendor()
    Returns reference to hash. Key: IID, Value: avaya.

$trapeze->e_serial()
    Returns reference to hash. Key: IID, Value: Serial number.

$trapeze->e_pos()
    Returns reference to hash. Key: IID, Value: The relative position among all entities sharing the same parent.

$trapeze->e_type()
    Returns reference to hash. Key: IID, Value: Type of component.

$trapeze->e_fwver()
    Returns reference to hash. Key: IID, Value: Firmware revision.

$trapeze->e_swver()
    Returns reference to hash. Key: IID, Value: Software revision.

$trapeze->e_parent()
    Returns reference to hash. Key: IID, Value: The value of e_index() for the entity which 'contains' this entity.