1. 11 Jun, 2009 1 commit
  2. 06 Feb, 2009 1 commit
    • David Johnson's avatar
      openvz support. Main thing to note is that I ditched the · 169bd788
      David Johnson authored
      bootvnodes/vnodesetup/mkX.pl train in favor of my own strawman design for
      a more generic form of virt node support.  The strawman is incomplete and
      probably wrong in places, but I had to abandon the quest for anything
      better for now.  For now, uses same server side stuff as jails.
  3. 06 Nov, 2008 1 commit
  4. 22 Oct, 2008 1 commit
  5. 15 Oct, 2008 1 commit
  6. 25 Sep, 2008 1 commit
  7. 10 Sep, 2008 1 commit
  8. 13 Jun, 2008 1 commit
  9. 16 Apr, 2008 1 commit
    • Leigh B. Stoller's avatar
      A set of changes to implement dynamic root passwords on local nodes · bac0172e
      Leigh B. Stoller authored
      (and vnodes). Each time a node is allocated to an experiment it gets a
      new root password (using the node_attributes table). The watchdog has
      a new section that resets the root password (defaults to hourly).  We
      still using a common password in the image to avoid totally bricking
      ourselves, but once a node boots into an experiment it gets a new root
      This prevents hundreds of nodes with the same password, and all of the
      problems associated with that.
  10. 15 Apr, 2008 1 commit
    • Mike Hibler's avatar
      Another step along the Linux vserver path. It is now to the point that · 25a29bbb
      Mike Hibler authored
      vservers can be configured with experimental interfaces.  Think duct tape
      and baling wire here...
       * commmon/bootvnodes: did some code refactoring in anticipation of
         something that was never needed.  Oh well, it looks purdy anyway!
       * common/libsetup.pm: LINUXJAILED() predicate to indentify local Linux
         vserver setups.  getlocalevserver() to return the IP/hostname of the
         "local" event server.
       * common/rc.{linktest,linkagent,progagent,trace,trafgen}: use the
         getlocalevserver() function for use with -s options (Linux vserver
         based vnodes cannot bind to localhost to talk to the pnode pubsubd)
       * common/config/rc.ifconfig: run this for Linux vservers, put out iface
         map for veths as well as physical interfaces
       * common/delaysetup: add -j vnodeid option, will need this at some point
       * linux/liblocsetup.pm: veth (actually etun) setup for Linux vserver vnodes
       * linux/mkvserver.pl: first cut at getting interfaces configured in
         vservers, do all the necessary etun/br plumbing (NOT a pretty sight...)
       * linux/vserver/rc.invserver (moved here from linux/rc.invserver):
         run linktest in local vservers (though it won't run yet due to NFS
         problems in vservers)
       * linux/vserver/vserver-cnet.sh: statically configure the control net
         in a vserver, no DHCP here!
       * linux/vserver/vserver-{init,rc}.sh: two parts of the Funky Interface
         Setup Dance that run inside the vserver
  11. 10 Mar, 2008 1 commit
  12. 30 Jan, 2008 1 commit
  13. 29 Jan, 2008 1 commit
  14. 17 Jan, 2008 1 commit
  15. 14 Jan, 2008 1 commit
    • Mike Hibler's avatar
      Add islocaldir() function. · 092e5fdb
      Mike Hibler authored
      Fixup useradd() to create homedirs on remote nodes ala the freebsd version.
      But, will only create homedirs if homebase is local.
  16. 18 Oct, 2007 1 commit
    • Mike Hibler's avatar
      Preliminary support for Ubuntu Linux. · 38bc8fa1
      Mike Hibler authored
       * added new tmcd directory with Ubuntu (really, Debian) specifics
       * fixed up GNUmakefiles to not do "-g wheel" when creating directories
       * other, relatively minor tweaks
  17. 11 May, 2007 2 commits
    • David Johnson's avatar
      Ugh, fix bug with iwconfig and mac addrs. · b4fb299e
      David Johnson authored
    • David Johnson's avatar
      * tmcd/common/ifdynconfig: New client side command, intended to be called · 9ca9e1d9
      David Johnson authored
          from link-agent to provide dynamic link modification.  Calls
          liblocsetup::os_ifdynconfig_cmds to get a list of commands to change
          the iface config; if this function does not exist, it tries to do its
          best via ifconfig.
      * tmcd/linux/liblocsetup.pm: Added support for dynamic configuration of
          ath and flex900 ifacetypes.  Also added more static support for both,
          including adhoc/monitor modes, rts threshold, etc, for ath; carrier
          threshold and rx gain for flex900 (sometimes these params really need
          to be set so our gnu radios can actually talk...).
      * event/link-agent/link-agent.c: Do link up/down/modify by calling
          ifdynconfig with the event params.  Backwards compat with old
  18. 27 Oct, 2006 1 commit
  19. 05 Jul, 2006 1 commit
    • Kirk Webb's avatar
      · c0472b3f
      Kirk Webb authored
      Fix a couple of typos.
  20. 03 Jul, 2006 1 commit
    • Mike Hibler's avatar
      Framework for supporting 802.1q tagged VLANs as a form of multiplexed link. · 3f1c15e2
      Mike Hibler authored
      Actually, most of the changes here were just to generalize the "virtual
      interface" state in the DB.  Other than the client-side scripts, there
      is very little specific here specific to tagged VLANs.
      In fact, you cannot specify "vlan" as a type yet as we haven't done the
      snmpit support for setting up the switches.
      For more info see bas:~mike/flux/doc/testbed-virtinterfaces.txt, which I
      will integrate into the knowledge base and the Emulab doc at some point.
  21. 30 Jun, 2006 1 commit
    • Kirk Webb's avatar
      · 02f29446
      Kirk Webb authored
      Convert the atheros/wifi setup to work with the madwifi-ng driver.
  22. 28 Jun, 2006 1 commit
    • Kirk Webb's avatar
      · a7c7c58e
      Kirk Webb authored
      Support for setting up GNU Radio on the node-side of things.
      This operates pretty much the same way that wifi setup does, except that
      the interface does not exist when rc.ifconfig runs.  Instead, it is
      created as part of the generated rc.ifc script.  This required a couple of
      little (non-invasive) hacks to libsetup.pm and rc.ifconfig.
      Note that we are not passing gain and carrier sense threshold
      parameters through to the radio interface setup, but they are easy to add.
  23. 06 Mar, 2006 1 commit
  24. 12 Jul, 2005 1 commit
  25. 22 Jun, 2005 1 commit
    • Kevin Atkinson's avatar
      · 4179e121
      Kevin Atkinson authored
      Added "-o vers=2" to linux mount command to force it to use
      version NFS version 2 instead of 3.
  26. 07 Dec, 2004 1 commit
  27. 25 Oct, 2004 1 commit
  28. 25 Aug, 2004 1 commit
    • Mike Hibler's avatar
      Firewall support part III: client scripts. · b21e6942
      Mike Hibler authored
      Overview of simply firewall setup.
      Experimentor specifies in their ns file:
           set fw [new Firewall $ns]
           $fw style <open|closed|basic>
      to set up an "open" ("allow any"), "closed" ("deny any"), or "basic"
      (allow ICMP and ssh) firewall.  "basic is the default.  Additional rules
      can be added with:
           $fw add-rule <IPFW format rule>
           $fw add-numbered-rule <1-50000> <IPFW format rule>
      where the former implicitly numbers rules such that the firewall processes
      them in the order given in the NS file.  The latter allows explicit
      specification of the numbering.  Currently the rules are fixed strings,
      there is no variable substitution.  There is also no syntax checking done
      on the rules at parse time.
      We allocate an extra node to the experiment to serve as a firewall.
      Currently that node runs FreeBSD and uses IPFW.  In the initial configuration,
      all other nodes in the experiment will just be setup with a default route
      that points to the firewall node.  So all outbound traffic will pass through
      it.  Inbound traffic will still travel straight to the node.  This should
      prevent nodes from accidentally initiating attacks on the outside world.
      Long term we will of course enforce the firewall on all traffic, that should
      not have any effect on the NS syntax above.
      When a node boots, there will be an rc.firewall script that checks to see
      if there is a firewall for the experiment and if so, which node it is.
      This is done with the TMCD "firewallinfo" command which returns:
            TYPE=remote FWIP=N.N.N.N
            TYPE=<fwtype> STYLE=<fwstyle> IN_IF=<macaddr> OUT_IF=<macaddr>
            RULENO=<num> RULE="<ipfw command string>"
      In the case of no firewall we get back TYPE=none, and we continue as normal.
      Otherwise, there are two types of replies, one for a node that is being
      firewalled (TYPE=remote) and one for a node that is a firewall
      (TYPE=<fwtype> + RULES).
      In the TYPE=remote case, the firewall node indicated by FWIP.  This is
      the address we use for the default route.
      For TYPE=<fwtype>, we are the firewall, and we get STYLE and IN_IF/OUT_IF
      info.  Here TYPE indicates whether we should use ipfw or whatever.
      For now it is always ipfw.  IN_IF and OUT_IF may someday indicate the
      interfaces to use for the internal and external connections, right now
      both will indicate the control net interface.  So, after ensuring that
      the ipfw modules is loaded, we grab the provided RULE info, which includes
      both per-experiment and default rules, and setup ipfw.
      Issues to resolve:
             - synchronization: how to ensure firewall comes up first
             - how to better implement the firewalling
               (i.e., without the cooperation of the nodes)
             - support the equiv of linkdelays (on-node firewalling)?
             - allow firewalls within experiments?
               (ie., on experimental interfaces)
             - dynamic changing of firewall rules via events?
             - how to show firewall state in various web pages
  29. 21 Aug, 2004 1 commit
  30. 26 Jun, 2004 1 commit
  31. 21 Jun, 2004 1 commit
  32. 12 May, 2004 1 commit
  33. 09 Apr, 2004 1 commit
    • Leigh B. Stoller's avatar
      First cut at client side configuration of wireless nodes. Redhat only, · c0dcd3b6
      Leigh B. Stoller authored
      no freebsd support.
      The primary change is that tmcd now sends down a list of setting to
      apply to each interface, and that list is turned into a hash table,
      and provided to rc.config, which passes them along to the machine
      dependent routine in liblocsetup.
      Then in the linux version of liblocsetup there is a bunch of new code
      to configure wireless links using iwconfig and iwpriv, using the
      settings array.
      All of this is bound to change once we get more experience with it.
  34. 17 Feb, 2004 1 commit
    • Leigh B. Stoller's avatar
      Medium size cleanup of the client side code. The main impetus behind · 069dc7d3
      Leigh B. Stoller authored
      this was to add soft reconfig support so that nodes could be
      reconfigured without having to reboot them. This appears to work, and
      has been tested with jails getting moved around. I've also tested the
      new code on the MFS, but still no testing has been done on PLAB nodes.
      The main change is that most of the code moved out of libsetup.pm, and
      was split into constituent rc scripts, each of which does its own
      thing, including cleaning up and preparing for making an image. Most
      of that central knowledge has been moved out into the scripts. Still more
      to do but this was a good start.
  35. 29 Jan, 2004 1 commit
  36. 21 Nov, 2003 1 commit
    • Mike Hibler's avatar
      Make sure we can hardwire speed/duplex on new Intel Pro/1000 (e1000) cards. · 5ad5ab99
      Mike Hibler authored
      Need to use ethtool instead of mii-tool to do this.  My comment:
        # Linux is apparently changing from mii-tool to ethtool but some drivers
        # don't support the new interface (3c59x), some don't support the old
        # interface (e1000), and some (eepro100) support the new interface just
        # enough that they can report success but not actually do anything.  Sweet!
      This requires that we load ethfind on the nodes, though the script will
      continue to work if it isn't (though will not work for e1000 cards).
  37. 17 Sep, 2003 1 commit
  38. 15 Aug, 2003 1 commit
  39. 24 Jul, 2003 1 commit