Code Monkey home page Code Monkey logo

repeater_hub's Introduction

Welcome to Trema

Build Status Code Climate Coverage Status Dependency Status

Trema is an OpenFlow controller programming framework that provides everything needed to create OpenFlow controllers in Ruby. It provides a high-level OpenFlow library and also a network emulator that can create OpenFlow-based networks for testing on your PC. This self-contained environment helps streamlines the entire process of development and testing.

Prerequisites

  • Ruby 2.0.0 or higher (RVM).
  • Open vSwitch (apt-get install openvswitch-switch).

Documentation

See https://relishapp.com/trema/trema/docs for links to documentation for all APIs.

Sample Code

Study sample code for implementation examples of Trema features. Each sample code project is executable source example of how to write a OpenFlow controller using Trema Ruby API.

Contributors

Special thanks to all contributors for submitting patches. A full list of contributors including their patches can be found at:

https://github.com/trema/trema/contributors

License

Trema is released under the GNU General Public License version 2.0 or MIT License:

repeater_hub's People

Contributors

yasuhito avatar

Watchers

 avatar  avatar

repeater_hub's Issues

mutant test failures

$ bundle exec mutant --include lib --use rspec RepeaterHub
warning: parser/current is loading parser/ruby22, which recognizes
warning: 2.2.3-compliant syntax, but you are running 2.2.1.
warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
Mutant configuration:
Matcher:         #<Mutant::Matcher::Config match_expressions: [RepeaterHub]>
Integration:     Mutant::Integration::Rspec
Expect Coverage: 100.00%
Jobs:            1
Includes:        ["lib"]
Requires:        []
(00/92) 100% - killtime: 0.00s runtime: 0.00s overhead: 0.00s
(03/92) 100% - killtime: 0.14s runtime: 1.01s overhead: 0.86s
(07/92) 100% - killtime: 0.34s runtime: 2.01s overhead: 1.67s
(10/92) 100% - killtime: 0.65s runtime: 3.01s overhead: 2.36s
(13/92) 100% - killtime: 0.97s runtime: 4.01s overhead: 3.04s
(17/92) 100% - killtime: 1.39s runtime: 5.01s overhead: 3.63s
(20/92) 100% - killtime: 1.71s runtime: 6.02s overhead: 4.31s
(23/92) 100% - killtime: 2.03s runtime: 7.02s overhead: 4.99s
(27/92) 100% - killtime: 2.37s runtime: 8.02s overhead: 5.65s
(30/92) 100% - killtime: 2.67s runtime: 9.02s overhead: 6.35s
(33/92) 100% - killtime: 2.98s runtime: 10.02s overhead: 7.04s
(37/92) 100% - killtime: 3.23s runtime: 11.03s overhead: 7.80s
(41/92) 100% - killtime: 3.43s runtime: 12.03s overhead: 8.60s
(43/92)  97% - killtime: 3.69s runtime: 13.03s overhead: 9.34s
(43/92)  89% - killtime: 3.88s runtime: 14.03s overhead: 10.16s
(43/92)  84% - killtime: 4.02s runtime: 15.04s overhead: 11.01s
(43/92)  78% - killtime: 4.21s runtime: 16.04s overhead: 11.83s
(43/92)  72% - killtime: 4.42s runtime: 17.04s overhead: 12.62s
(43/92)  69% - killtime: 4.56s runtime: 18.04s overhead: 13.48s
(44/92)  66% - killtime: 4.76s runtime: 19.04s overhead: 14.29s
(48/92)  68% - killtime: 4.97s runtime: 20.05s overhead: 15.08s
(48/92)  65% - killtime: 5.11s runtime: 21.05s overhead: 15.94s
(52/92)  67% - killtime: 5.55s runtime: 22.05s overhead: 16.50s
(55/92)  68% - killtime: 5.80s runtime: 23.05s overhead: 17.25s
(59/92)  70% - killtime: 6.15s runtime: 24.06s overhead: 17.90s
(62/92)  71% - killtime: 6.45s runtime: 25.06s overhead: 18.61s
(65/92)  72% - killtime: 6.76s runtime: 26.06s overhead: 19.30s
(67/92)  72% - killtime: 7.10s runtime: 27.06s overhead: 19.96s
RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7
- rspec:1:./spec/lib/repeater_hub_spec.rb:36/RepeaterHub#packet_in with 0xabc, 'PacketIn'       Then do
        expect(repeater_hub).to(have_received(:send_flow_mod_add).
                                with(0xabc,
                                     match: 'EXACT MATCH',
                                     actions: Pio::SendOutPort.new(:flood)))
        expect(repeater_hub).to(have_received(:send_flow_mod_add).
                                with(0xabc,
                                     match: 'EXACT MATCH',
                                     actions: Pio::SendOutPort.new(:flood)))
      end
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:8caf9
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  nil
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:e4f88
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  self
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:441cb
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:83a04
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(nil, packet_in: message, actions: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:fe8f3
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(self, packet_in: message, actions: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:6166e
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(packet_in: message, actions: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:469b0
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, nil)
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:563ee
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, self)
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:ab53c
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, {})
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:47ade
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, nil => message, actions: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:6b850
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, self => message, actions: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:66b83
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in__mutant__: message, actions: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:54ca7
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: nil, actions: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:e3e21
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: self, actions: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:1bf70
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, actions: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:6b92d
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: message, nil => SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:bad07
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: message, self => SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:1a9c2
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: message, actions__mutant__: SendOutPort.new(:flood))
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:8eecb
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: message, actions: nil)
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:b186f
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: message, actions: self)
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:8a1d5
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort)
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:76daf
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: message, actions: :flood)
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:b5d2e
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id, packet_in: message)
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:adc9f
@@ -1,5 +1,5 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
+  send_packet_out(datapath_id)
 end
-----------------------
evil:RepeaterHub#packet_in:/home/yasuhito/play/repeater_hub/lib/repeater_hub.rb:7:502eb
@@ -1,5 +1,4 @@
 def packet_in(datapath_id, message)
   send_flow_mod_add(datapath_id, match: ExactMatch.new(message), actions: SendOutPort.new(:flood))
-  send_packet_out(datapath_id, packet_in: message, actions: SendOutPort.new(:flood))
 end
-----------------------
Mutant configuration:
Matcher:         #<Mutant::Matcher::Config match_expressions: [RepeaterHub]>
Integration:     Mutant::Integration::Rspec
Expect Coverage: 100.00%
Jobs:            1
Includes:        ["lib"]
Requires:        []
Subjects:        2
Mutations:       92
Results:         92
Kills:           67
Alive:           25
Runtime:         27.06s
Killtime:        7.10s
Overhead:        280.98%
Mutations/s:     3.40
Coverage:        72.83%
Expected:        100.00%
Coverage report generated for RSpec to /home/yasuhito/play/repeater_hub/coverage. 22 / 31 LOC (70.97%) covered.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.