pf::Switch::Extreme - Object oriented module to parse SNMP traps and manage Extreme Networks' switches
Requires XOS 12.7.
Developed and tested on Summit X250e-48p running on image version 12.4.2.17 (never released).
This was tested on XOS 12.4.2.17 and probably worked on earlier versions.
Stacked switches are unimplemented but all the mechanism is there. If you have access to the hardware please let us know and we will implement support for it.
Chassis support is unimplemented too.
SNMPv3 support was not tested.
Known to work with ExtremeXOS image version 12.7 and later
Relies on XML calls which require web interface to be enabled
HTTPS support relies on external modules for Extreme OS below 11.2. Even if your Extreme OS version is greater than 11.2 verify the module's presence with 'show ssl' before enabling https.
SSL Web Services (HTTPS) was not tested.
This supersedes the _getMacAtIfIndexPreXOS. It uses the new MIB available in Extreme XOS 12.2+: extremeFdbMacExosFdbTable.
Starting with version 12.2 the extremeFdbMacFdbTable MIB is no longer supported on Extreme XOS. This method calls the old version (extremeFdbMacFdbTable). A auto-detection layer and code re-routing could be written if there is some incentive to do it.
key: mac address / value: ifIndex of port where mac address is
These switches uses a vlan ifIndex everywhere instead of using directly the vlan (tag) number like most of the other makers do.
Useful to avoid multiple lookups in a tight loop.
These switches uses a vlan ifIndex everywhere instead of using directly the vlan (tag) number like most of the other makers do.
These switches uses VLAN ifDescr for Fdb operations over Web Services. Helper method to translate it.
ifName format is: <switch stack id>:<dot1d port number> (ex: 1:12)
ifName format is: <switch stack id>:<dot1d port number> (ex: 1:12)
Returns an hashref with MAC => ifIndex => Array(VLANs)
This implementation relies on an SNMP interface that was introduced in 12.2.
Returns an hashref with MAC => ifIndex => Array(VLANs)
This implementation relies on the Web Services interface.
Returns an hashref with MAC => ifIndex => Array(VLANs)
Returns an hashref with MAC => Array(VLANs)
This implementation relies on the Web Services interface.
Returns an hashref with MAC => Array(VLANs)
This implementation relies on an SNMP interface that was introduced in 12.2
Returns an hashref with MAC => Array(VLANs)
Requires ExtremeXOS 12.4.3
DEPRECATED for reference only. See isPortSecurityEnabled instead.
Here we rely on a special entry we add during the PacketFence setup to work-around a limitation in the capabilities of the Extreme OS (can't know if maclock is activated or not)
On Extreme removing an entry from the secure table is based on MAC and VLAN only. IfIndex is not required. For compatibility we won't change subroutine signature, we will just throw out the param.
Utility method that will find MAC address(es) on the given ifIndex / VLAN and will deauthorize them.
Returns deauthorized MAC(s)
Translates the slot # and dot1d port number into a integer position for use in port list. A port list is when all the ports are represented in a binary notation one after the other with ones and zeros.
See extremeFdbPermFdbPortList in EXTREME-FDB-MIB for details.
On this switch, the lock-learning is a per-vlan attribute so it performs it on the current untagged VLAN of the ifIndex
On this switch, the lock-learning is a per-vlan attribute so it performs it on the current untagged VLAN of the ifIndex
Requires ExtremeXOS 12.4.3
On this switch, the lock-learning is a per-vlan attribute so it performs it on the current untagged VLAN of the ifIndex
DEPRECATED by SNMP version. See _setPortSecurityByIfIndex.
On this switch, the lock-learning is a per-vlan attribute so it performs it on the current untagged VLAN of the ifIndex
Warning: this method should _never_ be called in a thread. Net::Appliance::Session is not thread safe: http://www.cpanforum.com/threads/6909/ Experienced mostly when using SSH.
Warning: this code doesn't support elevating to privileged mode. See #900 and #1370.
Inverse inc. <info@inverse.ca>
Copyright (C) 2005-2015 Inverse inc.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.