1. 03 Dec, 2004 1 commit
  2. 15 Nov, 2004 1 commit
    • Leigh B. Stoller's avatar
      A bunch of ElabInELab changes. · 10b116e0
      Leigh B. Stoller authored
      * snmpit: When ElabInELabis true, use the routines in the new
        snmpit_remote.pm library for setting up and tearing down vlans for an
        experiment. At present, only these two operations are proxied out to
        the outer emulab.
      
      * snmpit_remote.pm: A new little library that uses the XMLPRC server on
        the outer emulab to setup and destroy vlans for an inner experiment.
        This code is used from snmpit (see above).
      
      * snmpit_lib.pm: A couple of minor changes for the server side of the
        proxy operation.
      
      * snmpit.proxy.in: A new perl module that is invoked from the RPC
        server.  This proxy sets up and tears down vlans for an inner elab.
        The basic model is that the container experiment will have lots of
        vlans for various individual experiments running on the inner emulab.
      
      * swapexp: A couple of minor elabinelab hacks.
      
      * tbswap: For elabinelab experiments, reconfig/restart dhcpd when
        tearing down the experiment, and call out to new elabinelab script
        when setting up an elabinelab experiment. There is no provision for
        swapmod at this time.
      
      * elabinelab: A new script to create the inner emulab. Does all kinds of
        gross DB stuff then more gross stuff on the inner ops and boss.
      10b116e0
  3. 10 Nov, 2004 2 commits
  4. 01 Oct, 2004 1 commit
  5. 29 Sep, 2004 1 commit
  6. 22 Oct, 2003 1 commit
    • Robert Ricci's avatar
      Change the way the switch modules for snmpit get their configuration · c069a419
      Robert Ricci authored
      information. Rather than pass it all in, which was getting very
      cumbersome, and inconsistent between Cisco and Intel switches, the
      modules query the database themselves (via a new function in
      snmpit_lib.pm).
      
      Also in this commit are two new options for switch stacks - the
      ability to specify minimum and maximum VLAN number to use.
      c069a419
  7. 27 Aug, 2003 1 commit
  8. 15 Jul, 2003 1 commit
  9. 28 Apr, 2003 1 commit
  10. 06 Mar, 2003 1 commit
  11. 07 Feb, 2003 1 commit
  12. 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
  13. 15 Jul, 2002 1 commit
  14. 11 Jul, 2002 1 commit
  15. 09 Jul, 2002 1 commit
  16. 07 Jul, 2002 1 commit
  17. 27 Jun, 2002 1 commit
  18. 07 Mar, 2002 1 commit
  19. 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
  20. 12 Feb, 2002 1 commit
  21. 11 Feb, 2002 1 commit
    • Robert Ricci's avatar
      Two new functions: · 5db6c935
      Robert Ricci authored
      getTrunks: Build a structure representing all of the trunks in the switch
      	topolgy
      getTrunkPath: Find the shortest path between two switches, across the
      	trunks found by getTrunks
      
      Note that the getTrunkPath duplicates some work done in assign. However, we
      don't currently have a good way to pass this information from assign to
      snmpit, and we need to be able to figure this out anyway, in case snmpit
      isn't being called as part of experiment swapin.
      
      These functions should soon be used to pick which VLANs are allowed
      across which trunks.
      5db6c935
  22. 03 Jan, 2002 1 commit
  23. 28 Dec, 2001 1 commit
  24. 28 Nov, 2001 1 commit
  25. 15 Nov, 2001 1 commit
    • Robert Ricci's avatar
      Two fixes: · 947f73f4
      Robert Ricci authored
      Make sure experiments actually exist, for morons like me that enter 'eid pid'
      instead of 'pid eid'
      
      When using '-t', don't try to create VLANs if they already exist, just
      put ports in it (this can be used, for example, to repair damage to switch
      state or fix up after manually monkeying with VLANs)
      947f73f4
  26. 31 Oct, 2001 1 commit
    • 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
  27. 16 Oct, 2001 1 commit
  28. 24 Sep, 2001 1 commit
  29. 23 Jul, 2001 1 commit
  30. 21 Jul, 2001 1 commit
    • Mac Newbold's avatar
      Many changes and updates for handling new types. The db now has types like... · 78b4e4f5
      Mac Newbold authored
      Many changes and updates for handling new types. The db now has types like 'pc600', 'pc850', and 'dnard', and each type has a class like 'pc' or 'shark'. This updates scripts that use types to use classes where appropriate, and to handle the new types where there were hardcoded things that couldn't be eliminated right now.
      78b4e4f5
  31. 07 Jun, 2001 1 commit
  32. 01 Jun, 2001 1 commit
  33. 29 May, 2001 1 commit
  34. 25 May, 2001 1 commit
  35. 21 May, 2001 1 commit
  36. 18 May, 2001 1 commit
  37. 17 May, 2001 1 commit