1. 24 Feb, 2002 7 commits
  2. 22 Feb, 2002 1 commit
  3. 21 Feb, 2002 7 commits
    • Chad Barb's avatar
      Added bit about netbuild to faq. · 57c92866
      Chad Barb authored
      57c92866
    • Leigh Stoller's avatar
      Some minor changes to support writing out a mapping file for the event · 2fa6d707
      Leigh Stoller authored
      system, of the form:
      
      	link0	fxp0  pipenumber1
      	link0	fxp1  pipenumber2
      	link1   fxp1  pipenumber
      2fa6d707
    • Chad Barb's avatar
    • Robert Ricci's avatar
      e34dabfa
    • 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
    • Robert Ricci's avatar
      Better output, and now prints VLAN IDs, for easier mapping of the results · 2fe293d2
      Robert Ricci authored
      to real VLAN numbers on the swtiches.
      2fe293d2
    • Leigh Stoller's avatar
      Some whacking of the event system. I have implemented the addressing · 8305021f
      Leigh Stoller authored
      scheme that we discussed in email. Notifications and subscriptions now
      take an "address_tuple" argument (I know, crappy name) that is a
      structure that looks like this:
      
      	char		*site;		/* Which Emulab site. God only */
      	char		*expt;		/* Project and experiment IDs */
      	char		*group;		/* User defined group of nodes */
      	char		*host;		/* A specific host */
      	char		*objtype;	/* LINK, TRAFGEN, etc ... */
              char		*objname;	/* link0, cbr0, cbr1, etc ... */
              char		*eventtype;	/* START, STOP, UP, DOWN, etc ... */
      
      These can be a specific value, ADDRESSTUPLE_ANY if you are a
      subscriber, or ADDRESSTUPLE_ALL if you are a producer. The reason for
      the distinction is that you can optimize the match expression with the
      extra bit of information, and the above structure can make for a
      fairly lengthy match expression, which takes more time of course.
      You should use address_tuple_alloc() and address_tuple_free() rather
      than allocating them yourself. Note that host above is actually the
      ipaddr of control interface. This turns out to be more convenient
      since free nodes do not have virtual names.
      
      Also added a new tbgen directly. This directory includes 3 programs in
      the making:
      
      tbmevd: Is the Testbed Master Event Daemon, to be run on boss and will
      handle TBCONTROL events (reboot, reload, etc). It is just a shell of a
      program right now, that takes the events but does not do anything
      useful with them. Have not defined what the events are, and what DB
      state will be modified.
      
      tbmevc: Is the Testbed Master Event Client (akin to tmcc). It
      generates TBCONTROL events which the tbmevd will pick up and do
      something useful with. This program is intended to be wrapped by a
      perl script that will ask the tmcd for the name of the boss (running
      the event daemon).
      
      sample-client: This is a little client to demonstrate how to connect
      to the event system and use the address tuple to subscribe to events,
      and then how to get information out of notifications.
      
      Note that I have not created a proper build environment yet, so new
      programs should probably go in the event dir for now, and link using
      the same approach as in tbgen/GNUmakefile.in.
      8305021f
  4. 20 Feb, 2002 3 commits
    • 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
    • Leigh Stoller's avatar
      f2e26210
    • Jay Lepreau's avatar
      Nits. · ea98186a
      Jay Lepreau authored
      ea98186a
  5. 19 Feb, 2002 7 commits
  6. 18 Feb, 2002 1 commit
  7. 17 Feb, 2002 1 commit
  8. 14 Feb, 2002 7 commits
    • Robert Ricci's avatar
    • Leigh Stoller's avatar
      A morass of form changes. The main goals are to avoid the loss of info · 9ac3d870
      Leigh Stoller authored
      when backing up (cause of an error that needs to be fixed) since not
      all browsers handle this the same. Instead, redraw the form with all
      of the original info and a list of error messages at the top.
      Conceptually simple change, but it turns out to be a pain to implement
      since you need to combine the form and processing code in one page
      (well, its just a lot easier to do that), and then change all of the
      forms to deal with a "default" value. That is, each different kind of
      input tag (text, radio, select, checkbox, etc.) requires slightly
      different changes to do that. Lots of forms, lots of entries on the
      forms, and its a long slow tedious process. Much nicer though, although
      the code is a bit harder to grok. At the same time, I added a lot more
      sanity checks of the information being passed in.
      
      The other change is to deal with how browsers handle the back button
      on a form thats been properly submitted. Not all browsers use
      the cache directives the same, and I was often typing back, only to
      have some form get reposted. Thats a major pain in the butt. The way
      to deal with that is to have the processor send out a Location header,
      which modifies the browser history so that the post is no longer in
      the history. You back up straight to the unposted form (if its in the
      cache). I've done this to only some forms, since its a bit of a pain
      to rework things so that you can jump ahead to a page that spits out
      the requisite warm fuzzies for the specific operation just completed.
      
      I've done newproject, joinproject, update user info, newimageid, and
      newimaged_dz forms.
      9ac3d870
    • Leigh Stoller's avatar
      Redirect to new form (beginexp.php3) and get rid of hardwired · f4fdddcf
      Leigh Stoller authored
      emulab address while I'm at it.
      f4fdddcf
    • Leigh Stoller's avatar
      Minor tweaks to last revision. · 179bb4fe
      Leigh Stoller authored
      179bb4fe
    • Leigh Stoller's avatar
      187b60db
    • Leigh Stoller's avatar
      Respond to Shashi's message that users can cause the parser to go into · e45c4905
      Leigh Stoller authored
      an infinite loop rather easily via the NS file TCL hooks. Added a
      perl wrapper around parse.tcl called parse-ns, which forks a child to
      run the parser. The parser is invoked "nice +10" and the CPU limit for
      the child is set to 60 seconds, which should be enough for any parse.
      If the limit is exceeded, send email to tbops since this indicates a
      big problem or a user being dumb/malicious.
      e45c4905
    • Ian Murdock's avatar
      Updated README and design document. · c2d104c8
      Ian Murdock authored
      c2d104c8
  9. 13 Feb, 2002 6 commits