pio 0.28.1 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3df44da54a5ee6b53635131992a450e190d5878d
4
- data.tar.gz: 756b740f33b744bf2af1468c65723a3b0ec7795c
3
+ metadata.gz: f0bae1a4e884cc9c53cae04b7ca07d4781cea7b1
4
+ data.tar.gz: bdce833e9753e814505163d84bb10a59a1511955
5
5
  SHA512:
6
- metadata.gz: 5c84d89664314ffa03b6333cd1bc0d3e5a2798de80c2272e521ea9bd051a7642d860c6cc1e2a903873c7a6069717add82d41fd47f64b06059f813fa5f82730e6
7
- data.tar.gz: 956ae82279e9b19da9857eea93c6f622c505c669535dec2960ab9e3b849e2f1c363df065a64d158bd641f2853fac61368e24575b50f547fa2bcd5ecebab400bd
6
+ metadata.gz: 7557c2fffccafb3e314d0cb97356eba24b391edc5941ae760dd1c6a9d7fe53e417a1d3706a89def3d2725f5df791f1d1d527e86f50ef5273d53775f2dc9f9bc1
7
+ data.tar.gz: e1672095ad435143f579135afca3fa08d6f530ff3d9b2b20ebeab600b8e8b0e5205404e2b6cf89333c183601a6cf9256d33955635f8e11c7ce603f241d7e39ae
@@ -3,6 +3,16 @@
3
3
  ## develop (unreleased)
4
4
 
5
5
 
6
+ ## 0.29.0 (11/11/2015)
7
+ ### New features
8
+ * [#274](https://github.com/trema/pio/pull/274): Add `SetSourceMacAddress` action.
9
+ * [#275](https://github.com/trema/pio/pull/275): Add `SetDestinationMacAddress` action.
10
+ * [#276](https://github.com/trema/pio/pull/276): Add `SetArpOperation` action.
11
+ * [#277](https://github.com/trema/pio/pull/277): Add `SetArpSenderProtocolAddress` action.
12
+ * [#278](https://github.com/trema/pio/pull/278): Add `SetArpSenderHardwareAddress` action.
13
+ * [#280](https://github.com/trema/pio/pull/280): Add `NiciraRegMove` action.
14
+
15
+
6
16
  ## 0.28.1 (11/5/2015)
7
17
  ### Changes
8
18
  * Remove `OpenFlow10` namespace from `Pio::OpenFlow10::SetSourceMacAddress` and `Pio::OpenFlow10::SetDestinationMacAddress`.
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'bundler/gem_tasks'
2
2
 
3
3
  RELISH_PROJECT = 'trema/pio'
4
- FLAY_THRESHOLD = 1098
4
+ FLAY_THRESHOLD = 1343
5
5
 
6
6
  task default: :travis
7
7
  task test: [:spec, :cucumber]
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # This file was generated by Bundler.
4
4
  #
5
- # The application 'terminal-notifier' is installed as part of a gem, and
5
+ # The application 'code_metrics' is installed as part of a gem, and
6
6
  # this file is here to facilitate running it.
7
7
  #
8
8
 
@@ -13,4 +13,4 @@ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
13
13
  require 'rubygems'
14
14
  require 'bundler/setup'
15
15
 
16
- load Gem.bin_path('terminal-notifier', 'terminal-notifier')
16
+ load Gem.bin_path('code_metrics', 'code_metrics')
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'code_metrics-profile' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('code_metrics', 'code_metrics-profile')
@@ -278,16 +278,16 @@ Feature: Pio::Match
278
278
  | ip_protocol | 1 |
279
279
  | icmpv4_code | 0 |
280
280
 
281
- Scenario: new(eth_type: 2054, arp_op: 1)
281
+ Scenario: new(eth_type: 2054, arp_operation: 1)
282
282
  When I try to create an OpenFlow message with:
283
283
  """
284
- Pio::Match.new(ether_type: 2054, arp_op: 1)
284
+ Pio::Match.new(ether_type: 2054, arp_operation: 1)
285
285
  """
286
286
  Then it should finish successfully
287
287
  And the message has the following fields and values:
288
- | field | value |
289
- | ether_type | 2054 |
290
- | arp_op | 1 |
288
+ | field | value |
289
+ | ether_type | 2054 |
290
+ | arp_operation | 1 |
291
291
 
292
292
  Scenario: new(eth_type: 2054, arp_sender_protocol_address: '1.2.3.4')
293
293
  When I try to create an OpenFlow message with:
@@ -655,9 +655,9 @@ Feature: Pio::Match
655
655
  When I try to parse a file named "open_flow13/oxm_arp_op_field.raw" with "Pio::Match" class
656
656
  Then it should finish successfully
657
657
  And the message has the following fields and values:
658
- | field | value |
659
- | ether_type | 2054 |
660
- | arp_op | 1 |
658
+ | field | value |
659
+ | ether_type | 2054 |
660
+ | arp_operation | 1 |
661
661
 
662
662
  Scenario: read (file: open_flow13/oxm_arp_spa_field.raw)
663
663
  When I try to parse a file named "open_flow13/oxm_arp_spa_field.raw" with "Pio::Match" class
@@ -0,0 +1,21 @@
1
+ @open_flow13
2
+ Feature: Pio::NiciraRegMove
3
+
4
+ Scenario: new(from: :arp_sender_hardware_address, to: :arp_target_hardware_address)
5
+ When I try to create an OpenFlow action with:
6
+ """
7
+ Pio::NiciraRegMove.new(from: :arp_sender_hardware_address, to: :arp_target_hardware_address)
8
+ """
9
+ Then it should finish successfully
10
+ And the action has the following fields and values:
11
+ | field | value |
12
+ | action_type.to_hex | 0xffff |
13
+ | action_length | 24 |
14
+ | experimenter_id.to_hex | 0x2320 |
15
+ | experimenter_type | 6 |
16
+ | from | :arp_sender_hardware_address |
17
+ | source_oxm_field | 24 |
18
+ | source_oxm_length | 6 |
19
+ | to | :arp_target_hardware_address |
20
+ | destination_oxm_field | 25 |
21
+ | destination_oxm_length | 6 |
@@ -0,0 +1,14 @@
1
+ @open_flow13
2
+ Feature: Pio::SetArpOperation
3
+
4
+ Scenario: new(Pio::Arp::Reply::OPERATION)
5
+ When I try to create an OpenFlow action with:
6
+ """
7
+ Pio::SetArpOperation.new(Pio::Arp::Reply::OPERATION)
8
+ """
9
+ Then it should finish successfully
10
+ And the action has the following fields and values:
11
+ | field | value |
12
+ | action_type | 25 |
13
+ | action_length | 16 |
14
+ | operation | 2 |
@@ -0,0 +1,14 @@
1
+ @open_flow13
2
+ Feature: Pio::SetArpSenderHardwareAddress
3
+
4
+ Scenario: new('00:00:de:ad:be:ef')
5
+ When I try to create an OpenFlow action with:
6
+ """
7
+ Pio::SetArpSenderHardwareAddress.new('00:00:de:ad:be:ef')
8
+ """
9
+ Then it should finish successfully
10
+ And the action has the following fields and values:
11
+ | field | value |
12
+ | action_type | 25 |
13
+ | action_length | 16 |
14
+ | mac_address | 00:00:de:ad:be:ef |
@@ -0,0 +1,14 @@
1
+ @open_flow13
2
+ Feature: Pio::SetArpSenderProtocolAddress
3
+
4
+ Scenario: new('192.168.1.1')
5
+ When I try to create an OpenFlow action with:
6
+ """
7
+ Pio::SetArpSenderProtocolAddress.new('192.168.1.1')
8
+ """
9
+ Then it should finish successfully
10
+ And the action has the following fields and values:
11
+ | field | value |
12
+ | action_type | 25 |
13
+ | action_length | 16 |
14
+ | ip_address | 192.168.1.1 |
@@ -0,0 +1,14 @@
1
+ @open_flow13
2
+ Feature: Pio::SetDestinationMacAddress
3
+
4
+ Scenario: new('11:22:33:44:55:66')
5
+ When I try to create an OpenFlow action with:
6
+ """
7
+ Pio::SetDestinationMacAddress.new('11:22:33:44:55:66')
8
+ """
9
+ Then it should finish successfully
10
+ And the action has the following fields and values:
11
+ | field | value |
12
+ | action_type | 25 |
13
+ | action_length | 16 |
14
+ | mac_address | 11:22:33:44:55:66 |
@@ -0,0 +1,14 @@
1
+ @open_flow13
2
+ Feature: Pio::SetSourceMacAddress
3
+
4
+ Scenario: new('11:22:33:44:55:66')
5
+ When I try to create an OpenFlow action with:
6
+ """
7
+ Pio::SetSourceMacAddress.new('11:22:33:44:55:66')
8
+ """
9
+ Then it should finish successfully
10
+ And the action has the following fields and values:
11
+ | field | value |
12
+ | action_type | 25 |
13
+ | action_length | 16 |
14
+ | mac_address | 11:22:33:44:55:66 |
@@ -19,8 +19,9 @@ module Pio
19
19
  :PacketIn, :FlowRemoved, :PacketOut, :SendOutPort,
20
20
  :SetSourceMacAddress, :SetDestinationMacAddress, :PortStatus, :Stats,
21
21
  :FlowStats, :DescriptionStats, :AggregateStats, :TableStats, :PortStats,
22
- :QueueStats, :Error, :NiciraResubmit,
23
- :NiciraResubmitTable].each do |each|
22
+ :QueueStats, :Error, :NiciraResubmit, :SetArpOperation,
23
+ :SetArpSenderProtocolAddress, :SetArpSenderHardwareAddress,
24
+ :NiciraResubmitTable, :NiciraRegMove].each do |each|
24
25
  set_message_class_name each, version
25
26
  @version = version.to_s
26
27
  end
@@ -13,7 +13,13 @@ require 'pio/open_flow13/packet_out'
13
13
  require 'pio/open_flow13/stats_request'
14
14
 
15
15
  # Actions
16
+ require 'pio/open_flow13/nicira_reg_move'
16
17
  require 'pio/open_flow13/send_out_port'
18
+ require 'pio/open_flow13/set_arp_operation'
19
+ require 'pio/open_flow13/set_arp_sender_hardware_address'
20
+ require 'pio/open_flow13/set_arp_sender_protocol_address'
21
+ require 'pio/open_flow13/set_destination_mac_address'
22
+ require 'pio/open_flow13/set_source_mac_address'
17
23
 
18
24
  # Instructions
19
25
  require 'pio/open_flow13/apply'
@@ -7,6 +7,11 @@ module Pio
7
7
 
8
8
  uint16 :action_type
9
9
  uint16 :action_length
10
+ string :body, length: -> { action_length - 4 }
11
+
12
+ def to_binary
13
+ to_binary_s
14
+ end
10
15
  end
11
16
 
12
17
  # Actions list of actions-apply instruction.
@@ -11,18 +11,23 @@ module Pio
11
11
  uint16 :error_code
12
12
  end
13
13
 
14
+ # rubocop:disable MethodLength
14
15
  def self.read(binary)
15
16
  body = OpenFlowHeaderParser.read(binary).body
16
- klass = case BodyParser.read(body).snapshot.error_type
17
+ error = BodyParser.read(body).snapshot
18
+ klass = case error.error_type
17
19
  when :hello_failed
18
20
  HelloFailed
19
21
  when :bad_request
20
22
  BadRequest
21
23
  else
22
- fail 'Unknown error message.'
24
+ # Not implemented yet
25
+ fail 'Unknown error message '\
26
+ "(type=#{error.error_type}, code=#{error.error_code})"
23
27
  end
24
28
  klass.read binary
25
29
  end
30
+ # rubocop:enable MethodLength
26
31
  end
27
32
  end
28
33
  end
@@ -350,12 +350,12 @@ module Pio
350
350
  end
351
351
 
352
352
  # The value of OXM_OF_ARP_OP
353
- class ArpOp < BinData::Record
353
+ class ArpOperation < BinData::Record
354
354
  OXM_FIELD = 21
355
355
 
356
356
  endian :big
357
357
 
358
- uint16 :arp_op
358
+ uint16 :arp_operation
359
359
 
360
360
  def length
361
361
  2
@@ -597,7 +597,7 @@ module Pio
597
597
  udp_destination_port UdpDestinationPort
598
598
  sctp_source_port SctpSourcePort
599
599
  sctp_destination_port SctpDestinationPort
600
- arp_op ArpOp
600
+ arp_operation ArpOperation
601
601
  arp_sender_protocol_address ArpSenderProtocolAddress
602
602
  masked_arp_sender_protocol_address MaskedArpSenderProtocolAddress
603
603
  arp_target_protocol_address ArpTargetProtocolAddress
@@ -676,8 +676,8 @@ module Pio
676
676
  Icmpv4Type
677
677
  when Icmpv4Code::OXM_FIELD
678
678
  Icmpv4Code
679
- when ArpOp::OXM_FIELD
680
- ArpOp
679
+ when ArpOperation::OXM_FIELD
680
+ ArpOperation
681
681
  when ArpSenderProtocolAddress::OXM_FIELD
682
682
  if masked?
683
683
  MaskedArpSenderProtocolAddress
@@ -819,7 +819,7 @@ module Pio
819
819
  :ip_dscp, :ip_ecn, :tcp_source_port, :tcp_destination_port,
820
820
  :udp_source_port, :udp_destination_port,
821
821
  :sctp_source_port, :sctp_destination_port,
822
- :icmpv4_type, :icmpv4_code, :arp_op].each do |each|
822
+ :icmpv4_type, :icmpv4_code, :arp_operation].each do |each|
823
823
  next unless user_attrs.key?(each)
824
824
  klass = Match.const_get(each.to_s.split('_').map(&:capitalize).join)
825
825
  @match_fields << { class_payload:
@@ -0,0 +1,38 @@
1
+ require 'active_support/core_ext/string/inflections'
2
+ require 'pio/open_flow/action'
3
+
4
+ module Pio
5
+ module OpenFlow13
6
+ # NXAST_REG_MOVE action
7
+ class NiciraRegMove < OpenFlow::Action
8
+ action_header action_type: 0xffff, action_length: 24
9
+ uint32 :experimenter_id, value: 0x2320
10
+ uint16 :experimenter_type, value: 6
11
+ uint16 :n_bits, initial_value: -> { source_oxm_length * 8 }
12
+ uint16 :source_offset, value: 0
13
+ uint16 :destination_offset, value: 0
14
+ uint16 :source_class, value: Match::OXM_CLASS_OPENFLOW_BASIC
15
+ bit7 :source_oxm_field
16
+ bit1 :source_oxm_hasmask, value: 0
17
+ uint8 :source_oxm_length
18
+ uint16 :destination_oxm_class, value: Match::OXM_CLASS_OPENFLOW_BASIC
19
+ bit7 :destination_oxm_field
20
+ bit1 :destination_oxm_hasmask, value: 0
21
+ uint8 :destination_oxm_length
22
+
23
+ attr_reader :from
24
+ attr_reader :to
25
+
26
+ def initialize(options)
27
+ @from = options.fetch(:from)
28
+ @to = options.fetch(:to)
29
+ from_klass = Match.const_get(@from.to_s.classify)
30
+ to_klass = Match.const_get(@to.to_s.classify)
31
+ super(source_oxm_field: from_klass.const_get(:OXM_FIELD),
32
+ source_oxm_length: from_klass.new.length,
33
+ destination_oxm_field: to_klass.const_get(:OXM_FIELD),
34
+ destination_oxm_length: to_klass.new.length)
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,23 @@
1
+ require 'pio/open_flow/action'
2
+ require 'pio/open_flow13/match'
3
+
4
+ module Pio
5
+ module OpenFlow13
6
+ # Set ARP operation field
7
+ class SetArpOperation < OpenFlow::Action
8
+ action_header action_type: 25, action_length: 16
9
+
10
+ uint16 :oxm_class, value: Match::OXM_CLASS_OPENFLOW_BASIC
11
+ bit7 :oxm_field, value: Match::ArpOperation::OXM_FIELD
12
+ bit1 :oxm_hasmask, value: 0
13
+ uint8 :oxm_length, value: 2
14
+ uint16 :operation
15
+ string :padding, length: 6
16
+ hide :padding
17
+
18
+ def initialize(operation)
19
+ super operation: operation
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ require 'pio/open_flow/action'
2
+ require 'pio/open_flow13/match'
3
+
4
+ module Pio
5
+ module OpenFlow13
6
+ # Set ARP sender hardware address field
7
+ class SetArpSenderHardwareAddress < OpenFlow::Action
8
+ action_header action_type: 25, action_length: 16
9
+
10
+ uint16 :oxm_class, value: Match::OXM_CLASS_OPENFLOW_BASIC
11
+ bit7 :oxm_field, value: Match::ArpSenderHardwareAddress::OXM_FIELD
12
+ bit1 :oxm_hasmask, value: 0
13
+ uint8 :oxm_length, value: 6
14
+ mac_address :mac_address
15
+ string :padding, length: 2
16
+ hide :padding
17
+
18
+ def initialize(mac_address)
19
+ super mac_address: mac_address
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ require 'pio/open_flow/action'
2
+ require 'pio/open_flow13/match'
3
+
4
+ module Pio
5
+ module OpenFlow13
6
+ # Set ARP sender protocol address field
7
+ class SetArpSenderProtocolAddress < OpenFlow::Action
8
+ action_header action_type: 25, action_length: 16
9
+
10
+ uint16 :oxm_class, value: Match::OXM_CLASS_OPENFLOW_BASIC
11
+ bit7 :oxm_field, value: Match::ArpSenderProtocolAddress::OXM_FIELD
12
+ bit1 :oxm_hasmask, value: 0
13
+ uint8 :oxm_length, value: 4
14
+ ip_address :ip_address
15
+ string :padding, length: 4
16
+ hide :padding
17
+
18
+ def initialize(ip_address)
19
+ super ip_address: ip_address
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ require 'pio/open_flow/action'
2
+ require 'pio/open_flow13/match'
3
+
4
+ module Pio
5
+ module OpenFlow13
6
+ # Set a header field.
7
+ class SetDestinationMacAddress < OpenFlow::Action
8
+ action_header action_type: 25, action_length: 16
9
+
10
+ uint16 :oxm_class, value: Match::OXM_CLASS_OPENFLOW_BASIC
11
+ bit7 :oxm_field, value: Match::DestinationMacAddress::OXM_FIELD
12
+ bit1 :oxm_hasmask, value: 0
13
+ uint8 :oxm_length, value: 6
14
+ mac_address :mac_address
15
+ string :padding, length: 2
16
+ hide :padding
17
+
18
+ def initialize(mac_address)
19
+ super mac_address: mac_address
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ require 'pio/open_flow/action'
2
+ require 'pio/open_flow13/match'
3
+
4
+ module Pio
5
+ module OpenFlow13
6
+ # Set a header field.
7
+ class SetSourceMacAddress < OpenFlow::Action
8
+ action_header action_type: 25, action_length: 16
9
+
10
+ uint16 :oxm_class, value: Match::OXM_CLASS_OPENFLOW_BASIC
11
+ bit7 :oxm_field, value: Match::SourceMacAddress::OXM_FIELD
12
+ bit1 :oxm_hasmask, value: 0
13
+ uint8 :oxm_length, value: 6
14
+ mac_address :mac_address
15
+ string :padding, length: 2
16
+ hide :padding
17
+
18
+ def initialize(mac_address)
19
+ super mac_address: mac_address
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,5 +1,5 @@
1
1
  # Base module.
2
2
  module Pio
3
3
  # gem version.
4
- VERSION = '0.28.1'.freeze
4
+ VERSION = '0.29.0'.freeze
5
5
  end
@@ -29,9 +29,9 @@ Gem::Specification.new do |gem|
29
29
  gem.required_ruby_version = '>= 2.0.0'
30
30
 
31
31
  gem.add_dependency 'bindata', '~> 2.1.0'
32
+ gem.add_dependency 'activesupport', '~> 4.2', '>= 4.2.4'
32
33
 
33
34
  gem.add_development_dependency 'bundler', '~> 1.10.6'
34
- gem.add_development_dependency 'byebug', '~> 7.0.0'
35
35
  gem.add_development_dependency 'pry', '~> 0.10.3'
36
36
  gem.add_development_dependency 'rake'
37
37
 
@@ -404,15 +404,15 @@ describe Pio::OpenFlow13::Match do
404
404
  And { match.match_fields[2].oxm_length == 1 }
405
405
  end
406
406
 
407
- context 'with ether_type: 0x0806, arp_op: 1' do
407
+ context 'with ether_type: 0x0806, arp_operation: 1' do
408
408
  When(:match) do
409
409
  Pio::OpenFlow13::Match.new(
410
410
  ether_type: 0x0806,
411
- arp_op: 1
411
+ arp_operation: 1
412
412
  )
413
413
  end
414
414
  Then { match.ether_type == 0x0806 }
415
- Then { match.arp_op == 1 }
415
+ Then { match.arp_operation == 1 }
416
416
  And { match.class == Pio::OpenFlow13::Match }
417
417
  And { match.length == 16 }
418
418
  And { match.match_type == Pio::OpenFlow13::MATCH_TYPE_OXM }
@@ -424,7 +424,7 @@ describe Pio::OpenFlow13::Match do
424
424
  end
425
425
  And do
426
426
  match.match_fields[1].oxm_field ==
427
- Pio::OpenFlow13::Match::ArpOp::OXM_FIELD
427
+ Pio::OpenFlow13::Match::ArpOperation::OXM_FIELD
428
428
  end
429
429
  And { match.match_fields[1].masked? == false }
430
430
  And { match.match_fields[1].oxm_length == 2 }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.1
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yasuhito Takamiya
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-05 00:00:00.000000000 Z
11
+ date: 2015-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bindata
@@ -25,33 +25,39 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.1.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.10.6
34
- type: :development
33
+ version: '4.2'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 4.2.4
37
+ type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - "~>"
39
42
  - !ruby/object:Gem::Version
40
- version: 1.10.6
43
+ version: '4.2'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 4.2.4
41
47
  - !ruby/object:Gem::Dependency
42
- name: byebug
48
+ name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: 7.0.0
53
+ version: 1.10.6
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - "~>"
53
59
  - !ruby/object:Gem::Version
54
- version: 7.0.0
60
+ version: 1.10.6
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: pry
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -394,6 +400,8 @@ files:
394
400
  - bin/byebug
395
401
  - bin/cc-tddium-post-worker
396
402
  - bin/cdiff
403
+ - bin/code_metrics
404
+ - bin/code_metrics-profile
397
405
  - bin/coderay
398
406
  - bin/colortab
399
407
  - bin/coveralls
@@ -421,7 +429,6 @@ files:
421
429
  - bin/sparkr
422
430
  - bin/term_display
423
431
  - bin/term_mandel
424
- - bin/terminal-notifier
425
432
  - bin/thor
426
433
  - bin/unparser
427
434
  - bin/yard
@@ -570,6 +577,7 @@ files:
570
577
  - features/open_flow13/instruction_write_metadata.raw
571
578
  - features/open_flow13/match.feature
572
579
  - features/open_flow13/meter.feature
580
+ - features/open_flow13/nicira_reg_move.feature
573
581
  - features/open_flow13/oxm_arp_op_field.raw
574
582
  - features/open_flow13/oxm_arp_sha_field.raw
575
583
  - features/open_flow13/oxm_arp_spa_field.raw
@@ -621,6 +629,11 @@ files:
621
629
  - features/open_flow13/packet_out.raw
622
630
  - features/open_flow13/send_out_port.feature
623
631
  - features/open_flow13/send_out_port.raw
632
+ - features/open_flow13/set_arp_operation.feature
633
+ - features/open_flow13/set_arp_sender_hardware_address.feature
634
+ - features/open_flow13/set_arp_sender_protocol_address.feature
635
+ - features/open_flow13/set_destination_mac_address.feature
636
+ - features/open_flow13/set_source_mac_address.feature
624
637
  - features/open_flow13/stats_request.feature
625
638
  - features/open_flow13/table_stats_reply.raw
626
639
  - features/open_flow13/table_stats_request.raw
@@ -775,10 +788,16 @@ files:
775
788
  - lib/pio/open_flow13/hello.rb
776
789
  - lib/pio/open_flow13/match.rb
777
790
  - lib/pio/open_flow13/meter.rb
791
+ - lib/pio/open_flow13/nicira_reg_move.rb
778
792
  - lib/pio/open_flow13/packet_in.rb
779
793
  - lib/pio/open_flow13/packet_out.rb
780
794
  - lib/pio/open_flow13/port32.rb
781
795
  - lib/pio/open_flow13/send_out_port.rb
796
+ - lib/pio/open_flow13/set_arp_operation.rb
797
+ - lib/pio/open_flow13/set_arp_sender_hardware_address.rb
798
+ - lib/pio/open_flow13/set_arp_sender_protocol_address.rb
799
+ - lib/pio/open_flow13/set_destination_mac_address.rb
800
+ - lib/pio/open_flow13/set_source_mac_address.rb
782
801
  - lib/pio/open_flow13/stats_request.rb
783
802
  - lib/pio/open_flow13/write_metadata.rb
784
803
  - lib/pio/options.rb
@@ -871,7 +890,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
871
890
  version: '0'
872
891
  requirements: []
873
892
  rubyforge_project:
874
- rubygems_version: 2.4.6
893
+ rubygems_version: 2.4.8
875
894
  signing_key:
876
895
  specification_version: 4
877
896
  summary: Packet parser and generator.
@@ -1077,6 +1096,7 @@ test_files:
1077
1096
  - features/open_flow13/instruction_write_metadata.raw
1078
1097
  - features/open_flow13/match.feature
1079
1098
  - features/open_flow13/meter.feature
1099
+ - features/open_flow13/nicira_reg_move.feature
1080
1100
  - features/open_flow13/oxm_arp_op_field.raw
1081
1101
  - features/open_flow13/oxm_arp_sha_field.raw
1082
1102
  - features/open_flow13/oxm_arp_spa_field.raw
@@ -1128,6 +1148,11 @@ test_files:
1128
1148
  - features/open_flow13/packet_out.raw
1129
1149
  - features/open_flow13/send_out_port.feature
1130
1150
  - features/open_flow13/send_out_port.raw
1151
+ - features/open_flow13/set_arp_operation.feature
1152
+ - features/open_flow13/set_arp_sender_hardware_address.feature
1153
+ - features/open_flow13/set_arp_sender_protocol_address.feature
1154
+ - features/open_flow13/set_destination_mac_address.feature
1155
+ - features/open_flow13/set_source_mac_address.feature
1131
1156
  - features/open_flow13/stats_request.feature
1132
1157
  - features/open_flow13/table_stats_reply.raw
1133
1158
  - features/open_flow13/table_stats_request.raw