pio 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +4 -0
  4. data/Rakefile +1 -1
  5. data/bin/terminal-notifier +16 -0
  6. data/features/open_flow10/bad_request.feature +35 -0
  7. data/features/open_flow10/bad_request.raw +0 -0
  8. data/features/open_flow10/barrier_reply.feature +4 -4
  9. data/features/open_flow10/barrier_request.feature +4 -4
  10. data/features/open_flow10/echo_reply.feature +13 -13
  11. data/features/open_flow10/echo_request.feature +6 -6
  12. data/features/open_flow10/enqueue.feature +17 -0
  13. data/features/open_flow10/features_reply.feature +2 -2
  14. data/features/open_flow10/features_request.feature +28 -28
  15. data/features/open_flow10/flow_mod.feature +5 -5
  16. data/features/open_flow10/flow_stats_reply.feature +12 -12
  17. data/features/open_flow10/flow_stats_request.feature +3 -3
  18. data/features/open_flow10/hello.feature +8 -15
  19. data/features/open_flow10/hello_failed.feature +69 -0
  20. data/features/open_flow10/hello_failed.raw +0 -0
  21. data/features/open_flow10/nxast_learn.raw +0 -0
  22. data/features/open_flow10/packet_in.feature +2 -2
  23. data/features/open_flow10/packet_out.feature +13 -13
  24. data/features/open_flow10/port_status.feature +1 -1
  25. data/features/open_flow10/send_out_port.feature +106 -0
  26. data/features/open_flow10/set_ether_destination_address.feature +16 -0
  27. data/features/open_flow10/set_ether_source_address.feature +16 -0
  28. data/features/open_flow10/set_ip_destination_address.feature +16 -0
  29. data/features/open_flow10/set_ip_source_address.feature +16 -0
  30. data/features/open_flow10/set_ip_tos.feature +16 -0
  31. data/features/open_flow10/set_transport_destination_port.feature +16 -0
  32. data/features/open_flow10/set_transport_source_port.feature +16 -0
  33. data/features/open_flow10/set_vlan_priority.feature +16 -0
  34. data/features/open_flow10/set_vlan_vid.feature +16 -0
  35. data/features/open_flow10/strip_vlan_header.feature +15 -0
  36. data/features/open_flow10/vendor_action.feature +14 -0
  37. data/features/open_flow13/bad_request.feature +35 -0
  38. data/features/open_flow13/bad_request.raw +0 -0
  39. data/features/open_flow13/echo_reply.feature +7 -7
  40. data/features/open_flow13/echo_request.feature +7 -7
  41. data/features/open_flow13/features_reply.feature +2 -2
  42. data/features/open_flow13/features_request.feature +28 -28
  43. data/features/open_flow13/flow_mod.feature +24 -24
  44. data/features/open_flow13/hello.feature +5 -5
  45. data/features/open_flow13/hello_failed.feature +69 -0
  46. data/features/open_flow13/hello_failed.raw +0 -0
  47. data/features/open_flow13/packet_in.feature +3 -3
  48. data/features/open_flow13/packet_out.feature +3 -3
  49. data/features/open_flow13/send_out_port.feature +101 -10
  50. data/features/open_flow13/table_stats_reply.raw +0 -0
  51. data/features/open_flow13/table_stats_request.raw +0 -0
  52. data/features/open_flow_read.feature +6 -0
  53. data/features/step_definitions/Gemfile +9 -0
  54. data/features/step_definitions/Gemfile.lock +76 -0
  55. data/features/step_definitions/Guardfile +4 -0
  56. data/features/step_definitions/LICENSE +675 -0
  57. data/features/step_definitions/README.md +7 -0
  58. data/features/step_definitions/Rakefile +10 -0
  59. data/features/step_definitions/dump_flows_steps.rb +13 -0
  60. data/features/step_definitions/packet_data_steps.rb +4 -0
  61. data/features/step_definitions/rest_api_steps.rb +40 -0
  62. data/features/step_definitions/show_stats_steps.rb +83 -0
  63. data/features/step_definitions/trema_steps.rb +33 -0
  64. data/features/step_definitions/virtual_link_steps.rb +8 -0
  65. data/lib/pio/open_flow.rb +5 -5
  66. data/lib/pio/open_flow/echo.rb +1 -1
  67. data/lib/pio/open_flow/error.rb +19 -0
  68. data/lib/pio/open_flow/format.rb +2 -1
  69. data/lib/pio/open_flow/hello_failed_code.rb +21 -0
  70. data/lib/pio/open_flow/open_flow_header.rb +11 -2
  71. data/lib/pio/open_flow/port.rb +69 -0
  72. data/lib/pio/open_flow10.rb +5 -0
  73. data/lib/pio/open_flow10/actions.rb +8 -6
  74. data/lib/pio/open_flow10/enqueue.rb +13 -13
  75. data/lib/pio/open_flow10/error.rb +28 -0
  76. data/lib/pio/open_flow10/error/bad_request.rb +66 -0
  77. data/lib/pio/open_flow10/error/error_type10.rb +26 -0
  78. data/lib/pio/open_flow10/error/hello_failed.rb +41 -0
  79. data/lib/pio/open_flow10/features.rb +6 -10
  80. data/lib/pio/open_flow10/flow_mod.rb +1 -1
  81. data/lib/pio/open_flow10/flow_stats_request.rb +1 -1
  82. data/lib/pio/open_flow10/hello.rb +2 -2
  83. data/lib/pio/open_flow10/match.rb +2 -2
  84. data/lib/pio/{open_flow/phy_port.rb → open_flow10/phy_port16.rb} +4 -4
  85. data/lib/pio/open_flow10/port16.rb +21 -0
  86. data/lib/pio/open_flow10/port_status.rb +1 -1
  87. data/lib/pio/open_flow10/send_out_port.rb +16 -40
  88. data/lib/pio/open_flow10/set_ether_address.rb +9 -8
  89. data/lib/pio/open_flow10/set_ip_address.rb +4 -4
  90. data/lib/pio/open_flow10/set_ip_tos.rb +4 -4
  91. data/lib/pio/open_flow10/set_transport_port.rb +12 -12
  92. data/lib/pio/open_flow10/set_vlan.rb +4 -4
  93. data/lib/pio/open_flow10/set_vlan_vid.rb +0 -12
  94. data/lib/pio/open_flow10/strip_vlan_header.rb +7 -7
  95. data/lib/pio/open_flow10/vendor_action.rb +33 -0
  96. data/lib/pio/open_flow13.rb +3 -0
  97. data/lib/pio/open_flow13/actions.rb +3 -3
  98. data/lib/pio/open_flow13/error.rb +28 -0
  99. data/lib/pio/open_flow13/error/bad_request.rb +66 -0
  100. data/lib/pio/open_flow13/error/error_type13.rb +37 -0
  101. data/lib/pio/open_flow13/error/hello_failed.rb +42 -0
  102. data/lib/pio/open_flow13/features_reply.rb +33 -33
  103. data/lib/pio/open_flow13/features_request.rb +3 -3
  104. data/lib/pio/open_flow13/flow_mod.rb +2 -2
  105. data/lib/pio/open_flow13/goto_table.rb +2 -0
  106. data/lib/pio/open_flow13/packet_out.rb +1 -1
  107. data/lib/pio/open_flow13/port32.rb +21 -0
  108. data/lib/pio/open_flow13/send_out_port.rb +3 -2
  109. data/lib/pio/version.rb +1 -1
  110. data/pio.gemspec +5 -5
  111. data/spec/pio/open_flow10/enqueue_spec.rb +22 -22
  112. data/spec/pio/open_flow10/error/hello_failed_spec.rb +26 -0
  113. data/spec/pio/open_flow10/flow_mod_spec.rb +6 -6
  114. data/spec/pio/open_flow10/flow_stats_request_spec.rb +1 -1
  115. data/spec/pio/open_flow10/hello_spec.rb +3 -3
  116. data/spec/pio/open_flow10/packet_out_spec.rb +33 -33
  117. data/spec/pio/{open_flow/phy_port_spec.rb → open_flow10/phy_port16_spec.rb} +7 -7
  118. data/spec/pio/open_flow10/send_out_port_spec.rb +28 -28
  119. data/spec/pio/open_flow10/set_ether_destination_address_spec.rb +2 -2
  120. data/spec/pio/open_flow10/set_ether_source_address_spec.rb +2 -2
  121. data/spec/pio/open_flow10/set_ip_destination_address_spec.rb +4 -4
  122. data/spec/pio/open_flow10/set_ip_source_address_spec.rb +4 -4
  123. data/spec/pio/open_flow10/set_ip_tos_spec.rb +4 -4
  124. data/spec/pio/open_flow10/set_transport_destination_port_spec.rb +11 -11
  125. data/spec/pio/open_flow10/set_transport_source_port_spec.rb +11 -11
  126. data/spec/pio/open_flow10/set_vlan_priority_spec.rb +4 -4
  127. data/spec/pio/open_flow10/set_vlan_vid_spec.rb +4 -4
  128. data/spec/pio/open_flow10/strip_vlan_header_spec.rb +6 -6
  129. data/spec/pio/open_flow13/error/bad_request_spec.rb +6 -0
  130. data/spec/pio/open_flow13/error/hello_failed_spec.rb +26 -0
  131. data/spec/pio/open_flow13/hello_spec.rb +3 -3
  132. data/spec/support/shared_examples_for_openflow_messages.rb +40 -27
  133. metadata +106 -16
  134. data/lib/pio/open_flow/port_number.rb +0 -39
@@ -1,45 +1,58 @@
1
1
  shared_examples 'an OpenFlow message' do |klass|
2
- When(:message) { klass.new(options) }
2
+ describe '.new' do
3
+ When(:message) { klass.new(options) }
3
4
 
4
- context 'with transaction_id: 123' do
5
- Given(:options) { { transaction_id: 123 } }
5
+ context 'with transaction_id: 123' do
6
+ Given(:options) { { transaction_id: 123 } }
6
7
 
7
- Then { message.transaction_id == 123 }
8
- Then { message.xid == 123 }
9
- end
8
+ Then { message.transaction_id == 123 }
9
+ Then { message.xid == 123 }
10
+ end
10
11
 
11
- context 'with xid: 123' do
12
- When(:options) { { xid: 123 } }
12
+ context 'with xid: 123' do
13
+ When(:options) { { xid: 123 } }
13
14
 
14
- Then { message.transaction_id == 123 }
15
- Then { message.xid == 123 }
16
- end
15
+ Then { message.transaction_id == 123 }
16
+ Then { message.xid == 123 }
17
+ end
17
18
 
18
- context 'with xid: -1' do
19
- When(:options) { { xid: -1 } }
19
+ context 'with xid: -1' do
20
+ When(:options) { { xid: -1 } }
20
21
 
21
- Then do
22
- message ==
23
- Failure(ArgumentError,
24
- 'Transaction ID should be an unsigned 32-bit integer.')
22
+ Then { message == Failure(ArgumentError, 'Transaction ID should be an unsigned 32-bit integer.') }
23
+ end
24
+
25
+ context 'with xid: 2**32' do
26
+ When(:options) { { xid: 2**32 } }
27
+
28
+ Then { message == Failure(ArgumentError, 'Transaction ID should be an unsigned 32-bit integer.') }
29
+ end
30
+
31
+ context 'with UNKNOWN_OPTION: :UNKNOWN_VALUE' do
32
+ When(:options) { { UNKNOWN_OPTION: :UNKNOWN_VALUE } }
33
+
34
+ Then { message == Failure(RuntimeError, 'Unknown option: UNKNOWN_OPTION') }
25
35
  end
26
36
  end
27
37
 
28
- context 'with xid: 2**32' do
29
- When(:options) { { xid: 2**32 } }
38
+ describe '.read' do
39
+ When(:result) { klass.read(binary) }
30
40
 
31
- Then do
32
- message ==
33
- Failure(ArgumentError,
34
- 'Transaction ID should be an unsigned 32-bit integer.')
41
+ context "with 'DEADBEEF'" do
42
+ Given(:binary) { 'DEADBEEF' }
43
+ Then { result == Failure(Pio::ParseError) }
35
44
  end
36
45
  end
46
+ end
37
47
 
38
- context 'with UNKNOWN_OPTION: :UNKNOWN_VALUE' do
39
- When(:options) { { UNKNOWN_OPTION: :UNKNOWN_VALUE } }
48
+ shared_examples 'an OpenFlow message with no body' do |klass|
49
+ describe '.new' do
50
+ When(:message) { klass.new(options) }
40
51
 
41
- Then do
42
- message == Failure(RuntimeError, 'Unknown option: UNKNOWN_OPTION')
52
+ context "with body: 'DEADBEEF'" do
53
+ When(:options) { { body: 'DEADBEEF' } }
54
+
55
+ Then { message == Failure(RuntimeError, 'Unknown option: body') }
43
56
  end
44
57
  end
45
58
  end
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.25.0
4
+ version: 0.26.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-08-06 00:00:00.000000000 Z
11
+ date: 2015-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bindata
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - ~>
158
158
  - !ruby/object:Gem::Version
159
- version: 0.9.5
159
+ version: 0.9.6
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - ~>
165
165
  - !ruby/object:Gem::Version
166
- version: 0.9.5
166
+ version: 0.9.6
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rb-inotify
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -198,14 +198,14 @@ dependencies:
198
198
  requirements:
199
199
  - - ~>
200
200
  - !ruby/object:Gem::Version
201
- version: 0.6.3
201
+ version: 0.6.4
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - ~>
207
207
  - !ruby/object:Gem::Version
208
- version: 0.6.3
208
+ version: 0.6.4
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: relish
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -240,14 +240,14 @@ dependencies:
240
240
  requirements:
241
241
  - - ~>
242
242
  - !ruby/object:Gem::Version
243
- version: 0.4.7
243
+ version: 0.4.8
244
244
  type: :development
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - ~>
249
249
  - !ruby/object:Gem::Version
250
- version: 0.4.7
250
+ version: 0.4.8
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: coveralls
253
253
  requirement: !ruby/object:Gem::Requirement
@@ -310,14 +310,14 @@ dependencies:
310
310
  requirements:
311
311
  - - ~>
312
312
  - !ruby/object:Gem::Version
313
- version: '3.1'
313
+ version: 3.3.1
314
314
  type: :development
315
315
  prerelease: false
316
316
  version_requirements: !ruby/object:Gem::Requirement
317
317
  requirements:
318
318
  - - ~>
319
319
  - !ruby/object:Gem::Version
320
- version: '3.1'
320
+ version: 3.3.1
321
321
  - !ruby/object:Gem::Dependency
322
322
  name: rspec
323
323
  requirement: !ruby/object:Gem::Requirement
@@ -352,14 +352,14 @@ dependencies:
352
352
  requirements:
353
353
  - - ~>
354
354
  - !ruby/object:Gem::Version
355
- version: 0.33.0
355
+ version: 0.34.0
356
356
  type: :development
357
357
  prerelease: false
358
358
  version_requirements: !ruby/object:Gem::Requirement
359
359
  requirements:
360
360
  - - ~>
361
361
  - !ruby/object:Gem::Version
362
- version: 0.33.0
362
+ version: 0.34.0
363
363
  description: Pure ruby packet parser and generator.
364
364
  email:
365
365
  - yasuhito@gmail.com
@@ -407,6 +407,7 @@ files:
407
407
  - bin/sparkr
408
408
  - bin/term_display
409
409
  - bin/term_mandel
410
+ - bin/terminal-notifier
410
411
  - bin/thor
411
412
  - bin/unparser
412
413
  - bin/yard
@@ -424,6 +425,8 @@ files:
424
425
  - features/lldp.minimal.pcap
425
426
  - features/open_flow10/aggregate_stats_reply.raw
426
427
  - features/open_flow10/aggregate_stats_request.raw
428
+ - features/open_flow10/bad_request.feature
429
+ - features/open_flow10/bad_request.raw
427
430
  - features/open_flow10/barrier_reply.feature
428
431
  - features/open_flow10/barrier_reply.raw
429
432
  - features/open_flow10/barrier_request.feature
@@ -434,6 +437,7 @@ files:
434
437
  - features/open_flow10/echo_reply.raw
435
438
  - features/open_flow10/echo_request.feature
436
439
  - features/open_flow10/echo_request.raw
440
+ - features/open_flow10/enqueue.feature
437
441
  - features/open_flow10/error.raw
438
442
  - features/open_flow10/exact_match.feature
439
443
  - features/open_flow10/features_reply.feature
@@ -455,6 +459,9 @@ files:
455
459
  - features/open_flow10/get_config_request.raw
456
460
  - features/open_flow10/hello.feature
457
461
  - features/open_flow10/hello.raw
462
+ - features/open_flow10/hello_failed.feature
463
+ - features/open_flow10/hello_failed.raw
464
+ - features/open_flow10/nxast_learn.raw
458
465
  - features/open_flow10/packet_in.feature
459
466
  - features/open_flow10/packet_in.raw
460
467
  - features/open_flow10/packet_in_arp_request.raw
@@ -468,10 +475,22 @@ files:
468
475
  - features/open_flow10/port_status.raw
469
476
  - features/open_flow10/queue_get_config_reply.raw
470
477
  - features/open_flow10/queue_get_config_request.raw
478
+ - features/open_flow10/send_out_port.feature
471
479
  - features/open_flow10/set_config.raw
480
+ - features/open_flow10/set_ether_destination_address.feature
481
+ - features/open_flow10/set_ether_source_address.feature
482
+ - features/open_flow10/set_ip_destination_address.feature
483
+ - features/open_flow10/set_ip_source_address.feature
484
+ - features/open_flow10/set_ip_tos.feature
485
+ - features/open_flow10/set_transport_destination_port.feature
486
+ - features/open_flow10/set_transport_source_port.feature
487
+ - features/open_flow10/set_vlan_priority.feature
488
+ - features/open_flow10/set_vlan_vid.feature
489
+ - features/open_flow10/strip_vlan_header.feature
472
490
  - features/open_flow10/table_stats_reply.raw
473
491
  - features/open_flow10/table_stats_request.raw
474
492
  - features/open_flow10/vendor.raw
493
+ - features/open_flow10/vendor_action.feature
475
494
  - features/open_flow10/vendor_stats_request.raw
476
495
  - features/open_flow13/action_copy_ttl_in.raw
477
496
  - features/open_flow13/action_copy_ttl_out.raw
@@ -490,6 +509,8 @@ files:
490
509
  - features/open_flow13/action_set_queue.raw
491
510
  - features/open_flow13/apply_actions.feature
492
511
  - features/open_flow13/apply_actions.raw
512
+ - features/open_flow13/bad_request.feature
513
+ - features/open_flow13/bad_request.raw
493
514
  - features/open_flow13/echo_reply.feature
494
515
  - features/open_flow13/echo_reply_body.raw
495
516
  - features/open_flow13/echo_reply_no_body.raw
@@ -506,6 +527,8 @@ files:
506
527
  - features/open_flow13/flow_mod_no_match_or_instructions.raw
507
528
  - features/open_flow13/goto_table.feature
508
529
  - features/open_flow13/hello.feature
530
+ - features/open_flow13/hello_failed.feature
531
+ - features/open_flow13/hello_failed.raw
509
532
  - features/open_flow13/hello_no_version_bitmap.raw
510
533
  - features/open_flow13/hello_version_bitmap.raw
511
534
  - features/open_flow13/instruction_clear_actions.raw
@@ -566,11 +589,24 @@ files:
566
589
  - features/open_flow13/packet_out.raw
567
590
  - features/open_flow13/send_out_port.feature
568
591
  - features/open_flow13/send_out_port.raw
592
+ - features/open_flow13/table_stats_reply.raw
593
+ - features/open_flow13/table_stats_request.raw
569
594
  - features/open_flow13/write_metadata.feature
570
595
  - features/open_flow_read.feature
571
596
  - features/open_flow_version.feature
597
+ - features/step_definitions/Gemfile
598
+ - features/step_definitions/Gemfile.lock
599
+ - features/step_definitions/Guardfile
600
+ - features/step_definitions/LICENSE
601
+ - features/step_definitions/README.md
602
+ - features/step_definitions/Rakefile
603
+ - features/step_definitions/dump_flows_steps.rb
572
604
  - features/step_definitions/open_flow_steps.rb
573
605
  - features/step_definitions/packet_data_steps.rb
606
+ - features/step_definitions/rest_api_steps.rb
607
+ - features/step_definitions/show_stats_steps.rb
608
+ - features/step_definitions/trema_steps.rb
609
+ - features/step_definitions/virtual_link_steps.rb
574
610
  - features/support/env.rb
575
611
  - features/support/hooks.rb
576
612
  - features/udp.feature
@@ -631,12 +667,13 @@ files:
631
667
  - lib/pio/open_flow.rb
632
668
  - lib/pio/open_flow/datapath_id.rb
633
669
  - lib/pio/open_flow/echo.rb
670
+ - lib/pio/open_flow/error.rb
634
671
  - lib/pio/open_flow/flags.rb
635
672
  - lib/pio/open_flow/format.rb
673
+ - lib/pio/open_flow/hello_failed_code.rb
636
674
  - lib/pio/open_flow/message.rb
637
675
  - lib/pio/open_flow/open_flow_header.rb
638
- - lib/pio/open_flow/phy_port.rb
639
- - lib/pio/open_flow/port_number.rb
676
+ - lib/pio/open_flow/port.rb
640
677
  - lib/pio/open_flow/transaction_id.rb
641
678
  - lib/pio/open_flow10.rb
642
679
  - lib/pio/open_flow10/actions.rb
@@ -644,6 +681,10 @@ files:
644
681
  - lib/pio/open_flow10/barrier_request.rb
645
682
  - lib/pio/open_flow10/echo.rb
646
683
  - lib/pio/open_flow10/enqueue.rb
684
+ - lib/pio/open_flow10/error.rb
685
+ - lib/pio/open_flow10/error/bad_request.rb
686
+ - lib/pio/open_flow10/error/error_type10.rb
687
+ - lib/pio/open_flow10/error/hello_failed.rb
647
688
  - lib/pio/open_flow10/exact_match.rb
648
689
  - lib/pio/open_flow10/features.rb
649
690
  - lib/pio/open_flow10/flow_mod.rb
@@ -653,6 +694,8 @@ files:
653
694
  - lib/pio/open_flow10/match.rb
654
695
  - lib/pio/open_flow10/packet_in.rb
655
696
  - lib/pio/open_flow10/packet_out.rb
697
+ - lib/pio/open_flow10/phy_port16.rb
698
+ - lib/pio/open_flow10/port16.rb
656
699
  - lib/pio/open_flow10/port_status.rb
657
700
  - lib/pio/open_flow10/send_out_port.rb
658
701
  - lib/pio/open_flow10/set_ether_address.rb
@@ -664,11 +707,16 @@ files:
664
707
  - lib/pio/open_flow10/set_vlan_vid.rb
665
708
  - lib/pio/open_flow10/stats_type.rb
666
709
  - lib/pio/open_flow10/strip_vlan_header.rb
710
+ - lib/pio/open_flow10/vendor_action.rb
667
711
  - lib/pio/open_flow13.rb
668
712
  - lib/pio/open_flow13/actions.rb
669
713
  - lib/pio/open_flow13/apply.rb
670
714
  - lib/pio/open_flow13/buffer_id.rb
671
715
  - lib/pio/open_flow13/echo.rb
716
+ - lib/pio/open_flow13/error.rb
717
+ - lib/pio/open_flow13/error/bad_request.rb
718
+ - lib/pio/open_flow13/error/error_type13.rb
719
+ - lib/pio/open_flow13/error/hello_failed.rb
672
720
  - lib/pio/open_flow13/features_reply.rb
673
721
  - lib/pio/open_flow13/features_request.rb
674
722
  - lib/pio/open_flow13/flow_mod.rb
@@ -678,6 +726,7 @@ files:
678
726
  - lib/pio/open_flow13/meter.rb
679
727
  - lib/pio/open_flow13/packet_in.rb
680
728
  - lib/pio/open_flow13/packet_out.rb
729
+ - lib/pio/open_flow13/port32.rb
681
730
  - lib/pio/open_flow13/send_out_port.rb
682
731
  - lib/pio/open_flow13/write_metadata.rb
683
732
  - lib/pio/options.rb
@@ -708,10 +757,10 @@ files:
708
757
  - spec/pio/ipv4_address_spec.rb
709
758
  - spec/pio/lldp/options_spec.rb
710
759
  - spec/pio/mac_spec.rb
711
- - spec/pio/open_flow/phy_port_spec.rb
712
760
  - spec/pio/open_flow10/echo_reply_spec.rb
713
761
  - spec/pio/open_flow10/echo_request_spec.rb
714
762
  - spec/pio/open_flow10/enqueue_spec.rb
763
+ - spec/pio/open_flow10/error/hello_failed_spec.rb
715
764
  - spec/pio/open_flow10/features_reply_spec.rb
716
765
  - spec/pio/open_flow10/features_request_spec.rb
717
766
  - spec/pio/open_flow10/flow_mod_spec.rb
@@ -721,6 +770,7 @@ files:
721
770
  - spec/pio/open_flow10/match_spec.rb
722
771
  - spec/pio/open_flow10/packet_in_spec.rb
723
772
  - spec/pio/open_flow10/packet_out_spec.rb
773
+ - spec/pio/open_flow10/phy_port16_spec.rb
724
774
  - spec/pio/open_flow10/send_out_port_spec.rb
725
775
  - spec/pio/open_flow10/set_ether_destination_address_spec.rb
726
776
  - spec/pio/open_flow10/set_ether_source_address_spec.rb
@@ -735,6 +785,8 @@ files:
735
785
  - spec/pio/open_flow10/wildcards_spec.rb
736
786
  - spec/pio/open_flow13/echo_reply_spec.rb
737
787
  - spec/pio/open_flow13/echo_request_spec.rb
788
+ - spec/pio/open_flow13/error/bad_request_spec.rb
789
+ - spec/pio/open_flow13/error/hello_failed_spec.rb
738
790
  - spec/pio/open_flow13/features_reply_spec.rb
739
791
  - spec/pio/open_flow13/features_request_spec.rb
740
792
  - spec/pio/open_flow13/goto_table_spec.rb
@@ -788,10 +840,10 @@ test_files:
788
840
  - spec/pio/ipv4_address_spec.rb
789
841
  - spec/pio/lldp/options_spec.rb
790
842
  - spec/pio/mac_spec.rb
791
- - spec/pio/open_flow/phy_port_spec.rb
792
843
  - spec/pio/open_flow10/echo_reply_spec.rb
793
844
  - spec/pio/open_flow10/echo_request_spec.rb
794
845
  - spec/pio/open_flow10/enqueue_spec.rb
846
+ - spec/pio/open_flow10/error/hello_failed_spec.rb
795
847
  - spec/pio/open_flow10/features_reply_spec.rb
796
848
  - spec/pio/open_flow10/features_request_spec.rb
797
849
  - spec/pio/open_flow10/flow_mod_spec.rb
@@ -801,6 +853,7 @@ test_files:
801
853
  - spec/pio/open_flow10/match_spec.rb
802
854
  - spec/pio/open_flow10/packet_in_spec.rb
803
855
  - spec/pio/open_flow10/packet_out_spec.rb
856
+ - spec/pio/open_flow10/phy_port16_spec.rb
804
857
  - spec/pio/open_flow10/send_out_port_spec.rb
805
858
  - spec/pio/open_flow10/set_ether_destination_address_spec.rb
806
859
  - spec/pio/open_flow10/set_ether_source_address_spec.rb
@@ -815,6 +868,8 @@ test_files:
815
868
  - spec/pio/open_flow10/wildcards_spec.rb
816
869
  - spec/pio/open_flow13/echo_reply_spec.rb
817
870
  - spec/pio/open_flow13/echo_request_spec.rb
871
+ - spec/pio/open_flow13/error/bad_request_spec.rb
872
+ - spec/pio/open_flow13/error/hello_failed_spec.rb
818
873
  - spec/pio/open_flow13/features_reply_spec.rb
819
874
  - spec/pio/open_flow13/features_request_spec.rb
820
875
  - spec/pio/open_flow13/goto_table_spec.rb
@@ -839,6 +894,8 @@ test_files:
839
894
  - features/lldp.minimal.pcap
840
895
  - features/open_flow10/aggregate_stats_reply.raw
841
896
  - features/open_flow10/aggregate_stats_request.raw
897
+ - features/open_flow10/bad_request.feature
898
+ - features/open_flow10/bad_request.raw
842
899
  - features/open_flow10/barrier_reply.feature
843
900
  - features/open_flow10/barrier_reply.raw
844
901
  - features/open_flow10/barrier_request.feature
@@ -849,6 +906,7 @@ test_files:
849
906
  - features/open_flow10/echo_reply.raw
850
907
  - features/open_flow10/echo_request.feature
851
908
  - features/open_flow10/echo_request.raw
909
+ - features/open_flow10/enqueue.feature
852
910
  - features/open_flow10/error.raw
853
911
  - features/open_flow10/exact_match.feature
854
912
  - features/open_flow10/features_reply.feature
@@ -870,6 +928,9 @@ test_files:
870
928
  - features/open_flow10/get_config_request.raw
871
929
  - features/open_flow10/hello.feature
872
930
  - features/open_flow10/hello.raw
931
+ - features/open_flow10/hello_failed.feature
932
+ - features/open_flow10/hello_failed.raw
933
+ - features/open_flow10/nxast_learn.raw
873
934
  - features/open_flow10/packet_in.feature
874
935
  - features/open_flow10/packet_in.raw
875
936
  - features/open_flow10/packet_in_arp_request.raw
@@ -883,10 +944,22 @@ test_files:
883
944
  - features/open_flow10/port_status.raw
884
945
  - features/open_flow10/queue_get_config_reply.raw
885
946
  - features/open_flow10/queue_get_config_request.raw
947
+ - features/open_flow10/send_out_port.feature
886
948
  - features/open_flow10/set_config.raw
949
+ - features/open_flow10/set_ether_destination_address.feature
950
+ - features/open_flow10/set_ether_source_address.feature
951
+ - features/open_flow10/set_ip_destination_address.feature
952
+ - features/open_flow10/set_ip_source_address.feature
953
+ - features/open_flow10/set_ip_tos.feature
954
+ - features/open_flow10/set_transport_destination_port.feature
955
+ - features/open_flow10/set_transport_source_port.feature
956
+ - features/open_flow10/set_vlan_priority.feature
957
+ - features/open_flow10/set_vlan_vid.feature
958
+ - features/open_flow10/strip_vlan_header.feature
887
959
  - features/open_flow10/table_stats_reply.raw
888
960
  - features/open_flow10/table_stats_request.raw
889
961
  - features/open_flow10/vendor.raw
962
+ - features/open_flow10/vendor_action.feature
890
963
  - features/open_flow10/vendor_stats_request.raw
891
964
  - features/open_flow13/action_copy_ttl_in.raw
892
965
  - features/open_flow13/action_copy_ttl_out.raw
@@ -905,6 +978,8 @@ test_files:
905
978
  - features/open_flow13/action_set_queue.raw
906
979
  - features/open_flow13/apply_actions.feature
907
980
  - features/open_flow13/apply_actions.raw
981
+ - features/open_flow13/bad_request.feature
982
+ - features/open_flow13/bad_request.raw
908
983
  - features/open_flow13/echo_reply.feature
909
984
  - features/open_flow13/echo_reply_body.raw
910
985
  - features/open_flow13/echo_reply_no_body.raw
@@ -921,6 +996,8 @@ test_files:
921
996
  - features/open_flow13/flow_mod_no_match_or_instructions.raw
922
997
  - features/open_flow13/goto_table.feature
923
998
  - features/open_flow13/hello.feature
999
+ - features/open_flow13/hello_failed.feature
1000
+ - features/open_flow13/hello_failed.raw
924
1001
  - features/open_flow13/hello_no_version_bitmap.raw
925
1002
  - features/open_flow13/hello_version_bitmap.raw
926
1003
  - features/open_flow13/instruction_clear_actions.raw
@@ -981,11 +1058,24 @@ test_files:
981
1058
  - features/open_flow13/packet_out.raw
982
1059
  - features/open_flow13/send_out_port.feature
983
1060
  - features/open_flow13/send_out_port.raw
1061
+ - features/open_flow13/table_stats_reply.raw
1062
+ - features/open_flow13/table_stats_request.raw
984
1063
  - features/open_flow13/write_metadata.feature
985
1064
  - features/open_flow_read.feature
986
1065
  - features/open_flow_version.feature
1066
+ - features/step_definitions/dump_flows_steps.rb
1067
+ - features/step_definitions/Gemfile
1068
+ - features/step_definitions/Gemfile.lock
1069
+ - features/step_definitions/Guardfile
1070
+ - features/step_definitions/LICENSE
987
1071
  - features/step_definitions/open_flow_steps.rb
988
1072
  - features/step_definitions/packet_data_steps.rb
1073
+ - features/step_definitions/Rakefile
1074
+ - features/step_definitions/README.md
1075
+ - features/step_definitions/rest_api_steps.rb
1076
+ - features/step_definitions/show_stats_steps.rb
1077
+ - features/step_definitions/trema_steps.rb
1078
+ - features/step_definitions/virtual_link_steps.rb
989
1079
  - features/support/env.rb
990
1080
  - features/support/hooks.rb
991
1081
  - features/udp.feature