1. 04 Sep, 2012 1 commit
  2. 27 Aug, 2012 1 commit
    • Leigh B Stoller's avatar
      Add support for experimental networks on the control network. · df048b11
      Leigh B Stoller authored
      So what if your testbed has a control network but no experimental
      network? In the past you were SOL, but with this commit you can now
      create links and lans on the control network that look just like
      an experimental network link/lan.
      To make this work, ptopgen sports a new option (-C) that will put the
      control network links and wires and switches into the ptop file.
      libvtop generally operates as normal, but need to arrange for the
      physical ports to be put into dual tag/trunk mode, where the native
      vlan is the Control network. This is done with by setting attributes
      on the lan table entry that indicate dual and what to use for the
      native vlan. snmpit looks for these attributes.
      There are a couple of places that use the stack name (Control or
      Experiment) to determine if a vlan is control or experimental. This is
      not longer truu, and so need to use an attribute in the lan table
      The last bit of the puzzle is that snmpit has to be careful when
      disabling trunking on these ports. When this happens, all vlans are
      cleard from the ports (by the device layer), including the Control
      network itself, which would make the node unreachable. I had to add
      some special cases to watch for that, and return the ports to the
      control network.
      To turn this on, create a ControlNetVlans and enable it. The mapper
      looks for this and passes the -C argument to ptopgen.
      Nothing special in the NS file, except you have to turn on vlan
      encapsulation; tb-set-vlan-emulation vlan
      No delay nodes, but linkdelays work okay. Works for openvz containers
      as well.
  3. 01 Aug, 2012 1 commit
  4. 11 Jul, 2012 1 commit
    • Leigh B Stoller's avatar
      Bug fix for handling shared vlans and trunked ports. · 52143046
      Leigh B Stoller authored
      The code to determine what ports need to be trunked or untrunked was
      blindly picking all ports for the experiment, instead of restricting
      them to those in the vlans being operated on. The result was a missing
      device from the stack.
  5. 26 Jun, 2012 3 commits
  6. 25 Jun, 2012 1 commit
  7. 04 Jun, 2012 1 commit
  8. 30 Nov, 2011 1 commit
  9. 29 Nov, 2011 1 commit
  10. 28 Nov, 2011 3 commits
  11. 02 Nov, 2011 1 commit
  12. 07 Oct, 2011 1 commit
    • Leigh B Stoller's avatar
      We now save the switch path that assign computes, into the DB. We then · f61a6288
      Leigh B Stoller authored
      use this path when setting up the vlan, instead of recomputing the set
      of trunks that are need. Assign does a much better job of this, so
      throwing the info away is bad.
      But, if there is no switch path, we still have to be careful cause the
      switch infrastructure might have loops, and the existing algorithm did
      not take that into account. And in fact, Utah has loops and this was
      causing grief. I added a simple spanning tree function (Prim's Greedy)
      to calculate a loop free set of trunks.
      An added complication is if the vlans are modified on the command
      line, and the there is a switch path in the DB. In this case we have
      to throw that away, and revert to dumb loop free calculation.
      Note that we also have to store the switch path in the vlans table,
      since for swapmod/synctables, we need to know how to undo stale vlans
      (which are no longer in the lans table).
  13. 22 Jul, 2011 1 commit
  14. 19 Jul, 2011 1 commit
  15. 18 Jul, 2011 2 commits
  16. 05 Jul, 2011 1 commit
  17. 19 May, 2011 1 commit
  18. 12 May, 2011 1 commit
  19. 11 May, 2011 6 commits
  20. 10 May, 2011 1 commit
  21. 09 May, 2011 2 commits
  22. 07 May, 2011 1 commit
  23. 05 May, 2011 2 commits
  24. 02 May, 2011 1 commit
  25. 14 Apr, 2011 1 commit
    • Leigh B Stoller's avatar
      Bug Fix: Fix up the code that removes individual ports from vlans · a94c511f
      Leigh B Stoller authored
      when doing syncVlansFromTables(). I was not looking to see which ports
      existed on which devices, and so was calling the device specific
      remove for ports that did not exist on the device. Ditto for removing
      ports from trunks.
      Also a bunch of debugging bits in case there are more problems.
  26. 05 Apr, 2011 1 commit
  27. 04 Apr, 2011 2 commits