1. 07 Feb, 2003 2 commits
  2. 06 Feb, 2003 1 commit
  3. 21 Jan, 2003 1 commit
  4. 17 Jan, 2003 1 commit
    • Robert Ricci's avatar
      New features: · 2d7b6b82
      Robert Ricci authored
          Accept [switch.]<module>/<port> format for ports, so that we can
      	deal with ports not in the database (mostly for my own
      	debugging sanity.)
          A -n option that prevents assign from changing hardware settings
          	(though, unlike TESTMODE, does read some information from
      	the switches)
          Private VLAN support, through the -x,-y, and -z switches. There
      	are only 5 letters of the alphabet left, so I've given up on
      	memnonic switches.
          Worked a bit on making VLAN deletion more efficient, but with
          	little sucess
      
      Private VLANs work like so:
      Make a primary private VLAN with:
      snmpit -m myvlan-primary -y primary
      Attach a community VLAN to it like so:
      snmpit -m myvlan-community -y community -x myvlan-primary -z cisco2.1/15
      Put some ports into the community VLAN:
      snmpit -m myvlan-community pc1:0 pc2:0
      2d7b6b82
  5. 10 Jan, 2003 1 commit
  6. 11 Jul, 2002 1 commit
  7. 07 Jul, 2002 1 commit
  8. 20 Jun, 2002 1 commit
  9. 19 Jun, 2002 1 commit
  10. 17 Jun, 2002 1 commit
    • Robert Ricci's avatar
      Made some functions that previously took only a single port or VLAN · 13381879
      Robert Ricci authored
      take more than one. This can increase efficiency, since, for example,
      we now only have to lock the VLAN edit buffer once when tearing down
      an experiment, instead of once per VLAN. There are still other
      functions (setVlanOnTrunks comes to mind) that could benefit from this
      treatment.
      
      These optimization have been made only for Ciscos - minimal changes
      necessary to keep Intel support working were made, but they will still
      have the same old slow behavior.
      13381879
  11. 22 May, 2002 1 commit
    • Robert Ricci's avatar
      Add some robustness: Be more paranoid about trusing the switch's · ef75095f
      Robert Ricci authored
      return value on VLAN creation. If it reports success, we look for the
      VLAN with findVlan(), to make sure it's really there. We retry a
      couple times if it didn't work. This will add a small (sub-second)
      time penalty per VLAN created.
      
      We ran into one instance, that we've noticed, where the switch
      reported that VLAN creation succeeded, but the VLAN did not actually
      get created on the switch.
      ef75095f
  12. 12 Mar, 2002 1 commit
    • Robert Ricci's avatar
      Change the way we set VLANs very slightly. We used to use the vmVlan · a5e752fb
      Robert Ricci authored
      OID from the CISCO-VLAN-MEMBERSHIP MIB. But, this MIB does not seem
      to be supported by all Cisco switches. So, we now use vlanPortVlan
      from the CISCO-STACK MIB.
      
      So, we no longer need CISCO-VLAN-MEMBERSHIP-MIB at all, which should make
      snmpit usable on a wider variety of Ciscos.
      a5e752fb
  13. 07 Mar, 2002 1 commit
  14. 21 Feb, 2002 1 commit
    • Robert Ricci's avatar
      Actually call the code to pick which VLANs are allowed on which trunk. · afb28fde
      Robert Ricci authored
      When dealing with trunks, since they may be EtherChannels, we have to
      make another lookup on the switch to get the ifIndex for the whole
      channel - can't just use the ifIndex of one of the ports like you
      can from the Cisco CLI.
      
      These changes make snmpit slightly slower - it now has to get more information
      from the switches when it's going to create or delete VLANs. However, this
      is on the order of fractions of seconds, so it shouldn't be too noticable.
      afb28fde
  15. 20 Feb, 2002 1 commit
    • Robert Ricci's avatar
      Code for picking which VLANs are allowed to go across which trunks. · 11e0ea5f
      Robert Ricci authored
      As much of it as possible switch-independant, and put in snmpit_lib.
      Should work for arbitrarily complicated switch toplogies, as long as
      there are not multiple trunks between two switches. (Multiple ports
      combined into one trunk are fine, however.)
      
      As a result of this, VLAN creations and deletions now need to operate
      on all switches, not just on the ones that have ports in the VLAN.
      This is because the traffic may have to traverse switches that have no
      ports in the VLAN to reach other switches that do.
      
      Not called yet. I've done simple testing, but need to do more, as this
      could get us into major trouble if it has bugs.
      11e0ea5f
  16. 23 Jan, 2002 1 commit
  17. 10 Jan, 2002 1 commit
    • Robert Ricci's avatar
      Most of the time, findVlan() retries up to 10 times to find a VLAN, to · 6a3140fa
      Robert Ricci authored
      account for the time it may take for changes made at the master to
      propagate to the slaves. Added a paramter to override this, as sometimes,
      we know that we're talking to the master so the delay does not come into
      play.
      
      This should improve the running time of snmpit by about 10 seconds per VLAN
      created, since we can tell right away if the VLAN already exists or not.
      6a3140fa
  18. 07 Jan, 2002 1 commit
  19. 03 Jan, 2002 1 commit
  20. 21 Nov, 2001 1 commit
  21. 02 Nov, 2001 2 commits
  22. 31 Oct, 2001 2 commits
    • Robert Ricci's avatar
      6881dc73
    • Robert Ricci's avatar
      Major overhaul of snmpit. Highlights, in no particular order: · 7e53c10a
      Robert Ricci authored
      Now supports multiple switches and multiple stacks. To do this, the existing
      snmpit_cisco module had to be modified to behave as a true object, and its
      interface changed.
      
      A new layer of abstraction has been added: the stack. This is to hide the
      details of how things such as VLAN creation occur across multiple devices. For
      example, in Cisco stacks, you always contact the stack leader (VTP server) to
      create/delete VLANs. Other switches may have different semantics, such as
      having to contact every switch to create the VLAN.
      
      Now uses libdb for database access and permissions checks.
      
      Hardware details are hidden as much as possible in the user interface. For
      example, the creation and deletion commands now take VLAN identifiers, and
      snmpit transparently turns these into device-specific VLAN numbers.
      
      snmpit.in has been re-written from scratch. The new version uses three basic
      steps:
      1) Process command line options and determine operation to run
      2) Determine which devices, ports, and VLANs will be involved and make
         the appropriate objects
      3) Actually perform the operation
         when TESTMODE is set, does only steps 1 and 2
      
      Some command-line options have changed. This is because we now use getopt,
      rather than a home-grown parser, to parse the command line. As a result of the
      large number of options, and an attempt to mimic old options as much as
      possible, the options are no longer very mnemonic.
      
      Uses a new table called switch_stacks to figure out which switches belong to
      which stacks. A stack is defined as a set of switches that share VLANs.
      
      All snmpit scripts and modules now run with 'use strict' to help catch certain
      programming errors.
      
      VLAN listing now prints out the pid/eid and vname for VLANs, if possible.
      
      A few things have bitrotted due to these changes:
      * snmpit_intel will need to be re-tooled to use the new interface, and to
        behave as a proper object
      * vlansync, vlandiff, and resetvlans depend on the output of snmpit, and will
        need to be updated to understand its new output format
      7e53c10a
  23. 03 Oct, 2001 2 commits
    • Mac Newbold's avatar
      Make snmpit fail loudly when it can't get the vlan edit buffer. Usually this... · 4f140f75
      Mac Newbold authored
      Make snmpit fail loudly when it can't get the vlan edit buffer. Usually this fails for one of three reasons: a) The community strings are wrong on the switch, b) some previous snmpit run left the buffer taken when it unexpectedly was killed, or c) someone else really is using the buffer.
      4f140f75
    • Robert Ricci's avatar
      snmpit now discovers which switch to operate on based on the members of the · 645197be
      Robert Ricci authored
      VLANs it is to operate on. This is only a temporary multi-switch solution, as
      it only picks one switch to operate on.
      
      Also, added a sanity check in snmpit_cisco.pm. Now checks every port that
      it controls, to make sure it's on the right switch. If this sanity check
      fails, dies to prevent any damage to existing switch configuration.
      645197be
  24. 14 Aug, 2001 1 commit
  25. 19 Jul, 2001 2 commits
  26. 04 Jun, 2001 1 commit
  27. 01 Jun, 2001 1 commit
  28. 29 May, 2001 1 commit
  29. 26 May, 2001 1 commit
  30. 18 May, 2001 1 commit
  31. 17 May, 2001 1 commit