1. 26 Jun, 2003 1 commit
    • Robert Ricci's avatar
      Major changes to the way assign handles LAN nodes. · 83cfa8ec
      Robert Ricci authored
      LAN nodes are no longer treated specially. Instead, I've introduced
      the idea of 'static' types (old-style types retroactively become
      'dynamic' types). While a pnode can only satisfy one dynamic type at a
      time, it can always satisfy its static types (assuming it has enough
      capacity left.) Static types are flagged by prepending them with a '*'
      in the ptop file. So, for example, you may give switches the
      '*lan:10000' type so that they can satisfy virtual LAN nodes. Of
      course, other pnodes can have this type too, so that we can get
      'trivial LANs'.
      
      Actually, removing special treatment for LANs cleans up a lot of code.
      However, it may have some negative impacts on solutions, since we're
      not as smart about where to place LAN nodes as we used to be (they get
      annealed along with everything else, and not migrated.) I haven't seen
      any evidence of this yet, however.
      
      This leaves us with a single type of special pnode, a switch.
      
      Also added a new bit of syntax in ptop files - when '*' is given as a
      the maxiumum load for a type, the node is allowed to take on an
      infinite (well, actually, just a really big number of) vnodes of that
      type.
      
      ptopgen was modified to always report switches as being capable of
      hosting LANs, and assign_wrapper now understands direct links to LANs,
      which is what we get when the LAN is hosted directly on a switch.
      
      Fixed a bug in scoring direct links, in which the penatly was being
      added once when a direct link was mapped, but subtracted only once
      when it was freed.
      
      Added a '-T' option for doing simple self-testing. When adding a node
      to the solution, assign records the score, adds the node, removes it
      again, and checks to make sure that the resulting score is the same as
      the original score. The usefulness of this feature in debugging
      scoring problems cannot be understated...
      83cfa8ec
  2. 30 May, 2003 1 commit
  3. 27 May, 2003 1 commit
  4. 07 Mar, 2003 1 commit
    • Chad Barb's avatar
      · 5a8a8f27
      Chad Barb authored
      There were two "uninitialized variable used" warnings..
      one was due to a check for $type ne "", which I changed to
      ((defined $type) && ($type ne "")).
      
      The other is due to NULL values in the iface column of the interfaces table.
      Rob is going to change the schema to disallow such NULLs.
      5a8a8f27
  5. 05 Mar, 2003 1 commit
  6. 12 Feb, 2003 1 commit
  7. 10 Feb, 2003 1 commit
  8. 04 Feb, 2003 1 commit
  9. 03 Feb, 2003 2 commits
  10. 30 Jan, 2003 1 commit
  11. 10 Jan, 2003 1 commit
  12. 20 Dec, 2002 1 commit
  13. 19 Dec, 2002 1 commit
  14. 06 Nov, 2002 1 commit
    • Shashi Guruprasad's avatar
      NSE related changes: · 05bc3bd4
      Shashi Guruprasad authored
        - Fixes the routing problem
        - A new type "sim" has been created but not in the DB. node_types and
          nodes remain unchanged. This will change after we figure out how
          to represent in the DB the local multiple virtnodes in one phynode case
          The frontend tb_compat.tcl adds the sim type and ptopgen associates
          a huge number of sim nodes to all local PCs.
        - All simulated nodes go into one pc untill I finish coding the distributed
          nse case. Also, sim nodes go through assign but with an explicit
          "fix-node" directive in the top file. A random free pc is chosen using
          the avail script in assign_wrapper. If we don't fix node it, assign
          maps sim nodes to multiple phy nodes even when a valid all to one
          mapping is possible.
        - Syntax for nse:
      
         $ns make-simulated {
      
             set simnode1 [$ns node]
             set simnode2 [$ns node]
      
         }
         ...
      
         The old syntax
      
         set nsenode [$ns nsenode]
         $nsenode make-simulated {
         }
      
         is deprecated
      
        - All 38 frontend tests in the testsuite pass
      
        - A new table v2pmap has been added to handle multiple virt nodes to
          one phy node mapping. This is used in "tmcc hostnames" currently.
      
        - The phy node that is picked to run nse is loaded with a custom image
          FBSD45-NSE . This can use the default FBSD kernel if there is a mechanism
          to run at 1000HZ, have options IPFIREWALL_FORWARD and PERFMON turned on.
          The image is in the 'testbed' group. Do not delete this image.
      
        - Static routes now adds routes for the case dst == nexthop. The routing
          graph would be disconnected otherwise and I need to traverse this in
          assign_wrapper for nse. On the client side, such a route is filtered out in
          libsetup.pm
      
        - sim nodes are also correctly visualized
      05bc3bd4
  15. 07 Jul, 2002 1 commit
  16. 30 Apr, 2002 1 commit
    • Robert Ricci's avatar
      Added interswitch bandwidth tracking to ptopgen. This feature looks at · 0fc1f7a2
      Robert Ricci authored
      the vlans table to determine how much of the trunk bandwidth is
      currently 'reserved', and subtracts that from the trunk bandwidth
      reported in the output.
      
      This feature is disabled by default. However, you can enable it by
      putting the line
      TRACK_INTERSWITCH_BANDWIDTH=1
      in your defs file.
      0fc1f7a2
  17. 22 Apr, 2002 2 commits
  18. 03 Dec, 2001 1 commit
  19. 29 Oct, 2001 1 commit
  20. 28 Sep, 2001 1 commit
  21. 24 Sep, 2001 1 commit
  22. 30 Jul, 2001 1 commit
  23. 26 Jul, 2001 1 commit
  24. 25 Jul, 2001 1 commit
    • Christopher Alfeld's avatar
      Added exitonwarn library to everything. · 504e8e9f
      Christopher Alfeld authored
      Fixed some warnings in assign_wrapper that were subsequently caught.
      
      exitonwarn is a library that, when used in a script, causes it to exit 255
      when warnings are sent.  It still shows all warnings, just does an ugly
      perl hack to error on script termination.
      504e8e9f
  25. 23 Jul, 2001 3 commits
  26. 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
  27. 13 Jul, 2001 1 commit
  28. 06 Jul, 2001 1 commit
  29. 03 Jul, 2001 1 commit
    • Christopher Alfeld's avatar
      Rewrote about half of it. Now much more general and generates topology · d27aa493
      Christopher Alfeld authored
      from wires table.  This is the first step to supporting more general
      topologies.  There a couple testbed specific settings that are at the top
      of the file.  Things such as the speed of our switch interfaces (since
      we have no data on those interfaces in the DB), what type of switches we
      have, and the fact that we have APCs that are in the nodes table but can't
      be used as nodes.
      
      This does generate slightly larger ptop files than the old version.  All
      of the extra is isolated nodes so it only adds negligable runtime to
      assign.
      d27aa493
  30. 20 Jun, 2001 1 commit