pio 0.30.1 → 0.30.2

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 (261) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -4
  3. data/Rakefile +6 -4
  4. data/features/step_definitions/Gemfile +2 -0
  5. data/features/step_definitions/Guardfile +2 -0
  6. data/features/step_definitions/Rakefile +2 -0
  7. data/features/step_definitions/dump_flows_steps.rb +2 -0
  8. data/features/step_definitions/open_flow_steps.rb +2 -0
  9. data/features/step_definitions/packet_data_steps.rb +3 -1
  10. data/features/step_definitions/rest_api_steps.rb +2 -0
  11. data/features/step_definitions/ruby_steps.rb +2 -0
  12. data/features/step_definitions/show_stats_steps.rb +2 -0
  13. data/features/step_definitions/trema_steps.rb +2 -0
  14. data/features/step_definitions/virtual_link_steps.rb +2 -0
  15. data/features/support/env.rb +1 -2
  16. data/features/support/hooks.rb +2 -0
  17. data/lib/pio.rb +2 -0
  18. data/lib/pio/arp.rb +2 -0
  19. data/lib/pio/arp/format.rb +2 -0
  20. data/lib/pio/arp/message.rb +2 -0
  21. data/lib/pio/arp/reply.rb +2 -0
  22. data/lib/pio/arp/request.rb +4 -2
  23. data/lib/pio/class_inspector.rb +2 -0
  24. data/lib/pio/dhcp.rb +2 -0
  25. data/lib/pio/dhcp/ack.rb +2 -0
  26. data/lib/pio/dhcp/boot_reply.rb +2 -0
  27. data/lib/pio/dhcp/boot_reply_options.rb +2 -0
  28. data/lib/pio/dhcp/boot_request.rb +2 -0
  29. data/lib/pio/dhcp/boot_request_options.rb +2 -0
  30. data/lib/pio/dhcp/client_id.rb +2 -0
  31. data/lib/pio/dhcp/common_options.rb +2 -0
  32. data/lib/pio/dhcp/dhcp_field.rb +2 -0
  33. data/lib/pio/dhcp/dhcp_tlv_options.rb +30 -20
  34. data/lib/pio/dhcp/discover.rb +2 -0
  35. data/lib/pio/dhcp/field_util.rb +3 -1
  36. data/lib/pio/dhcp/frame.rb +2 -0
  37. data/lib/pio/dhcp/message.rb +2 -0
  38. data/lib/pio/dhcp/offer.rb +2 -0
  39. data/lib/pio/dhcp/optional_tlv.rb +3 -1
  40. data/lib/pio/dhcp/parameter_list.rb +2 -0
  41. data/lib/pio/dhcp/request.rb +2 -0
  42. data/lib/pio/ethernet_frame.rb +2 -0
  43. data/lib/pio/ethernet_header.rb +2 -0
  44. data/lib/pio/icmp.rb +2 -0
  45. data/lib/pio/icmp/format.rb +2 -0
  46. data/lib/pio/icmp/message.rb +2 -0
  47. data/lib/pio/icmp/reply.rb +2 -0
  48. data/lib/pio/icmp/request.rb +2 -0
  49. data/lib/pio/instance_inspector.rb +2 -0
  50. data/lib/pio/ipv4_address.rb +2 -0
  51. data/lib/pio/ipv4_header.rb +2 -0
  52. data/lib/pio/lldp.rb +2 -0
  53. data/lib/pio/lldp/chassis_id_tlv.rb +2 -0
  54. data/lib/pio/lldp/end_of_lldpdu_value.rb +2 -0
  55. data/lib/pio/lldp/frame.rb +2 -0
  56. data/lib/pio/lldp/management_address_value.rb +2 -0
  57. data/lib/pio/lldp/optional_tlv.rb +2 -0
  58. data/lib/pio/lldp/options.rb +4 -2
  59. data/lib/pio/lldp/organizationally_specific_value.rb +2 -0
  60. data/lib/pio/lldp/port_description_value.rb +2 -0
  61. data/lib/pio/lldp/port_id_tlv.rb +2 -0
  62. data/lib/pio/lldp/system_capabilities_value.rb +2 -0
  63. data/lib/pio/lldp/system_description_value.rb +2 -0
  64. data/lib/pio/lldp/system_name_value.rb +2 -0
  65. data/lib/pio/lldp/ttl_tlv.rb +2 -0
  66. data/lib/pio/mac.rb +2 -0
  67. data/lib/pio/message.rb +2 -0
  68. data/lib/pio/message_type_selector.rb +2 -0
  69. data/lib/pio/monkey_patch/bindata_record.rb +2 -0
  70. data/lib/pio/monkey_patch/bindata_string.rb +2 -0
  71. data/lib/pio/monkey_patch/integer.rb +2 -0
  72. data/lib/pio/monkey_patch/integer/base_conversions.rb +2 -0
  73. data/lib/pio/monkey_patch/integer/ranges.rb +2 -0
  74. data/lib/pio/monkey_patch/uint.rb +2 -0
  75. data/lib/pio/monkey_patch/uint/base_conversions.rb +2 -0
  76. data/lib/pio/open_flow.rb +2 -0
  77. data/lib/pio/open_flow/action.rb +2 -0
  78. data/lib/pio/open_flow/buffer_id.rb +2 -0
  79. data/lib/pio/open_flow/datapath_id.rb +2 -0
  80. data/lib/pio/open_flow/error_message.rb +2 -0
  81. data/lib/pio/open_flow/flags.rb +2 -0
  82. data/lib/pio/open_flow/flow_match.rb +2 -0
  83. data/lib/pio/open_flow/header.rb +2 -0
  84. data/lib/pio/open_flow/hello_failed_code.rb +2 -0
  85. data/lib/pio/open_flow/instruction.rb +2 -0
  86. data/lib/pio/open_flow/message.rb +2 -0
  87. data/lib/pio/open_flow/nicira_action.rb +2 -0
  88. data/lib/pio/open_flow/nicira_resubmit.rb +2 -0
  89. data/lib/pio/open_flow/nicira_resubmit_table.rb +2 -0
  90. data/lib/pio/open_flow/parser.rb +2 -0
  91. data/lib/pio/open_flow/port.rb +2 -0
  92. data/lib/pio/open_flow/transaction_id.rb +2 -0
  93. data/lib/pio/open_flow/version.rb +2 -0
  94. data/lib/pio/open_flow10.rb +2 -0
  95. data/lib/pio/open_flow10/actions.rb +2 -0
  96. data/lib/pio/open_flow10/aggregate_stats/reply.rb +2 -0
  97. data/lib/pio/open_flow10/aggregate_stats/request.rb +2 -0
  98. data/lib/pio/open_flow10/barrier/reply.rb +2 -0
  99. data/lib/pio/open_flow10/barrier/request.rb +2 -0
  100. data/lib/pio/open_flow10/description_stats/reply.rb +2 -0
  101. data/lib/pio/open_flow10/description_stats/request.rb +2 -0
  102. data/lib/pio/open_flow10/echo/reply.rb +2 -0
  103. data/lib/pio/open_flow10/echo/request.rb +2 -0
  104. data/lib/pio/open_flow10/enqueue.rb +2 -0
  105. data/lib/pio/open_flow10/error.rb +2 -0
  106. data/lib/pio/open_flow10/error/bad_request.rb +2 -0
  107. data/lib/pio/open_flow10/error/bad_request/bad_request_code.rb +2 -0
  108. data/lib/pio/open_flow10/error/error_type10.rb +2 -0
  109. data/lib/pio/open_flow10/error/hello_failed.rb +2 -0
  110. data/lib/pio/open_flow10/exact_match.rb +2 -0
  111. data/lib/pio/open_flow10/features.rb +2 -0
  112. data/lib/pio/open_flow10/features/reply.rb +22 -20
  113. data/lib/pio/open_flow10/features/request.rb +2 -0
  114. data/lib/pio/open_flow10/flow_mod.rb +5 -3
  115. data/lib/pio/open_flow10/flow_mod/command.rb +2 -0
  116. data/lib/pio/open_flow10/flow_removed.rb +2 -0
  117. data/lib/pio/open_flow10/flow_removed/reason.rb +2 -0
  118. data/lib/pio/open_flow10/flow_stats/reply.rb +2 -0
  119. data/lib/pio/open_flow10/flow_stats/request.rb +2 -0
  120. data/lib/pio/open_flow10/hello.rb +2 -0
  121. data/lib/pio/open_flow10/match.rb +4 -2
  122. data/lib/pio/open_flow10/match10.rb +2 -0
  123. data/lib/pio/open_flow10/packet_in.rb +2 -0
  124. data/lib/pio/open_flow10/packet_in/reason.rb +2 -0
  125. data/lib/pio/open_flow10/packet_out.rb +2 -0
  126. data/lib/pio/open_flow10/phy_port16.rb +21 -19
  127. data/lib/pio/open_flow10/port16.rb +2 -0
  128. data/lib/pio/open_flow10/port_stats/request.rb +2 -0
  129. data/lib/pio/open_flow10/port_status.rb +2 -0
  130. data/lib/pio/open_flow10/port_status/reason.rb +2 -0
  131. data/lib/pio/open_flow10/queue_stats/request.rb +2 -0
  132. data/lib/pio/open_flow10/send_out_port.rb +2 -0
  133. data/lib/pio/open_flow10/set_destination_ip_address.rb +2 -0
  134. data/lib/pio/open_flow10/set_destination_mac_address.rb +2 -0
  135. data/lib/pio/open_flow10/set_source_ip_address.rb +2 -0
  136. data/lib/pio/open_flow10/set_source_mac_address.rb +2 -0
  137. data/lib/pio/open_flow10/set_tos.rb +2 -0
  138. data/lib/pio/open_flow10/set_transport_port.rb +2 -0
  139. data/lib/pio/open_flow10/set_vlan_priority.rb +2 -0
  140. data/lib/pio/open_flow10/set_vlan_vid.rb +2 -0
  141. data/lib/pio/open_flow10/stats_reply.rb +2 -0
  142. data/lib/pio/open_flow10/stats_request.rb +2 -0
  143. data/lib/pio/open_flow10/stats_type.rb +2 -0
  144. data/lib/pio/open_flow10/strip_vlan_header.rb +2 -0
  145. data/lib/pio/open_flow10/table_stats/request.rb +2 -0
  146. data/lib/pio/open_flow10/vendor_action.rb +2 -0
  147. data/lib/pio/open_flow13.rb +2 -0
  148. data/lib/pio/open_flow13/actions.rb +2 -0
  149. data/lib/pio/open_flow13/apply.rb +2 -0
  150. data/lib/pio/open_flow13/copy_ttl_inwards.rb +2 -0
  151. data/lib/pio/open_flow13/copy_ttl_outwards.rb +2 -0
  152. data/lib/pio/open_flow13/decrement_ip_ttl.rb +2 -0
  153. data/lib/pio/open_flow13/echo/reply.rb +2 -0
  154. data/lib/pio/open_flow13/echo/request.rb +2 -0
  155. data/lib/pio/open_flow13/error.rb +2 -0
  156. data/lib/pio/open_flow13/error/bad_request.rb +2 -0
  157. data/lib/pio/open_flow13/error/error_type13.rb +2 -0
  158. data/lib/pio/open_flow13/error/hello_failed.rb +2 -0
  159. data/lib/pio/open_flow13/features/reply.rb +11 -9
  160. data/lib/pio/open_flow13/features/request.rb +2 -0
  161. data/lib/pio/open_flow13/flow_mod.rb +7 -5
  162. data/lib/pio/open_flow13/goto_table.rb +2 -0
  163. data/lib/pio/open_flow13/hello.rb +2 -0
  164. data/lib/pio/open_flow13/match.rb +17 -15
  165. data/lib/pio/open_flow13/meter.rb +2 -0
  166. data/lib/pio/open_flow13/nicira_conjunction.rb +2 -0
  167. data/lib/pio/open_flow13/nicira_reg_load.rb +2 -0
  168. data/lib/pio/open_flow13/nicira_reg_move.rb +5 -3
  169. data/lib/pio/open_flow13/nicira_send_out_port.rb +2 -0
  170. data/lib/pio/open_flow13/nicira_stack_pop.rb +2 -0
  171. data/lib/pio/open_flow13/nicira_stack_push.rb +2 -0
  172. data/lib/pio/open_flow13/packet_in.rb +2 -0
  173. data/lib/pio/open_flow13/packet_out.rb +2 -0
  174. data/lib/pio/open_flow13/port32.rb +2 -0
  175. data/lib/pio/open_flow13/send_out_port.rb +2 -0
  176. data/lib/pio/open_flow13/set_arp_operation.rb +2 -0
  177. data/lib/pio/open_flow13/set_arp_sender_hardware_address.rb +2 -0
  178. data/lib/pio/open_flow13/set_arp_sender_protocol_address.rb +2 -0
  179. data/lib/pio/open_flow13/set_destination_mac_address.rb +2 -0
  180. data/lib/pio/open_flow13/set_ip_ttl.rb +2 -0
  181. data/lib/pio/open_flow13/set_metadata.rb +2 -0
  182. data/lib/pio/open_flow13/set_source_mac_address.rb +2 -0
  183. data/lib/pio/open_flow13/stats_request.rb +9 -7
  184. data/lib/pio/open_flow13/write_metadata.rb +2 -0
  185. data/lib/pio/options.rb +2 -0
  186. data/lib/pio/parse_error.rb +2 -0
  187. data/lib/pio/parser.rb +2 -0
  188. data/lib/pio/payload.rb +2 -0
  189. data/lib/pio/pcap.rb +2 -0
  190. data/lib/pio/ruby_dumper.rb +2 -0
  191. data/lib/pio/type/ether_type.rb +2 -0
  192. data/lib/pio/type/ip_address.rb +2 -0
  193. data/lib/pio/type/ipv6_address.rb +2 -0
  194. data/lib/pio/type/mac_address.rb +2 -0
  195. data/lib/pio/udp.rb +2 -0
  196. data/lib/pio/udp_header.rb +2 -0
  197. data/lib/pio/version.rb +3 -1
  198. data/pio.gemspec +7 -5
  199. data/spec/pio/arp/reply_spec.rb +2 -0
  200. data/spec/pio/arp/request_spec.rb +2 -0
  201. data/spec/pio/arp_spec.rb +2 -0
  202. data/spec/pio/dhcp/ack_spec.rb +2 -0
  203. data/spec/pio/dhcp/discover_spec.rb +2 -0
  204. data/spec/pio/dhcp/offer_spec.rb +2 -0
  205. data/spec/pio/dhcp/request_spec.rb +2 -0
  206. data/spec/pio/dhcp_spec.rb +2 -0
  207. data/spec/pio/icmp/reply_spec.rb +2 -0
  208. data/spec/pio/icmp/request_spec.rb +2 -0
  209. data/spec/pio/icmp_spec.rb +2 -0
  210. data/spec/pio/ipv4_address_spec.rb +2 -0
  211. data/spec/pio/lldp/options_spec.rb +2 -0
  212. data/spec/pio/mac_spec.rb +2 -0
  213. data/spec/pio/monkey_patch/integer_spec.rb +2 -0
  214. data/spec/pio/open_flow/nicira_resubmit_spec.rb +2 -0
  215. data/spec/pio/open_flow/nicira_resubmit_table_spec.rb +2 -0
  216. data/spec/pio/open_flow10/echo/reply_spec.rb +2 -0
  217. data/spec/pio/open_flow10/echo/request_spec.rb +2 -0
  218. data/spec/pio/open_flow10/enqueue_spec.rb +2 -0
  219. data/spec/pio/open_flow10/error/hello_failed_spec.rb +2 -0
  220. data/spec/pio/open_flow10/features/reply_spec.rb +2 -0
  221. data/spec/pio/open_flow10/features/request_spec.rb +2 -0
  222. data/spec/pio/open_flow10/flow_mod_spec.rb +29 -27
  223. data/spec/pio/open_flow10/flow_stats_reply_spec.rb +2 -0
  224. data/spec/pio/open_flow10/flow_stats_request_spec.rb +7 -5
  225. data/spec/pio/open_flow10/hello_spec.rb +2 -0
  226. data/spec/pio/open_flow10/match_spec.rb +68 -66
  227. data/spec/pio/open_flow10/packet_in_spec.rb +2 -0
  228. data/spec/pio/open_flow10/packet_out_spec.rb +2 -0
  229. data/spec/pio/open_flow10/phy_port16_spec.rb +4 -2
  230. data/spec/pio/open_flow10/send_out_port_spec.rb +2 -0
  231. data/spec/pio/open_flow10/set_destination_ip_address_spec.rb +2 -0
  232. data/spec/pio/open_flow10/set_destination_mac_address_spec.rb +2 -0
  233. data/spec/pio/open_flow10/set_source_ip_address_spec.rb +2 -0
  234. data/spec/pio/open_flow10/set_source_mac_address_spec.rb +2 -0
  235. data/spec/pio/open_flow10/set_tos_spec.rb +2 -0
  236. data/spec/pio/open_flow10/set_transport_destination_port_spec.rb +2 -0
  237. data/spec/pio/open_flow10/set_transport_source_port_spec.rb +2 -0
  238. data/spec/pio/open_flow10/set_vlan_priority_spec.rb +2 -0
  239. data/spec/pio/open_flow10/set_vlan_vid_spec.rb +2 -0
  240. data/spec/pio/open_flow10/strip_vlan_header_spec.rb +2 -0
  241. data/spec/pio/open_flow10/wildcards_spec.rb +2 -0
  242. data/spec/pio/open_flow13/echo_reply_spec.rb +2 -0
  243. data/spec/pio/open_flow13/echo_request_spec.rb +2 -0
  244. data/spec/pio/open_flow13/error/bad_request_spec.rb +2 -0
  245. data/spec/pio/open_flow13/error/hello_failed_spec.rb +2 -0
  246. data/spec/pio/open_flow13/features/reply_spec.rb +2 -0
  247. data/spec/pio/open_flow13/features/request_spec.rb +2 -0
  248. data/spec/pio/open_flow13/goto_table_spec.rb +2 -0
  249. data/spec/pio/open_flow13/hello_spec.rb +3 -1
  250. data/spec/pio/open_flow13/match_spec.rb +2 -0
  251. data/spec/pio/open_flow13/meter_spec.rb +2 -0
  252. data/spec/pio/open_flow13/nicira_reg_load_spec.rb +2 -0
  253. data/spec/pio/open_flow13/nicira_reg_move_spec.rb +2 -0
  254. data/spec/pio/open_flow13/nicira_send_out_port_spec.rb +2 -0
  255. data/spec/pio/open_flow13/packet_in_spec.rb +2 -0
  256. data/spec/pio/open_flow13/packet_out_spec.rb +2 -0
  257. data/spec/pio/open_flow13/write_metadata_spec.rb +2 -0
  258. data/spec/pio/open_flow_spec.rb +2 -0
  259. data/spec/spec_helper.rb +1 -12
  260. data/spec/support/shared_examples_for_openflow_messages.rb +2 -0
  261. metadata +134 -135
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Pio
2
4
  module OpenFlow13
3
5
  module Error
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/error_message'
2
4
  require 'pio/open_flow/hello_failed_code'
3
5
  require 'pio/open_flow/message'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/datapath_id'
2
4
  require 'pio/open_flow/message'
3
5
 
@@ -16,15 +18,15 @@ module Pio
16
18
  uint16 :padding
17
19
  hide :padding
18
20
  flags_32bit(:capabilities,
19
- [:flow_stats,
20
- :table_stats,
21
- :port_stats,
22
- :group_stats,
23
- :NOT_USED,
24
- :ip_reasm,
25
- :queue_stats,
26
- :NOT_USED,
27
- :port_blocked])
21
+ %i[flow_stats
22
+ table_stats
23
+ port_stats
24
+ group_stats
25
+ NOT_USED
26
+ ip_reasm
27
+ queue_stats
28
+ NOT_USED
29
+ port_blocked])
28
30
  uint32 :reserved
29
31
  end
30
32
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/message'
2
4
 
3
5
  module Pio
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow'
2
4
  require 'pio/open_flow/buffer_id'
3
5
  require 'pio/open_flow13/match'
@@ -117,11 +119,11 @@ module Pio
117
119
  out_port :out_port
118
120
  out_group :out_group
119
121
  flags_16bit :flags,
120
- [:send_flow_rem,
121
- :check_overwrap,
122
- :reset_counts,
123
- :no_packet_counts,
124
- :no_byte_counts]
122
+ %i[send_flow_rem
123
+ check_overwrap
124
+ reset_counts
125
+ no_packet_counts
126
+ no_byte_counts]
125
127
  string :padding, length: 2
126
128
  hide :padding
127
129
  oxm :match
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bindata'
2
4
  require 'forwardable'
3
5
  require 'pio/open_flow/instruction'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow'
2
4
 
3
5
  module Pio
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bindata'
2
4
  require 'pio/open_flow/flow_match'
3
5
  require 'pio/type/ip_address'
@@ -1196,11 +1198,11 @@ module Pio
1196
1198
  def method_missing(method, *args, &block)
1197
1199
  case oxm_class
1198
1200
  when OpenFlowBasicValue::OXM_CLASS
1199
- return class_payload.tlv_value.__send__(method, *args, &block)
1201
+ class_payload.tlv_value.__send__(method, *args, &block)
1200
1202
  when ExperimenterValue::OXM_CLASS
1201
- return class_payload.__send__(method, *args, &block)
1203
+ class_payload.__send__(method, *args, &block)
1202
1204
  when PacketRegistersValue::OXM_CLASS
1203
- return class_payload.__send__(method, *args, &block)
1205
+ class_payload.__send__(method, *args, &block)
1204
1206
  else
1205
1207
  raise NoMethodError, method.to_s
1206
1208
  end
@@ -1267,11 +1269,11 @@ module Pio
1267
1269
  def initialize(user_attrs)
1268
1270
  @match_fields = []
1269
1271
 
1270
- [:in_port, :ether_type, :ip_protocol, :vlan_vid, :vlan_pcp,
1271
- :ip_dscp, :ip_ecn, :tcp_source_port, :tcp_destination_port,
1272
- :udp_source_port, :udp_destination_port,
1273
- :sctp_source_port, :sctp_destination_port,
1274
- :icmpv4_type, :icmpv4_code, :arp_operation].each do |each|
1272
+ %i[in_port ether_type ip_protocol vlan_vid vlan_pcp
1273
+ ip_dscp ip_ecn tcp_source_port tcp_destination_port
1274
+ udp_source_port udp_destination_port
1275
+ sctp_source_port sctp_destination_port
1276
+ icmpv4_type icmpv4_code arp_operation].each do |each|
1275
1277
  next unless user_attrs.key?(each)
1276
1278
  klass = Match.const_get(each.to_s.split('_').map(&:capitalize).join)
1277
1279
  @match_fields << { oxm_class: klass.superclass.const_get(:OXM_CLASS),
@@ -1279,13 +1281,13 @@ module Pio
1279
1281
  tlv_value: { each => user_attrs.fetch(each) } } }
1280
1282
  end
1281
1283
 
1282
- [:metadata, :destination_mac_address, :source_mac_address,
1283
- :ipv4_source_address, :ipv4_destination_address,
1284
- :arp_sender_protocol_address, :arp_target_protocol_address,
1285
- :arp_sender_hardware_address, :arp_target_hardware_address,
1286
- :ipv6_source_address, :ipv6_destination_address, :tunnel_id,
1287
- :reg0, :reg1, :reg2, :reg3, :reg4, :reg5, :reg6, :reg7,
1288
- :packet_reg0, :packet_reg1, :packet_reg2, :packet_reg3].each do |each|
1284
+ %i[metadata destination_mac_address source_mac_address
1285
+ ipv4_source_address ipv4_destination_address
1286
+ arp_sender_protocol_address arp_target_protocol_address
1287
+ arp_sender_hardware_address arp_target_hardware_address
1288
+ ipv6_source_address ipv6_destination_address tunnel_id
1289
+ reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7
1290
+ packet_reg0 packet_reg1 packet_reg2 packet_reg3].each do |each|
1289
1291
  next unless user_attrs.key?(each)
1290
1292
  klass = Match.const_get(each.to_s.split('_').map(&:capitalize).join)
1291
1293
  mask_key = "#{each}_mask".to_sym
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
  require 'pio/open_flow/instruction'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/nicira_action'
2
4
 
3
5
  module Pio
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/nicira_action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/nicira_action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -34,9 +36,9 @@ module Pio
34
36
  _destination: { oxm_class: destination_oxm_class,
35
37
  oxm_field: destination_oxm_field,
36
38
  oxm_length: destination_oxm_length } }
37
- options = [:n_bits,
38
- :source_offset,
39
- :destination_offset].each_with_object({}) do |each, opts|
39
+ options = %i[n_bits
40
+ source_offset
41
+ destination_offset].each_with_object({}) do |each, opts|
40
42
  opts[each] = arguments[each] if arguments[each]
41
43
  end
42
44
  super registers.merge(options)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/nicira_action'
2
4
  require 'pio/open_flow13/match'
3
5
  require 'pio/open_flow13/send_out_port'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/nicira_action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/nicira_action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/core_ext/object/try'
2
4
  require 'pio/open_flow'
3
5
  require 'pio/open_flow13/match'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/core_ext/object/try'
2
4
  require 'pio/open_flow'
3
5
  require 'pio/open_flow/buffer_id'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/port'
2
4
 
3
5
  module Pio
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/action'
2
4
  require 'pio/open_flow13/port32'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/action'
2
4
 
3
5
  module Pio
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow/action'
2
4
  require 'pio/open_flow13/match'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/open_flow'
2
4
 
3
5
  module Pio
@@ -6,13 +8,13 @@ module Pio
6
8
  class StatsRequest < OpenFlow::Message
7
9
  # Request type of Stats Request message
8
10
  class StatsType < BinData::Primitive
9
- TYPES = [:description,
10
- :flow,
11
- :aggregate,
12
- :table,
13
- :port,
14
- :queue,
15
- :vendor].freeze
11
+ TYPES = %i[description
12
+ flow
13
+ aggregate
14
+ table
15
+ port
16
+ queue
17
+ vendor].freeze
16
18
 
17
19
  endian :big
18
20
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
  require 'pio/open_flow/action'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Pio
2
4
  # User options utility.
3
5
  class Options
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Pio
2
4
  # Raised when the packet data is in wrong format.
3
5
  class ParseError < StandardError; end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/ethernet_frame'
2
4
  require 'pio/ethernet_header'
3
5
  require 'pio/ipv4_header'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Pio
2
4
  # Get payload fields.
3
5
  module Payload
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bindata'
2
4
 
3
5
  module Pio
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: false
2
+
1
3
  module Pio
2
4
  # defines to_ruby method
3
5
  module RubyDumper
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bindata'
2
4
 
3
5
  module Pio
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bindata'
2
4
  require 'pio/ipv4_address'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bindata'
2
4
  require 'ipaddr'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bindata'
2
4
  require 'pio/mac'
3
5
  require 'pio/monkey_patch/integer'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bindata'
2
4
  require 'pio/ethernet_header'
3
5
  require 'pio/ipv4_header'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pio/payload'
2
4
 
3
5
  module Pio
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Base module.
2
4
  module Pio
3
5
  # gem version.
4
- VERSION = '0.30.1'.freeze
6
+ VERSION = '0.30.2'
5
7
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path('../lib', __FILE__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'pio/version'
@@ -8,24 +10,24 @@ Gem::Specification.new do |gem|
8
10
  gem.summary = 'Packet parser and generator.'
9
11
  gem.description = 'Pure ruby packet parser and generator.'
10
12
 
11
- gem.licenses = %w(GPLv2 MIT)
13
+ gem.licenses = %w[GPLv2 MIT]
12
14
 
13
15
  gem.authors = ['Yasuhito Takamiya']
14
16
  gem.email = ['yasuhito@gmail.com']
15
17
  gem.homepage = 'http://github.com/trema/pio'
16
18
 
17
- gem.files = %w(CONTRIBUTING.md Rakefile pio.gemspec)
19
+ gem.files = %w[CONTRIBUTING.md Rakefile pio.gemspec]
18
20
  gem.files += Dir.glob('lib/**/*.rb')
19
21
  gem.files += Dir.glob('spec/**/*')
20
22
 
21
23
  gem.require_paths = ['lib']
22
24
 
23
- gem.extra_rdoc_files = %w(README.md CHANGELOG.md CONTRIBUTING.md)
25
+ gem.extra_rdoc_files = %w[README.md CHANGELOG.md CONTRIBUTING.md]
24
26
  gem.test_files = Dir.glob('spec/**/*')
25
27
  gem.test_files += Dir.glob('features/**/*')
26
28
 
27
- gem.required_ruby_version = '>= 2.2.2'
29
+ gem.required_ruby_version = '>= 2.3.0'
28
30
 
29
31
  gem.add_dependency 'bindata', '~> 2.1.0'
30
- gem.add_dependency 'activesupport', '~> 5.0.2'
32
+ gem.add_dependency 'activesupport', '~> 5.1.0'
31
33
  end