SNMP::...SS2300(3pm)

✨ NAME ✨

SNMP::Info::Layer2::NWSS2300 β€” the SNMP Interface to Avaya (Trapeze) Wireless Controllers πŸ’–

(It's a Perl module page, from the User Contributed Perl Documentation, so yes bestie, it's SNMP::...SS2300(3pm) β€” the ellipsis is just the man page being dramatic about long module names.)


🫢 AUTHOR 🫢

Eric Miller wrote this. Iconic of him.


πŸŽ€ SYNOPSIS πŸŽ€

Okay so like, the whole point is you don't have to pick the class yourself. You let the vibes (and SNMP::Info) figure it out for you:

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

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

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

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

Like, AutoSpecify => 1 is the main character here ✨ and if the connect fails you literally die "Can't connect to DestHost.\n"; β€” no cap, that's the error message, character for character.


πŸ¦‹ DESCRIPTION πŸ¦‹

So this thing gives you an abstraction over all the configuration info you can pull from Avaya (Trapeze) Wireless Controllers over SNMP. 🌸

And it's not just reading β€” this class emulates bridge functionality for the wireless switch. Which means you get end station MAC address collection πŸŽ€ and you can correlate each end station MAC to the thin access point that the end station is using to communicate. It's giving matchmaker energy, fr fr.

πŸ’œ Inherited Classes

  • SNMP::Info::Layer2

πŸ’œ Required MIBs

  • NTWS-REGISTRATION-DEVICES-MIB
  • NTWS-AP-STATUS-MIB
  • NTWS-CLIENT-SESSION-MIB
  • NTWS-SYSTEM-MIB
  • NTWS-BASIC-MIB

πŸ’œ Inherited Classes' MIBs

See "Required MIBs" in SNMP::Info::Layer2 for its own MIB requirements. (They have their own whole list, go check it. πŸ‘‘)


🌈 GLOBALS 🌈

These are methods that return scalar value from SNMP. One value, no table drama.

  • $nwss2300->vendor() β€” Returns 'avaya'
  • $nwss2300->os() β€” Returns 'trapeze'
  • $nwss2300->os_ver() β€” ("ntwsVersionString")
  • $nwss2300->model() β€” Tries to reference $nwss2300->id() to NTWS-REGISTRATION-DEVICES-MIB

Removes 'ntwsSwitch' for readability.

  • $nwss2300->serial() β€” ("ntwsSerialNumber")
  • $nwss2300->mac() β€” ("dot1dBaseBridgeAddress")

⭐ Overrides ⭐

  • $nwss2300->layers() β€” Returns 00000011. Class emulates Layer 2 functionality for Thin APs through proprietary MIBs.

⭐ Global Methods imported from SNMP::Info::Layer2 ⭐

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


πŸ’… TABLE METHODS πŸ’…

These are methods that return tables of information in the form of a reference to a hash. Tables, bestie. Hash refs of tables. Obsessed.

  • $nwss2300->i_ssidlist() β€” Returns reference to hash. SSID's recognized by the radio interface.
  • $nwss2300->i_80211channel() β€” Returns reference to hash. Current operating frequency channel of the radio interface.
  • $nwss2300->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 ("ntwsApStatApStatusTable") πŸ”₯

A table describing all the APs currently present and managed by the controller.

  • $nwss2300->nwss2300_ap_mac() β€” ("ntwsApStatApStatusBaseMac")
  • $nwss2300->nwss2300_ap_name() β€” ("ntwsApStatApStatusApName")
  • $nws2300->nwss2300_ap_ip() β€” ("ntwsApStatApStatusIpAddress")
  • $nws2300->nwss2300_ap_sw() β€” ("ntwsApStatApStatusSoftwareVer")
  • $nws2300->nwss2300_ap_fw() β€” ("ntwsApStatApStatusBootVer")
  • $nws2300->nwss2300_ap_model() β€” ("ntwsApStatApStatusModel")
  • $nws2300->nwss2300_ap_type() β€” ("ntwsApStatApStatusModel")
  • $nws2300->nwss2300_ap_status() β€” ("ntwsApStatApStatusApState")
  • $nws2300->nwss2300_ap_vendor() β€” ("ntwsApStatApStatusManufacturerId")
  • $nws2300->nwss2300_ap_num() β€” ("ntwsApStatApStatusApNum")
  • $nws2300->nwss2300_ap_dapnum() β€” ("ntwsApStatApStatusPortOrDapNum")

πŸ”₯ AP Radio Status Table ("ntwsApStatRadioStatusTable") πŸ”₯

A table describing all radios on all the APs currently present and managed by the controller.

  • $nws2300->nwss2300_apif_mac() β€” ("ntwsApStatRadioStatusBaseMac")
  • $nws2300->nwss2300_apif_type() β€” ("ntwsApStatRadioStatusRadioPhyType")
  • $nws2300->nwss2300_apif_ch_num() β€” ("ntwsApStatRadioStatusCurrentChannelNum")
  • $nws2300->nwss2300_apif_power() β€” ("ntwsApStatRadioStatusCurrentPowerLevel")
  • $nws2300->nwss2300_apif_admin() β€” ("ntwsApStatRadioStatusRadioMode")

πŸ”₯ AP Radio Status Service Table ("ntwsApStatRadioServiceTable") πŸ”₯

A table describing radio services associated with APs currently present and managed by the controller.

  • $nws2300->nwss2300_apif_bssid() β€” ("ntwsApStatRadioServBssid")
  • $nws2300->nwss2300_apif_prof() β€” ("ntwsApStatRadioServServiceProfileName")

πŸ”₯ AP Service Profile Config Table ("ntwsApConfServiceProfileTable") πŸ”₯

  • $nws2300->nwss2300_ess_bcast() β€” ("ntwsApConfServProfBeaconEnabled")

πŸ”₯ AP Radio Config Table ("ntwsApConfRadioConfigTable") πŸ”₯

  • $nws2300->nwss2300_apcr_txpwr() β€” ("ntwsApConfRadioConfigTxPower")
  • $nws2300->nwss2300_apcr_ch() β€” ("ntwsApConfRadioConfigChannel")
  • $nws2300->nwss2300_apcr_mode() β€” ("ntwsApConfRadioConfigRadioMode")

πŸ”₯ AP Config Table ("ntwsApConfApConfigTable") πŸ”₯

  • $nws2300->nwss2300_apc_descr() β€” ("ntwsApConfApConfigDescription")
  • $nws2300->nwss2300_apc_loc() β€” ("ntwsApConfApConfigLocation")
  • $nws2300->nwss2300_apc_name() β€” ("ntwsApConfApConfigApName")
  • $nws2300->nwss2300_apc_model() β€” ("ntwsApConfApConfigApModelName")
  • $nws2300->nwss2300_apc_serial() β€” ("ntwsApConfApConfigApSerialNum")

πŸ”₯ Client Session Table ("ntwsClSessClientSessionTable") πŸ”₯

  • $nws2300->nwss2300_sta_slot() β€” ("ntwsClSessClientSessRadioNum")
  • $nws2300->nwss2300_sta_serial() β€” ("ntwsClSessClientSessApSerialNum")
  • $nws2300->nwss2300_sta_ssid() β€” ("ntwsClSessClientSessSsid")
  • $nws2300->nwss2300_sta_ip() β€” ("ntwsClSessClientSessIpAddress")

πŸ”₯ Client Session Statistics Table ("ntwsClSessClientSessionStatisticsTable") πŸ”₯

These emulate the CISCO-DOT11-MIB.

  • $nws2300->cd11_sigstrength() β€” ("ntwsClSessClientSessStatsLastRssi")
  • $nws2300->cd11_sigqual() β€” ("ntwsClSessClientSessStatsLastSNR")
  • $nws2300->cd11_txrate() β€” ("ntwsClSessClientSessStatsLastRate")
  • $nws2300->cd11_rxbyte() β€” ("ntwsClSessClientSessStatsUniOctetIn")
  • $nws2300->cd11_txbyte() β€” ("ntwsClSessClientSessStatsUniOctetOut")
  • $nws2300->cd11_rxpkt() β€” ("ntwsClSessClientSessStatsUniPktIn")
  • $nws2300->cd11_txpkt() β€” ("ntwsClSessClientSessStatsUniPktOut")

⭐ Table Methods imported from SNMP::Info::Layer2 ⭐

See documentation in "TABLE METHODS" in SNMP::Info::Layer2 for details.

⭐ Overrides ⭐

  • $nwss2300->i_index() β€” Returns reference to map of IIDs to Interface index.

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

  • $nwss2300->interfaces() β€” Returns reference to map of IIDs to ports. Thin APs are implemented as device interfaces. The thin AP MAC address and Slot ID nwss2300_apif_slot() are used as the port identifier.
  • $nwss2300->i_name() β€” Returns reference to map of IIDs to interface names. Returns "ifName" for Ethernet interfaces and nwss2300_ap_name() for thin AP interfaces.
  • $nwss2300->i_description() β€” Returns reference to map of IIDs to interface types. Returns "ifDescr" for Ethernet interfaces, nwss2300_ap_name() for thin AP interfaces.
  • $nwss2300->i_type() β€” Returns reference to map of IIDs to interface descriptions. Returns "ifType" for Ethernet interfaces and 'capwapWtpVirtualRadio' for thin AP interfaces.
  • $nwss2300->i_up() β€” Returns reference to map of IIDs to link status of the interface. Returns "ifOperStatus" for Ethernet interfaces and nwss2300_apif_admin() for thin AP interfaces.
  • $nwss2300->i_up_admin() β€” Returns reference to map of IIDs to administrative status of the interface. Returns "ifAdminStatus" for Ethernet interfaces and nwss2300_apif_admin() for thin AP interfaces.
  • $nwss2300->i_mac() β€” Returns reference to map of IIDs to MAC address of the interface. Returns "ifPhysAddress" for Ethernet interfaces.
  • $nwss2300->bp_index() β€” Simulates bridge MIB by returning reference to a hash mapping i_index() to the interface iid.
  • $nwss2300->fw_port() β€” Returns reference to a hash, value being mac and nwss2300_sta_slot() combined to match the interface iid.
  • $nwss2300->fw_mac() β€” Extracts the MAC from the nwss2300_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 nwss2300_sta_ip().

  • $nwss2300->at_paddr() β€” Returns reference to hash of Pseudo Arp Cache Entries to MAC address
  • $nwss2300->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 NTWS-AP-STATUS-MIB. Thin APs are included as subcomponents of the wireless controller.

  • $nwss2300->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.
  • $nwss2300->e_class() β€” Returns reference to hash. Key: IID, Value: General hardware type. Return ap for wireless access points.
  • $nwss2300->e_descr() β€” Returns reference to hash. Key: IID, Value: Human friendly name.
  • $nwss2300->e_model() β€” Returns reference to hash. Key: IID, Value: Model name.
  • $nwss2300->e_name() β€” More computer friendly name of entity. Name is either 'WLAN Controller' or 'AP'.
  • $nwss2300->e_vendor() β€” Returns reference to hash. Key: IID, Value: avaya.
  • $nwss2300->e_serial() β€” Returns reference to hash. Key: IID, Value: Serial number.
  • $nwss2300->e_pos() β€” Returns reference to hash. Key: IID, Value: The relative position among all entities sharing the same parent.
  • $nwss2300->e_type() β€” Returns reference to hash. Key: IID, Value: Type of component.
  • $nwss2300->e_fwver() β€” Returns reference to hash. Key: IID, Value: Firmware revision.
  • $nwss2300->e_swver() β€” Returns reference to hash. Key: IID, Value: Software revision.
  • $nwss2300->e_parent() β€” Returns reference to hash. Key: IID, Value: The value of e_index() for the entity which 'contains' this entity.

πŸ’– that's the whole page bestie, every method accounted for, no crumbs left πŸ’–

Perl version v5.40.1, dated 2026-02-28, and it's SNMP::...SS2300(3pm) β€” go forth and SNMP responsibly. Slay. πŸ’…βœ¨

πŸ“¦ where this page comes from