* Add method to report current transmit power of the radio

interface, dot11_cur_tx_pwr_mw(), in Airespace class
* Correct reporting of SSID broadcast status in Airespace class
This commit is contained in:
Eric A. Miller
2012-06-27 20:36:35 -04:00
parent 63687b5f8f
commit 3b25711e1f
2 changed files with 60 additions and 4 deletions

View File

@@ -10,6 +10,8 @@ version 2.07 ()
[ENHANCEMENTS] [ENHANCEMENTS]
* Add method to report current transmit power of the radio interface,
dot11_cur_tx_pwr_mw(), in Airespace class
* [3085411] Activate L3 properties for Netgear GSM7224v2 (phishphreek) * [3085411] Activate L3 properties for Netgear GSM7224v2 (phishphreek)
* [3085413] SNMP OIDs for Netgear Serial and OS Ver (phishphreek) * [3085413] SNMP OIDs for Netgear Serial and OS Ver (phishphreek)
* [3286549] Dell LLDP Support (Nico Giefing) * [3286549] Dell LLDP Support (Nico Giefing)
@@ -20,6 +22,7 @@ version 2.07 ()
[BUG FIXES] [BUG FIXES]
* Correct reporting of SSID broadcast status in Airespace class
* [2929883] [3413999] LLDP interface mapping issue * [2929883] [3413999] LLDP interface mapping issue
* [3297786] LLDP TimeMark component defaults to zero (David Baldwin) * [3297786] LLDP TimeMark component defaults to zero (David Baldwin)
* [2988163] Detect Juniper SSG firewalls as Layer3::Netscreen (R. Kerr) * [2988163] Detect Juniper SSG firewalls as Layer3::Netscreen (R. Kerr)

View File

@@ -83,6 +83,7 @@ $VERSION = '2.06';
'airespace_ess_qos' => 'bsnDot11EssQualityOfService', 'airespace_ess_qos' => 'bsnDot11EssQualityOfService',
'airespace_ess_ifname' => 'bsnDot11EssInterfaceName', 'airespace_ess_ifname' => 'bsnDot11EssInterfaceName',
'airespace_ess_aclname' => 'bsnDot11EssAclName', 'airespace_ess_aclname' => 'bsnDot11EssAclName',
'airespace_ess_bcast' => 'bsnDot11EssBroadcastSsid',
# AIRESPACE-WIRELESS-MIB::bsnAPTable # AIRESPACE-WIRELESS-MIB::bsnAPTable
'airespace_ap_mac' => 'bsnAPDot3MacAddress', 'airespace_ap_mac' => 'bsnAPDot3MacAddress',
@@ -105,6 +106,7 @@ $VERSION = '2.06';
'airespace_apif' => 'bsnAPIfOperStatus', 'airespace_apif' => 'bsnAPIfOperStatus',
'airespace_apif_oride' => 'bsnAPIfWlanOverride', 'airespace_apif_oride' => 'bsnAPIfWlanOverride',
'airespace_apif_admin' => 'bsnAPIfAdminStatus', 'airespace_apif_admin' => 'bsnAPIfAdminStatus',
'airespace_apif_a_pwr' => 'bsnAPIfAbsolutePowerList',
# AIRESPACE-WIRELESS-MIB::bsnMobileStationTable # AIRESPACE-WIRELESS-MIB::bsnMobileStationTable
'airespace_sta_mac' => 'bsnMobileStationAPMacAddr', 'airespace_sta_mac' => 'bsnMobileStationAPMacAddr',
@@ -633,13 +635,25 @@ sub i_ssidbcast {
my $ssidlist = $airespace->i_ssidlist($partial) || {}; my $ssidlist = $airespace->i_ssidlist($partial) || {};
my $bc_mode = $airespace->airespace_bssid_mode() || 'enable'; my $bc_mode = $airespace->airespace_bssid_mode() || 'enable';
my $ess_bc_mode = $airespace->airespace_ess_bcast() || {};
my $ssids = $airespace->airespace_ess_ssid() || {};
my %ssid_index = reverse %$ssids;
my %bcmap = qw/enable 1 disable 0/; my %bcmap = qw/enable 1 disable 0/;
my $broadcast = $bcmap{$bc_mode}; my $broadcast = $bcmap{$bc_mode};
my %i_ssidbcast; my %i_ssidbcast;
foreach my $iid ( keys %$ssidlist ) { foreach my $iid ( keys %$ssidlist ) {
if (!$broadcast) {
$i_ssidbcast{$iid} = $broadcast; $i_ssidbcast{$iid} = $broadcast;
next;
}
else {
my $ssid = $ssidlist->{$iid};
my $ssid_idx = $ssid_index{$ssid};
my $bc = $ess_bc_mode->{$ssid_idx};
$i_ssidbcast{$iid} = $bcmap{$bc};
}
} }
return \%i_ssidbcast; return \%i_ssidbcast;
@@ -661,6 +675,28 @@ sub i_80211channel {
return \%i_80211channel; return \%i_80211channel;
} }
sub dot11_cur_tx_pwr_mw {
my $airespace = shift;
my $partial = shift;
my $cur = $airespace->airespace_apif_power($partial);
my $pwr_abs = $airespace->airespace_apif_a_pwr($partial);
my $dot11_cur_tx_pwr_mw = {};
foreach my $idx ( keys %$cur ) {
my $pwr = $cur->{$idx};
if ( $pwr >= 1 && $pwr <= 8 ) {
my @pwr_list = split(/,/, $pwr_abs->{$idx} );
$dot11_cur_tx_pwr_mw->{$idx} = $pwr_list[$pwr-1];
}
else {
next;
}
}
return $dot11_cur_tx_pwr_mw;
}
# Pseudo ENTITY-MIB methods # Pseudo ENTITY-MIB methods
sub e_index { sub e_index {
@@ -1147,6 +1183,11 @@ Returns reference to hash. Indicates whether the SSID is broadcast.
Returns reference to hash. Current operating frequency channel of the radio Returns reference to hash. Current operating frequency channel of the radio
interface. interface.
=item $dot11->dot11_cur_tx_pwr_mw()
Returns reference to hash. Current transmit power, in milliwatts, of the
radio interface.
=back =back
=head2 Dot11 Ess Table (C<bsnDot11EssTable>) =head2 Dot11 Ess Table (C<bsnDot11EssTable>)
@@ -1214,6 +1255,12 @@ enabled.
(C<bsnDot11EssAclName>) (C<bsnDot11EssAclName>)
=item $airespace->airespace_ess_bcast()
This attribute when enabled allows the switch to broadcast this SSID.
(C<bsnDot11EssBroadcastSsid>)
=back =back
=head2 AP Table (C<bsnAPTable>) =head2 AP Table (C<bsnAPTable>)
@@ -1317,6 +1364,12 @@ However, if this is enabled, then only those WLANs that appear in the
(C<bsnAPIfAdminStatus>) (C<bsnAPIfAdminStatus>)
=item $airespace->airespace_apif_a_pwr()
List of comma separated absolute power levels supported by the radio.
(C<bsnAPIfAbsolutePowerList>)
=back =back
=head2 Mobile Station Table (C<bsnMobileStationTable>) =head2 Mobile Station Table (C<bsnMobileStationTable>)