SNMP::...respace(3pm)

πŸ’– SNMP::Info::Airespace πŸ’–

okay so this is the page SNMP::...respace(3pm) from User Contributed Perl Documentation, and bestie, it's a long one so we're doing it in two parts. buckle up πŸŽ€


✨ NAME ✨

SNMP::Info::Airespace β€” it's the SNMP interface to data coming out of AIRESPACE-WIRELESS-MIB and AIRESPACE-SWITCHING-MIB πŸ’…

πŸ‘‘ AUTHOR πŸ‘‘

Eric Miller

🌈 SYNOPSIS 🌈

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

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

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

like, that's it. that's the whole intro. slay.

πŸ¦‹ DESCRIPTION πŸ¦‹

SNMP::Info::Airespace is a subclass of SNMP::Info that gives you an interface to AIRESPACE-WIRELESS-MIB and AIRESPACE-SWITCHING-MIB. these MIBs live in Airespace wireless switches, and also in stuff from Cisco, Nortel, and Alcatel that's built on top of the Airespace platform.

the Airespace platform runs on intelligent wireless switches that control thin access points. and here's the gag: those thin access points literally cannot be polled for end station info. not a vibe of theirs. πŸ™ˆ

so this class emulates bridge functionality for the wireless switch instead. that's what lets you collect end station MAC addresses and correlate them to whichever thin access point that end station is actually using to talk. πŸ”₯

bestie, listen: use or create a subclass of SNMP::Info that inherits this one. do NOT use it directly. that's not a suggestion, that's the rule πŸ’€

🌸 Inherited Classes 🌸

None.

literally none. it's giving self-made πŸ’…

🧚 Required MIBs 🧚

  • AIRESPACE-WIRELESS-MIB
  • AIRESPACE-SWITCHING-MIB

⭐ GLOBALS ⭐

these are the methods that return scalar values straight from SNMP ✨

  • $airespace->airespace_type() β€” ("agentInventoryMachineType")
  • $airespace->airespace_model() β€” ("agentInventoryMachineModel")
  • $airespace->airespace_serial() β€” ("agentInventorySerialNumber")
  • $airespace->airespace_maint_ver() β€” ("agentInventoryMaintenanceLevel")
  • $airespace->airespace_mac() β€” ("agentInventoryBurnedInMacAddress")
  • $airespace->airespace_os() β€” ("agentInventoryOperatingSystem")
  • $airespace->airespace_vendor() β€” ("agentInventoryManufacturerName")
  • $airespace->airespace_prod_name() β€” ("agentInventoryProductName")
  • $airespace->os_ver() β€” ("agentInventoryProductVersion")
  • $airespace->airespace_bssid_mode() β€” ("agentNetworkBroadcastSsidMode")
  • $airespace->airespace_mc_mode() β€” ("agentNetworkMulticastMode")
  • $airespace->airespace_lwapp_mode() β€” the LWAPP transport mode decides whether the switch is operating in Layer2 or Layer3 mode. ("agentSwitchLwappTransportMode")
  • $airespace->airespace_ul_mode() β€” Transfer upload mode configures the mode to use when uploading from the switch. normal usage is tftp. ("agentTransferUploadMode")
  • $airespace->airespace_ul_ip() β€” Transfer upload tftp server ip configures the IP address of the server. it's valid only when the Transfer Mode is tftp. ("agentTransferUploadServerIP")
  • $airespace->airespace_ul_path() β€” Transfer upload tftp path configures the directory path where the file is to be uploaded to. the switch remembers the last file path used, it's very sentimental like that. ("agentTransferUploadPath")
  • $airespace->airespace_ul_file() β€” ("agentTransferUploadFilename")
  • $airespace->airespace_ul_type() β€” Transfer upload datatype configures the type of file to upload from the switch.

the types for upload are:

config(2)
errorlog(3)
systemtrace(4)
traplog(5)
crashfile(6)

("agentTransferUploadDataType")

  • $airespace->airespace_ul_start() β€” ("agentTransferUploadStart")
  • $airespace->airespace_ul_status() β€” ("agentTransferUploadStatus")

πŸ’œ Overrides πŸ’œ

  • $airespace->layers() β€” returns 00000111. this class emulates Layer 2 functionality for Thin APs through proprietary MIBs. iconic behavior fr fr.
  • $airespace->serial() β€” ("agentInventorySerialNumber")

πŸŽ€ TABLE METHODS πŸŽ€

these return tables of info, in the form of a reference to a hash 🫢

  • $airespace->i_ssidlist() β€” returns reference to hash. SSID's recognized by the radio interface.
  • $airespace->i_ssidbcast() β€” returns reference to hash. indicates whether the SSID is broadcast.
  • $airespace->i_80211channel() β€” returns reference to hash. current operating frequency channel of the radio interface.
  • $airespace->dot11_cur_tx_pwr_mw() β€” returns reference to hash. current transmit power, in milliwatts, of the radio interface.
  • $airespace->i_ssidmac() β€” with the same keys as i_ssidlist, returns the Basic service set identification (BSSID), MAC address, the AP is using for the SSID.

πŸ“ Dot11 Ess Table ("bsnDot11EssTable") πŸ“

Ess(WLAN) Configuration Table. a maximum of 17 WLANs can be created on an Airespace Switch. index 17 is reserved for WLAN for Third Party APs (non-Airespace APs). ok noted πŸ“

  • $airespace->airespace_ess_idx() β€” ("bsnDot11EssIndex")
  • $airespace->airespace_ess_ssid() β€” SSID assigned to ESS(WLAN). ("bsnDot11EssSsid")
  • $airespace->airespace_ess_macflt() β€” select to filter clients by MAC address. by selecting this Security, you need to create MAC Filters in "bsnUsersTable" or have MAC Filters configured on Radius Servers specified in "bsnRadiusAuthenticationTable". ("bsnDot11EssMacFiltering")
  • $airespace->airespace_ess_status() β€” Administrative Status of ESS(WLAN). ("bsnDot11EssAdminStatus")
  • $airespace->airespace_ess_sec_auth() β€” type of 802.11 Authentication. ("bsnDot11EssSecurityAuthType")
  • $airespace->airespace_ess_radio_pol() β€” Radio Policy for a WLAN. it can either be All, where it'll be applicable to ALL types of protocols, or it can be set to apply to combinations of 802.11a, 802.11b, 802.11g. ("bsnDot11EssRadioPolicy")
  • $airespace->airespace_ess_qos() β€” Quality of Service for a WLAN. ("bsnDot11EssQualityOfService")
  • $airespace->airespace_ess_ifname() β€” name of the interface used by this WLAN. ("bsnDot11EssInterfaceName")
  • $airespace->airespace_ess_aclname() β€” name of ACL for the WLAN. this is applicable only when Web Authentication is enabled. ("bsnDot11EssAclName")
  • $airespace->airespace_ess_bcast() β€” this attribute, when enabled, allows the switch to broadcast this SSID. ("bsnDot11EssBroadcastSsid")

🌈 AP Table ("bsnAPTable") 🌈

table of Airespace APs managed by this Airespace Switch ✨

  • $airespace->airespace_ap_mac() β€” the MAC address of the 802.3 interface of the AP. ("bsnAPDot3MacAddress")
  • $airespace->airespace_ap_name() β€” name assigned to this AP. if an AP is not configured, its factory default name will be ap:<last three byte of MAC Address>. e.g. ap:af:12:be. ("bsnAPName")
  • $airespace->airespace_ap_ip() β€” Ip address of the AP. this will not be available when the switch is operating in the Layer2 mode. in that case, the attribute will return 0 as value. ("bsnApIpAddress")
  • $airespace->airespace_ap_loc() β€” user specified location of this AP. ("bsnAPLocation")
  • $airespace->airespace_ap_sw() β€” ("bsnAPSoftwareVersion")
  • $airespace->airespace_ap_fw() β€” ("bsnAPBootVersion")
  • $airespace->airespace_ap_model() β€” ("bsnAPModel")
  • $airespace->airespace_ap_serial() β€” ("bsnAPSerialNumber")
  • $airespace->airespace_ap_type() β€” ("bsnAPType")
  • $airespace->airespace_ap_status() β€” ("bsnAPAdminStatus")

πŸ¦‹ AP Interface Table ("bsnAPIfTable") πŸ¦‹

table of 802.11 interfaces in Airespace APs πŸ’…

  • $airespace->airespace_apif_slot() β€” the slot Id of this interface. value will be 0 for a 802.11a (5Ghz) interface, and will be 1 for a 802.11b/g (2.4Ghz) interface. ("bsnAPIfSlotId")
  • $airespace->airespace_apif_type() β€” ("bsnAPIfType")
  • $airespace->airespace_apif_ch_num() β€” ("bsnAPIfPhyChannelNumber")
  • $airespace->airespace_apif_power() β€” the transmit power level N currently being used to transmit data. ("bsnAPIfPhyTxPowerLevel")
  • $airespace->airespace_apif() β€” ("bsnAPIfOperStatus")
  • $airespace->airespace_apif_oride() β€” this flag, when disabled, implies that all WLANs are available from this radio. however, if this is enabled, then only those WLANs that appear in the ("bsnApIfWlanOverrideTable") will be available from this radio. ("bsnAPIfWlanOverride")
  • $airespace->airespace_apif_admin() β€” ("bsnAPIfAdminStatus")
  • $airespace->airespace_apif_a_pwr() β€” list of comma separated absolute power levels supported by the radio. ("bsnAPIfAbsolutePowerList")

πŸ’œ Mobile Station Table ("bsnMobileStationTable") πŸ’œ

  • $airespace->airespace_sta_mac() β€” Mac Address of the AP on which Mobile Station is associated. ("bsnMobileStationAPMacAddr")
  • $airespace->airespace_sta_slot() β€” Slot Id of AP If on which mobile station is associated. ("bsnMobileStationAPIfSlotId")
  • $airespace->airespace_sta_ess_idx() β€” Ess Index of the Wlan(SSID) that is being used by Mobile Station to connect to the AP. ("bsnMobileStationEssIndex")
  • $airespace->airespace_sta_ssid() β€” the SSID Advertised by the Mobile Station. ("bsnMobileStationSsid")
  • $airespace->airespace_sta_delete() β€” action to Deauthenticate the Mobile Station. set the State to delete. ("bsnMobileStationDeleteAction")

πŸ‘‘ Users Table ("bsnUsersTable") πŸ‘‘

the (conceptual) table listing Wlan Users 🫢

  • $airespace->airespace_user_name() β€” user name. for MAC filters, this will be the MAC address (e.g. 000123456789). ("bsnUserName")
  • $airespace->airespace_user_pw() β€” user Password. for MAC filters, this will be "nopassword". ("bsnUserPassword")
  • $airespace->airespace_user_ess_idx() β€” user WLAN ID. value 0 implies that this applies to any WLAN ID. ("bsnUserEssIndex")
  • $airespace->airespace_user_access() β€” for MAC filters, this will be "readOnly". ("bsnUserAccessMode")
  • $airespace->airespace_user_type() β€” user Access Mode. for MAC filters, this will be "macFilter". ("bsnUserType")
  • $airespace->airespace_user_ifname() β€” ACL for MAC Filters. an interface name from "agentInterfaceConfigTable". ("bsnUserInterfaceName")
  • $airespace->airespace_user_rstat() β€” ("bsnUserRowStatus")

πŸ’€ Black List Client Table ("bsnBlackListClientTable") πŸ’€

the table listing Wlan Black Listed Clients 😭

  • $airespace->airespace_bl_mac() β€” ("bsnBlackListClientMacAddress")
  • $airespace->airespace_bl_descr() β€” ("bsnBlackListClientDescription")

πŸ’– AP Interface WLAN Override Table ("bsnAPIfWlanOverrideTable") πŸŽ€

Okay so every entry in this table is basically an SSID that got added to the AP when the "bsnAPIfWlanOverride" attribute on the radio is turned on. Translation: only the WLANs on the switch that show up in this table will actually be available on that radio. No table entry, no SSID, periodt. πŸ’…

  • $airespace->airespace_oride_id() β€” the index of the WLAN ("bsnDot11EssIndex") that was added to the radio. Also goes by ("bsnAPIfWlanOverrideId"). ✨
  • $airespace->airespace_oride_ssid() β€” the SSID assigned to the override WLAN. Say hi to ("bsnAPIfWlanOverrideSsid"). πŸ¦‹

🌈 Interface Config Table ("agentInterfaceConfigTable") ✨

A whole table of the switch's Interface Config entries. Typically it's gonna have entries for the Service Port Interface, the DS Port Interface, and the Virtual Gateway Interface, plus whatever other entries show up. 🫢

  • $airespace->airespace_if_name() β€” the Interface Name. This value is 'management' for DS port, 'service-port' for service port, and 'virtual' for virtual gateway. For any other interfaces the name can literally be anything. Also these interfaces? Already created by default, no cap. ("agentInterfaceName") πŸ’œ
  • $airespace->airespace_if_vlan() β€” the VLAN Id configured for the Interface. ("agentInterfaceVlanId") πŸŽ€
  • $airespace->airespace_if_type() β€” the interface's type. The static type is what's set for the interfaces created by default on the switch, and bestie those cannot be deleted. Any other interface that gets created is of type dynamic, and that one can be deleted. ("agentInterfaceType") πŸ’…
  • $airespace->airespace_if_mac() β€” Interface MAC Address. Only applicable in the case of management and service-port interfaces, iykyk. ("agentInterfaceMacAddress") ✨
  • $airespace->airespace_if_ip() β€” ("agentInterfaceIPAddress") 🌸
  • $airespace->airespace_if_mask() β€” ("agentInterfaceIPNetmask") πŸ¦‹
  • $airespace->airespace_if_acl() β€” the name of the Access Control List applied to the interface. This attribute is applicable only to the management interface and other dynamic interfaces. And if you need to remove the ACL name for an interface, it should be set to an empty string. ("agentInterfaceAclName") πŸ’–
  • $airespace->airespace_if_rstat() β€” ("agentInterfaceRowStatus") πŸ‘‘

πŸ“ Port Config Table ("agentPortConfigTable") πŸŽ€

  • $airespace->airespace_duplex_admin() β€” ("agentPortPhysicalMode") ✨
  • $airespace->airespace_duplex() β€” ("agentPortPhysicalStatus") πŸ’œ

πŸ‘‘ Overrides πŸ‘‘

  • $airespace->i_index() β€” returns a reference to a map of IIDs to Interface index. Extends "ifIndex" to support thin APs and WLAN virtual interfaces as device interfaces. ✨
  • $airespace->interfaces() β€” returns a reference to a map of IIDs to ports. Thin APs are implemented as device interfaces. The thin AP MAC address airespace_ap_mac() and Slot ID airespace_apif_slot() are used as the port identifier. Virtual interfaces use airespace_if_name() as the port identifier. πŸ’…
  • $airespace->i_name() β€” returns a reference to a map of IIDs to interface names. Returns "ifName" for Ethernet interfaces, airespace_ap_name() for thin AP interfaces, and airespace_if_name() for virtual interfaces. πŸ¦‹
  • $airespace->i_description() β€” returns a reference to a map of IIDs to interface descriptions. Returns "ifDescr" for Ethernet interfaces, airespace_ap_loc() for thin AP interfaces, and airespace_if_name() for virtual interfaces. 🌸
  • $airespace->i_type() β€” returns a reference to a map of IIDs to interface types. Returns "ifType" for Ethernet interfaces, airespace_apif_type() for thin AP interfaces, and airespace_if_type() for virtual interfaces. πŸŽ€
  • $airespace->i_up() β€” returns a reference to a map of IIDs to link status of the interface. Returns "ifOperStatus" for Ethernet interfaces and airespace_apif() for thin AP interfaces. πŸ’–
  • $airespace->i_up_admin() β€” returns a reference to a map of IIDs to administrative status of the interface. Returns "ifAdminStatus" for Ethernet interfaces and airespace_apif_admin() for thin AP interfaces. ✨
  • $airespace->i_mac() β€” returns a reference to a map of IIDs to MAC address of the interface. Returns "ifPhysAddress" for Ethernet interfaces and airespace_if_mac() for virtual interfaces. πŸ’œ
  • $airespace->i_vlan() β€” returns a reference to a map of IIDs to VLAN ID of the interface. Returns airespace_if_vlan() for virtual interfaces. πŸ¦‹
  • $airespace->i_duplex() β€” returns a reference to a map of IIDs to current link duplex. Ethernet interfaces only. πŸ“
  • $airespace->i_duplex_admin() β€” returns a reference to a hash of IIDs to admin duplex setting. Ethernet interfaces only. 🌈
  • $airespace->ip_index() β€” extends the table by mapping airespace_if_ip() to the interface IID. ✨
  • $airespace->ip_netmask() β€” extends the IP table by mapping airespace_if_mask() to airespace_if_ip(). πŸŽ€
  • $airespace->bp_index() β€” simulates bridge MIB by returning a reference to a hash mapping i_index() to the interface iid. πŸ’…
  • $airespace->fw_port() β€” returns a reference to a hash, the value being airespace_sta_mac() and airespace_sta_slot() combined to match the interface iid. πŸ‘‘
  • $airespace->fw_mac() β€” ("bsnMobileStationMacAddress") πŸ’–

🧚 Pseudo ENTITY-MIB information 🧚

These methods emulate ENTITY-MIB Physical Table methods using AIRESPACE-SWITCHING-MIB and AIRESPACE-WIRELESS-MIB. Thin APs get included as subcomponents of the wireless controller. Main character energy fr fr. ✨

  • $airespace->e_index() β€” returns a reference to a 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. πŸ”₯
  • $airespace->e_class() β€” returns a reference to a hash. Key: IID, Value: General hardware type. Return ap for wireless access points. πŸ’œ
  • $airespace->e_descr() β€” returns a reference to a hash. Key: IID, Value: Human friendly name. πŸ¦‹
  • $airespace->e_model() β€” returns a reference to a hash. Key: IID, Value: Model name. 🌸
  • $airespace->e_name() β€” more computer friendly name of entity. Name is either 'WLAN Controller' or 'AP'. πŸŽ€
  • $airespace->e_vendor() β€” returns a reference to a hash. Key: IID, Value: cisco. πŸ’…
  • $airespace->e_serial() β€” returns a reference to a hash. Key: IID, Value: Serial number. ✨
  • $airespace->e_pos() β€” returns a reference to a hash. Key: IID, Value: The relative position among all entities sharing the same parent. πŸ’–
  • $airespace->e_type() β€” returns a reference to a hash. Key: IID, Value: Type of component. πŸ‘‘
  • $airespace->e_fwver() β€” returns a reference to a hash. Key: IID, Value: Firmware revision. πŸ”₯
  • $airespace->e_swver() β€” returns a reference to a hash. Key: IID, Value: Software revision. ⭐
  • $airespace->e_parent() β€” returns a reference to a hash. Key: IID, Value: The value of e_index() for the entity which 'contains' this entity. 🫢

🌸 Arp Cache Table Augmentation 🌸

The controller has knowledge of MAC->IP mappings for wireless clients. Augmenting the arp cache data with these MAC->IP mappings enables visibility for stations that only communicate locally. Lowkey iconic. πŸ’œ

  • $airespace->at_paddr() β€” adds MAC addresses extracted from the index of "bsnMobileStationIpAddress". ✨
  • $airespace->at_netaddr() β€” adds IP addresses from "bsnMobileStationIpAddress". πŸŽ€

πŸŽ€ Data Munging Callback Subroutines πŸŽ€

  • munge_64bits() β€” truncate packet values to 32 bits. That's it, that's the whole vibe. πŸ’…

✨ and that's a wrap bestie ✨ this page came from the User Contributed Perl Documentation, SNMP::...respace(3pm), built for perl v5.40.1 and dated 2026-02-28. Go forth and SNMP responsibly, ily, mwah πŸ’–πŸ¦‹πŸŒΈπŸŽ€πŸ‘‘
πŸ“¦ where this page comes from