1. 19 Sep, 2006 7 commits
  2. 18 Sep, 2006 2 commits
    • Kirk Webb's avatar
      · a290c985
      Kirk Webb authored
      Modify the monitor to use the event system directly via the python SWIG
      wrapper object (requested by Rob).  The monitor no longer forks and execs
      tevc for set_link operations.  Tested the additional code here by transplanting
      it into a test script.  Works as expected there, but has not been tested
      in situ.
      a290c985
    • Mike Hibler's avatar
      Exclude "ipv4" protocol LANs from the "__all_lans" group. Why? Read on... · bd0fbe25
      Mike Hibler authored
      Rob added code to let you put plab nodes in a LAN (with protocol "ipv4")
      so that the LAN could be traced.
      
      Meanwhile, Leigh has been adding completion events for various event types
      and creating various combo event groups for addressing all elements of a LAN,
      all LANs, etc.
      
      For pelab we have a link "reset" event which is sent to the "__all_lans"
      event group to reset the shaping of all links/lans.  Unfortunately, plab
      nodes don't run a delay agent, so link events sent there fall on deaf ears.
      
      Ergo, the event scheduler waits for completions from all agents it send
      the "reset" to, but the plab nodes will never respond since there are no
      link agents.
      bd0fbe25
  3. 16 Sep, 2006 1 commit
  4. 15 Sep, 2006 5 commits
  5. 14 Sep, 2006 12 commits
  6. 13 Sep, 2006 10 commits
  7. 12 Sep, 2006 3 commits
    • Robert Ricci's avatar
      Fix a bug I introduced with a careless copy and paste - I was copying · a9e89bd0
      Robert Ricci authored
      an int in twice.
      
      Also fix another bug (masked by the previous) I introduced into
      census()
      a9e89bd0
    • Kirk Webb's avatar
      · 52dcfd48
      Kirk Webb authored
      Added secondary logging for node setup/teardown success/failure.  Also log
      node pool membership changes in this log.
      52dcfd48
    • Leigh B. Stoller's avatar
      This started out as a simple little hack to add a StopRun "ns" event, but · cbdc4178
      Leigh B. Stoller authored
      it got more complicated as it progressed.
      
      The bulk of the change was changing template_exprun so that it can take a
      pid/eid as an alternative to eid/guid. This is a big convenience since its
      easy to find the template from a running experiment, and it makes it
      possible to invoke from the event scheduler, which has never heard of a
      template before (and its not something I wanted to teach it about).  Its
      also easier on users.
      
      Anyway, back to the stoprun event. You can now do this:
      
      	$ns at 100 "$ns stoprun"
      or
      	tevc -e pid/eid now ns stoprun
      
      You can add the -w option to wait for the completion event that is sent,
      but this brings me to the glaring problems with this whole thing.
      
      * First, the scheduler has to fire off the stoprun in the background,
        since if it waits, we get deadlock. Why? Cause the implementation of
        stoprun uses the event system (SNAPSHOT event, other things), and if
        the scheduler is sitting and waiting, nothing happens.
      
        Okay, the solution to this was to generate a COMPLETION event from
        template_exprun once the stop operation is complete. This brings me
        to the second problem ...
      
      * Worse, is that the "ns" events that are sent to implement stoprun (like
        snapshot) send their own completion events, and that confuses anyone
        waiting on the original stoprun event (it returns early).
      
        So what to do about this? There is a "token" field in the completion
        event structure, which I presume is to allow you to match things up.  But
        there is no way to set this token using tevc (and then wait for it), and
        besides, the event scheduler makes them up anyway and sticks them into
        the event. So, the seed of a fix are already germinating in my mind, but
        I wanted to get this commit in so that Mike would have fun reading this
        commit log.
      cbdc4178