1. 23 Dec, 2003 3 commits
  2. 16 Dec, 2003 4 commits
  3. 15 Dec, 2003 2 commits
    • Shashi Guruprasad's avatar
      Distributed NSE changes. In other words, simulation resources are · d266bd71
      Shashi Guruprasad authored
      now mapped to more than one PC if required. The simnode_capacity
      column in the node_types table determines how many sim nodes can
      be packed on one PC. The packing factor can also be controlled via
      tb-set-colocate-factor to be smaller than simnode_capacity.
      
      - No frontend code changes. To summarize:
        $ns make-simulated {
          ...
        }
        is still the easy way to put a whole bunch of Tcl code to be
        in simulation.
        One unrelated fix in the frontend code is to fix the
        xmlencode() function which prior to this would knock off
        newlines from columns in the XML output. This affected
        nseconfigs since it is one of the few columns with embedded
        newlines. Also changed the event type and event object type
        in traffic.tcl from TRAFGEN/MODIFY to NSE/NSEEVENT.
      
      - More Tcl code in a new directory tbsetup/nseparse
        -> Runs on ops similar to the main parser. This is invoked
           from assign_wrapper in the end if there are simnodes
        -> Partitions the Tcl code into multiple Tcl specifications
           and updates the nseconfigs table via xmlconvert
        -> Comes with a lot of caveats. Arbitrary Tcl code such as user
           specified objects or procedures will not be re-generated. For
           example, if a user wanted a procedure to be included in Tcl
           code for all partitions, there is no way for code in nseparse
           to do that. Besides that, it needs to be tested more thoroughly.
      
      - xmlconvert has a new option -s. When invoked with this option,
        the experiments table is not allowed to be modified. Also,
        virtual tables are just updated (as opposed to deleting
        all rows in the first invocation before inserting new rows)
      
      - nse.patch has all the IP address related changes committed in
        iversion 1.11 + 2 other changes. 1) MTU discovery support in
        the ICMP agent 2) "$ns rlink" mechanism for sim node to real
        node links
      
      - nseinput.tcl includes several client side changes to add IP
        routes in NSE and the kernel routing table for packets crossing
        pnodes. Also made the parsing of tmcc command output more robust
        to new changes. Other client side changes in libsetup.pm and other
        scripts to run nse, are also in this commit
      
      - Besides the expected changes in assign_wrapper for simulated nodes,
        the interfaces and veth_interfaces tables are updated with
        routing table identifiers (rtabid). The tmcd changes are already
        committed. This field is used only by sim hosts on the client side.
        Of course, they can be used by jails as well if desired.
      d266bd71
    • Kirk Webb's avatar
      Changed logic in libplab to free a node that claims to already have a valid · de16d8e4
      Kirk Webb authored
      lease for a slice before we've _successfully_ set one up.
      de16d8e4
  4. 13 Dec, 2003 1 commit
  5. 12 Dec, 2003 5 commits
  6. 11 Dec, 2003 1 commit
  7. 10 Dec, 2003 6 commits
  8. 09 Dec, 2003 1 commit
    • Kirk Webb's avatar
      · e664ad58
      Kirk Webb authored
      A couple of things:
      
      1) Added PLAB_SLICEPREFIX so that we can separately instantiate plab slices
      from mini, or elsewhere.  On the mainbed, its set to "emulab".  On mini, its
      set to "emulab_mini".  The "emulab" part has to exist first so that the new
      plab node manager doesn't nuke our dslice slivers.
      
      2) Fixed up Plab.getFree() so that it doesn't try to add the same IP twice
      to the DB if a new one is found, and listed more than once.
      e664ad58
  9. 08 Dec, 2003 2 commits
    • Leigh B. Stoller's avatar
      Move calculation of the virtnode_capacity from the node_types table, · ecec9f67
      Leigh B. Stoller authored
      to the node_types_auxtypes and node_auxtypes tables. The goal is to
      not have a gaggle of fake types in the node_types table, but rather to
      store the virtual types that a node (type) can take on, in the two aux
      tables (node_auxtypes holds the count). This removes part of the
      special handling of virtual types from ptopgen, and cuts down the
      number of bogus entries in the node_types table.
      
      I also did some cleanup. Got rid of a bunch of separate hash tables
      and combined into a single hash of "records" indexed by type. This
      script could use quite a bit more such cleanup.
      ecec9f67
    • Leigh B. Stoller's avatar
      Insert another entry into node_auxtypes for plab nodes; this is the · 699cd1cd
      Leigh B. Stoller authored
      node's primary virtual type.
      699cd1cd
  10. 07 Dec, 2003 2 commits
    • Leigh B. Stoller's avatar
      Make explicit check for NS file and exit with status so that user sees · 364af0c0
      Leigh B. Stoller authored
      the message instead of tbops.
      364af0c0
    • Shashi Guruprasad's avatar
      Minimal NSE related changes on the mainbed so that I can work · 425b4e47
      Shashi Guruprasad authored
      in the dev tree. I'm tired of problems on the mini that wastes
      my time.
      
      Changes include 2 new tmcd commands: tmcc routelist returns
      the routes for all the vnodes hosted on a pnode. tmcc role
      returns the role of a reserved node, like 'virthost' or
      'simhost.  tmcc ifconfig now reports an RTABID field which
      is calculated in assign wrapper. All the new changes
      in assign wrapper will be checked in after I finish testing.
      
      All the DB changes are in: simnode_capacity in node_types, rtabid in
      interfaces and veth_interfaces. New NSE event_objtype and NSEEVENT
      event_eventtype. Changed the erole field in the reserved table
      to have 'simhost' instead of 'simnode'. Changed the correspoding
      libdb subroutines.
      425b4e47
  11. 05 Dec, 2003 3 commits
    • Robert Ricci's avatar
      Back out the maproot changes for now. · 9162ab78
      Robert Ricci authored
      9162ab78
    • Leigh B. Stoller's avatar
      Nuts, remove debugging exit(). · b68d45cb
      Leigh B. Stoller authored
      b68d45cb
    • Leigh B. Stoller's avatar
      Move setting the node permission table for a project from the web · 4931fecf
      Leigh B. Stoller authored
      interface to the backend. mkproj now looks at the pcremote_ok set
      and makes the proper calls to grantnodetype. This reduces the amount
      of hardwired goo in the web interface.
      
      Still, there is a bit of hardwired stuff in mkproj. At present we do
      not form a relationship between a phys node type and the types we
      assign to the virtual nodes. Thats is, nothing says that a pcplabphys
      implies the right to use pcplabinet, etc. With only 3 remote phys
      types, I just hardwired it into mkproj calling grantnodetype with type
      pcplab (the class for the virtnodes) for pcplabphys. Same for pcron
      and pcwa, (both get pcvwa). Ultimately we need a better type system.
      In general the type system is pretty screwy.
      4931fecf
  12. 04 Dec, 2003 2 commits
  13. 03 Dec, 2003 5 commits
  14. 02 Dec, 2003 3 commits