1. 09 Jul, 2018 2 commits
  2. 07 Jul, 2018 2 commits
  3. 15 May, 2018 1 commit
  4. 07 May, 2018 1 commit
    • David Hancock's avatar
      Add demo of unittest: one mn sim, multiple tests · fef5c71b
      David Hancock authored
      This demo employs techniques that arguably are inappropriate
      for unit testing - using the same mininet simulation for
      multiple tests means that one test could impact others.
      
      The 'proper' implementation would create/run/terminate a
      separate mn simulation for each test, but this would
      add significant time to testing esp. as test cases grow.
      So long as we know that each test does not impact the
      environment in any way that might affect other tests,
      we can still consider the common mn sim approach valid
      for unit testing.
      
      Alternatively, we can still use the demo as an example of
      how to do integration testing via python's perhaps
      poorly named 'unittest' module.
      fef5c71b
  5. 04 May, 2018 2 commits
    • David Hancock's avatar
      Fix buffer flushing issue via '-u' option for 'python' command · 918f65d2
      David Hancock authored
      The scapy mininet example now works without having to go
      interactive.  Even though recv.py was using sys.stdout.flush(),
      it wasn't working when recv.py was invoked from the mininet
      script.  Had to add '-u' as an option to the 'python' command
      in run_scapy_mininet_example.sh.
      918f65d2
    • David Hancock's avatar
      Add demo of scapy scripts auto-invoked in mininet · 04c261ce
      David Hancock authored
      Unfortunately, recv.py should be outputting results
      to /tmp/recv.log, but it will not do so without
      invoking CLI( net ) (which goes interactive).
      Need to sort this out, probably by fixing recv.py.
      04c261ce
  6. 24 Apr, 2018 1 commit
    • David Hancock's avatar
      Add basic scapy test · 004fe6bc
      David Hancock authored
      P4: handles packets with "test_report" headers - a basic
      reporting header with two pairs of type/val fields, present
      between ether and ipv4
      
      send.py creates/sends packet with test_report header
      recv.py receives packets, checks for test_report header,
       prints all values to verify test results
      004fe6bc
  7. 12 Apr, 2018 1 commit
  8. 11 Apr, 2018 8 commits
  9. 23 Mar, 2018 2 commits
    • David Hancock's avatar
      Expand topology and analyze multiprocessing tests · 0694dc77
      David Hancock authored
      Tests are disappointing; multiprocessing is slow, even when we
      add more switches.  Of course, this could be because the mininet
      simulation itself requires more resources, and we're measuring
      wall clock time for controller transactions to complete.
      
      Also tested multiprocessing.dummy, which should replicate the
      multiprocessing API but use threads instead of processes.  Alas,
      results were even slower.
      
      Another important detail: tests were conducted in a VM with
      2 allocated processors.  Should try with more.
      0694dc77
    • David Hancock's avatar
      Fix controller parallelism issues · ba07a827
      David Hancock authored
      ba07a827
  10. 08 Mar, 2018 1 commit
    • David Hancock's avatar
      Implement multithreading in controller · e3252ba6
      David Hancock authored
      So far, multithreading is worse for performance, though I may
      yet be able to improve this.  One thing that appears certain is
      that the software switch runtime cannot handle more than one
      request at a time, so at best, multithreading in the controller
      simply allows simultaneous sending of a single request to each
      switch in the topology.  The overhead, however (e.g., creating
      threads and joining on all threads before creating new ones),
      seems to be the cause of 3-4x time increase to complete a full
      key rotation.
      e3252ba6
  11. 06 Mar, 2018 2 commits
  12. 05 Mar, 2018 1 commit
  13. 01 Mar, 2018 3 commits
  14. 28 Feb, 2018 1 commit
  15. 27 Feb, 2018 7 commits
  16. 12 Oct, 2017 1 commit
  17. 05 Oct, 2017 1 commit
  18. 29 Sep, 2017 1 commit
  19. 26 Sep, 2017 1 commit
  20. 25 Sep, 2017 1 commit