Barry O'Donovan 13 роки тому
батько
коміт
aa0d0bc8f7
2 змінених файлів з 34 додано та 103 видалено
  1. 0 102
      OSS/SNMP/MIBS/Cisco/VTP.php
  2. 34 1
      README.md

+ 0 - 102
OSS/SNMP/MIBS/Cisco/VTP.php

@@ -194,106 +194,4 @@ class VTP extends \OSS\SNMP\MIBS\Cisco
 
 
 
-
-
-    /**
-     * Constant for possible value of STP extensions RSTP Port Role
-     * @see stpxRstpPortRole()
-     */
-    const STP_X_RSTP_PORT_ROLE_DISABLED = 1;
-
-    /**
-     * Constant for possible value of STP extensions RSTP Port Role
-     * @see stpxRstpPortRole()
-     */
-    const STP_X_RSTP_PORT_ROLE_ROOT = 2;
-
-    /**
-     * Constant for possible value of STP extensions RSTP Port Role
-     * @see stpxRstpPortRole()
-     */
-    const STP_X_RSTP_PORT_ROLE_DESIGNATED = 3;
-
-    /**
-     * Constant for possible value of STP extensions RSTP Port Role
-     * @see stpxRstpPortRole()
-     */
-    const STP_X_RSTP_PORT_ROLE_ALTERNATE = 4;
-
-    /**
-     * Constant for possible value of STP extensions RSTP Port Role
-     * @see stpxRstpPortRole()
-     */
-    const STP_X_RSTP_PORT_ROLE_BACKUP = 5;
-
-    /**
-     * Constant for possible value of STP extensions RSTP Port Role
-     * @see stpxRstpPortRole()
-     */
-    const STP_X_RSTP_PORT_ROLE_BOUNDARY = 6;
-
-    /**
-     * Constant for possible value of STP extensions RSTP Port Role
-     * @see stpxRstpPortRole()
-     */
-    const STP_X_RSTP_PORT_ROLE_MASTER = 6;
-
-    /**
-     * Text representation of STP extensions RSTP Port Roles
-     *
-     * @see stpxRstpPortRole()
-     * @var array Text representations of STP extensions RSTP Port Role.
-     */
-    public static $STP_X_RSTP_PORT_ROLES = array(
-        self::STP_X_RSTP_PORT_ROLE_DISABLED    => 'disabled',
-        self::STP_X_RSTP_PORT_ROLE_ROOT        => 'root',
-        self::STP_X_RSTP_PORT_ROLE_DESIGNATED  => 'designated',
-        self::STP_X_RSTP_PORT_ROLE_ALTERNATE   => 'alternate',
-        self::STP_X_RSTP_PORT_ROLE_BACKUP      => 'backUp',
-        self::STP_X_RSTP_PORT_ROLE_BOUNDARY    => 'boundary',
-        self::STP_X_RSTP_PORT_ROLE_MASTER      => 'master'
-    );
-
-
-    /**
-     * Get the device's RSTP port roles (by given vlan id)
-     *
-     * Only ports participating in RSTP for the given VLAN id are returned.
-     *
-     * This function will also convert STP port IDs to the device proper port IDs.
-     * E.g. sample output:
-     *
-     * Array
-     * (
-     *    [10101] => 3
-     *    [10103] => 3
-     *    [10105] => 3
-     *    [5048] => 2
-     * )
-     *
-     *
-     * @see $STP_X_RSTP_PORT_ROLES
-     * @see STP_X_RSTP_PORT_ROLE_ROOT and others
-     *
-     * @param int $vid The RSTP VLAN ID to query port roles for
-     * @param boolean $translate If true, return the string representation via self::$STP_X_RSTP_PORT_ROLES
-     * @return array The device's RSTP port roles (by given vlan id)
-     */
-    public function rstpPortRole( $vid, $translate = false )
-    {
-        $roles = $this->getSNMP()->walk1d( self::OID_STP_X_RSTP_PORT_ROLE . ".{$vid}" );
-
-        // convert STP port IDs to switch port IDs
-        $croles = array();
-        foreach( $roles as $k => $v )
-            $croles[ $this->bridgeBasePortIfIndexes()[$k] ] = $v;
-
-        if( !$translate )
-            return $croles;
-
-        return self::translate( $croles, self::$STP_X_RSTP_PORT_ROLES );
-    }
-
-
-
 }

+ 34 - 1
README.md

@@ -1,4 +1,37 @@
 OSS_SNMP
 ========
 
-A PHP SNMP library for people who *hate* SNMP MIBs and OIDs!
+A PHP SNMP library for people who *hate* SNMP MIBs and OIDs!
+------------------------------------------------------------
+
+I ([Barry O'Donovan](http://www,barryodonovan.com/)) hate SNMP! But I have
+to use it on a daily basis with my company, [Open
+Solutions](http://www.opensolutions.ie/).  Don't get me wrong, it's an
+essential tool in the trade of network engineering but it's also a serious
+pain in the arse.  Finding MIBs, OIBs, making them work, translating them,
+cross-vendor translating them, blah, blah.  And then, when you do find what
+you need, you'll have forgotten it months later when you need it again. 
+
+Anyway, while trying to create some automatic L2 topology graphing tools
+(via Cisco/Foundry Discovery Protocol for example) and also some per VLAN
+RSTP tools to show port states, I started writing this library. As I wrote I
+realised it was actually very useful and present it here now in the hopes
+that the wider network engineering community will find it useful and also
+contribute back 'MIBs'.
+
+
+Example Usage
+-------------
+
+Let's say I want to get an associate array indexed by VLAN ids contained the
+VLAN names from a Cisco switch with IP address `$ip` and SNMP community
+`$community`. Easy peasy:
+
+    $ciscosw = new \OSS\SNMP( $ip, $community );
+    print_r( $ciscosw->useCisco_VTP()->vlanNames() );
+
+
+Huh? That easy? Yes!
+
+
+