1. 25 Aug, 2004 1 commit
  2. 23 Aug, 2004 1 commit
  3. 18 Aug, 2004 4 commits
  4. 11 Aug, 2004 1 commit
    • Leigh B. Stoller's avatar
      Add new per-lan table, which currently is just for Mike: · d09d9696
      Leigh B. Stoller authored
      1.269: Add new table to generate a per virt_lan index for use with
             veth vlan tags. This would be so much easier if the virt_lans
             table had been split into virt_lans and virt_lan_members.
             Anyway, this table might someday become the per-lan table, with a
             table of member settings. This would reduce the incredible amount of
             duplicate info in virt_lans!
      
      	CREATE TABLE virt_lan_lans (
      	  pid varchar(12) NOT NULL default '',
      	  eid varchar(32) NOT NULL default '',
      	  idx int(11) NOT NULL auto_increment,
      	  vname varchar(32) NOT NULL default '',
      	  PRIMARY KEY  (pid,eid,idx),
      	  UNIQUE KEY vname (pid,eid,vname)
      	) TYPE=MyISAM;
      
             This arrangement will provide a unique index per virt_lan, within
             each pid,eid. That is, it starts from 1 for each pid,eid. That is
             necessary since the limit is 16 bits, so a global index would
             quickly overflow. The above table is populated with:
      
      	insert into virt_lan_lans (pid, eid, vname)
                  select distinct pid,eid,vname from virt_lans;
      d09d9696
  5. 15 Jul, 2004 2 commits
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      Overview: Add Event Groups: · ed964507
      Leigh B. Stoller authored
      	set g1 [new EventGroup $ns]
      	$g1 add  $link0 $link1
      	$ns at 60.0 "$g1 down"
      
      See the new advanced tutorial section on event groups for a better
      example.
      
      Changed tbreport to dump the event groups table when in summary mode.
      At the same time, I changed tbreport to use the recently added
      virt_lans:vnode and ip slots, decprecating virt_nodes:ips in one more
      place. I also changed the web interface to always dump the event and
      event group summaries.
      
      The parser gets a new file (event.tcl), and the "at" method deals with
      event group events by expanding them inline into individual events
      sent to each member. For some agents, this is unavoidable; traffic
      generators get the initial params in the event, so it is not possible
      to send a single event to all members of the group. Same goes for
      program objects, although program objects do default to the initial
      command now, at least on new images.
      
      Changed the event scheduler to load the event groups table. The
      current operation is that the ...
      ed964507
  6. 13 Jul, 2004 2 commits
  7. 12 Jul, 2004 2 commits
  8. 07 Jul, 2004 2 commits
  9. 06 Jul, 2004 1 commit
  10. 28 Jun, 2004 1 commit
  11. 25 Jun, 2004 1 commit
  12. 24 Jun, 2004 1 commit
  13. 23 Jun, 2004 6 commits
    • Leigh B. Stoller's avatar
      63b02309
    • Leigh B. Stoller's avatar
      Add modelnet OSIDs to node_types table so we know what image to load · 4576b4da
      Leigh B. Stoller authored
      when doing modelnet. Sure wish we had a better way to do this!
      4576b4da
    • Leigh B. Stoller's avatar
      Switch to "dynamic" creation of certain virtual nodes (jail/pcvm and · 4d5620c2
      Leigh B. Stoller authored
      vserver/pcplab). Rather then 10000s of fixed node entries in the DB,
      create node entries on the fly as needed (assign_wrapper), and then
      delete them when they are no longer used (nfree). When new nodes check
      in, no longer create all those nodes table entries (utils/newnode.in
      and tbsetup/plab/libplab.py.in).
      
      I've added a new library: db/Node.pm which is something I started a
      while back, and decided to commit, along with the support for creating
      and deleting virtual nodes. CreateVnodes() creates a new set of nodes,
      choosing non-conflicting names in the DB, and then immediately
      reserves them to the pid/eid specified. DeleteVnodes takes a list of
      vnodes and deletes them from nodes,reserved,etc. This library does a
      few other things which I am going to be playing with, so you might
      want to go read the comment at the top of the file. Feel free to speak
      up. CreateVnodes() is from called assign_wrapper when a node type has
      the "isdynamic" property. Otherwise does the existing avail/nalloc
      stuff. DeleteVnodes() is called from nfree when the node type has the
      isdynamic property.
      
      I've added a script (sql/delvnodes.pl) to run after updating the DB
      and software. All free pcvm and pcplab virtual nodes are deleted from
      the DB; reserved ones will get deleted whenever their experiment ends.
      I've noted all of this in doc/UPDATING, including setting the
      isdynamic property on pcvm in the node_types table.
      
      I've left tbsetup/plab/libplab.py.in to create a single pcplab node
      for the management sliver (still called -20). We can worry about this
      later.
      
      All this for modelnet?
      4d5620c2
    • Leigh B. Stoller's avatar
      Change comment in 1.209. · 157f0971
      Leigh B. Stoller authored
      157f0971
    • Shashi Guruprasad's avatar
    • Leigh B. Stoller's avatar
      de30bcb6
  14. 21 Jun, 2004 1 commit
  15. 18 Jun, 2004 2 commits
  16. 17 Jun, 2004 1 commit
    • Leigh B. Stoller's avatar
      Add a usemodelnet slot to the experiments table to indicate · b6707a07
      Leigh B. Stoller authored
             that an experiment prefers to use modelnet for traffic shaping.
             At some future time maybe we can mix modelnet with delay nodes,
             but please do not hold your breath waiting.
      
      	alter table experiments add usemodelnet tinyint(1) NOT NULL \
      		default '0' after useprepass;
      
             Add modelnet_cores and modelnet_edges variables to hold user
             tunable number of physical core nodes and edge nodes to throw
             at a virtual topology.
      
      	alter table experiments add modelnet_cores tinyint(4) unsigned \
      		NOT NULL default '0' after usemodelnet;
              alter table experiments add modelnet_edges tinyint(4) unsigned \
      		NOT NULL default '0' after modelnet_cores;
      
             Add ismodelnet and isphantom slots to node_types table. ismodelnet
             is set for modelnet nodes (which are also going to be isvirt).  Add
             isphantom to mark nodes that do no get underlying physical nodes;
             there will be an entry in the reserved table but no entries in the
             nodes table. Initially, modelnet virtual nodes will all be phantoms.
             Will possibly change later.
      
      	alter table node_types add ismodelnet tinyint(1) NOT NULL \
      		default '0' after isvirtnode;
      	alter table node_types add isphantom tinyint(1) NOT NULL \
      		default '0' after ismodelnet;
      
             Not sure that isphantom is going to work cause of the number of
             queries that join reserved with the nodes table. I might end up
             making nodes dynamic instead, creating and detroying them on the
             fly. I would prefer that isphantom works, but I am willing to live
             with isdynamic since we can use that for all of our virtual nodes.
      
      	alter table node_types add isdynamic tinyint(1) NOT NULL \
      		default '0' after isphantom;
      b6707a07
  17. 16 Jun, 2004 1 commit
  18. 15 Jun, 2004 1 commit
  19. 09 Jun, 2004 3 commits
    • Robert Ricci's avatar
      Add duplicate fields from the location_info table into the new_nodes · b6341a4e
      Robert Ricci authored
      table - this will allow us to place them on the map while they are still
      in limbo.
      
       ALTER TABLE new_nodes ADD COLUMN (floor varchar(32) default NULL,
          building varchar(32) default NULL,
          loc_x int(10) unsigned NOT NULL default '0',
          loc_y int(10) unsigned NOT NULL default '0',
          contact tinytext,
          phone tinytext,
          room varchar(32) default NULL);
      b6341a4e
    • Leigh B. Stoller's avatar
      Add missing table from previous revision. Need to bump the revision · 1df5266f
      Leigh B. Stoller authored
      number in database-migrate.
      1df5266f
    • Leigh B. Stoller's avatar
      Add floorimages and buildings tables for wireless floormap support. · 632ef32b
      Leigh B. Stoller authored
      This is rather primitive still; We just need a place to define
      buildings and floors in buildings, so that we do not hardwire them
      into the code. This can get arbitrarily complicated, but not until we
      need it.
      
      	CREATE TABLE buildings (
      	  building varchar(32) NOT NULL default '',
      	  image_path tinytext,
      	  title tinytext NOT NULL,
      	  PRIMARY KEY  (building)
      	) TYPE=MyISAM;
      
      The image_path is optional for buildings. The title is a string to
      print along with the images (Merril Engineering Building).
      
      	CREATE TABLE floorimages (
      	  building varchar(32) NOT NULL default '',
      	  floor varchar(32) NOT NULL default '',
      	  image_path tinytext,
      	  thumb_path tinytext,
      	  x1 int(6) NOT NULL default '0',
      	  y1 int(6) NOT NULL default '0',
      	  x2 int(6) NOT NULL default '0',
      	  y2 int(6) NOT NULL default '0',
      	  PRIMARY KEY  (building, floor)
      	) TYPE=MyISAM;
      
      The image_path is not optional; it is either an absolute path or a
      filename in $TB/www. The thumb_path is for a tiny view of it. Floor is
      something like 1, 2, 3 but could also be basement, lobby, penthouse,
      etc. The x,y coordinates are intended to be bounding box coords of the
      "interesting" part of the image so that it is easier to scale specific
      entries from the location_info table. But, not really sure about this
      yet; needs more thought and some investigation about appropriate ways
      to store coordinate values like this.
      632ef32b
  20. 08 Jun, 2004 2 commits
    • Leigh B. Stoller's avatar
      Add another index to virt_lans. · d1998932
      Leigh B. Stoller authored
      d1998932
    • Leigh B. Stoller's avatar
      Add slots to virt_lans to rationalize the relationship between · 43a804e9
      Leigh B. Stoller authored
      virt_lans and virt_nodes. The intent is to migrate away from
      the convention we use in virt_nodes:ips and virt_lans:member
      to a more acceptable representation (one that does not rely
      on textual conventions like space separated lists of colon
      seperated entities. Instead:
      
      	virt_nodes
      		vname:	nodeA
              virt_lans
      		vname:  link0
      		vport:  0
      		ip:     1.1.1.2
      
      		vname:  link1
      		vport:  1
      		ip:     1.1.2.2
      
      	alter table virt_lans add vnode varchar(32) NOT NULL default '' \
      		after vname;
      	alter table virt_lans add vport tinyint(3) NOT NULL default '0' \
      		after vnode;
              alter table virt_lans add ip varchar(15) NOT NULL default '' \
      		after vport;
      
      Then run this script to update these new fields from the
      existing ips,member slots. This must be run after installing
      the parser changes, or you can just run it again.
      
      	./ipmember.pl
      
      This is a transitional phase; the old slots will be left in place
      until they are no longer used, at which time we will also add a
      unique key to the table (pid,eid,vname,vnode,vport). assign_wrapper
      will be the hardest to change, but other scripts should be easy.
      
      Whats vport about? Rather then rely on IP addresses to form a
      unique key, we use vport (a small integer) so that we can delay the
      IP assignment until later (after initial DB insertion).
      43a804e9
  21. 07 Jun, 2004 1 commit
  22. 04 Jun, 2004 1 commit
  23. 01 Jun, 2004 2 commits