logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Eric Miller

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.

   InheritedClasses
       SNMP::Info::Layer2

   RequiredMIBsTRAPEZE-NETWORKS-REGISTRATION-DEVICES-MIBTRAPEZE-NETWORKS-AP-STATUS-MIBTRAPEZE-NETWORKS-CLIENT-SESSION-MIBTRAPEZE-NETWORKS-SYSTEM-MIBTRAPEZE-NETWORKS-BASIC-MIBInheritedClasses'MIBs
       See "Required MIBs" in SNMP::Info::Layer2 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.

   GlobalMethodsimportedfromSNMP::Info::Layer2
       See documentation in "GLOBALS" in SNMP::Info::Layer2 for details.

Name

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

   TableMethodsimportedfromSNMP::Info
       See documentation in "TABLE METHODS" in SNMP::Info::Layer2 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.

   PseudoARPCacheEntries
       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

   PseudoENTITY-MIBinformation
       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.

perl v5.40.0                                       2024-11-09                   SNMP::Info::Layer2::Trapeze(3pm)

See Also