Class: OpenFlow::Protocol::Match

Inherits:
BinData::Record
  • Object
show all
Defined in:
lib/openflow-protocol/structs/match.rb

Defined Under Namespace

Classes: Wildcards

Class Method Summary collapse

Class Method Details

.create(options = {}) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
# File 'lib/openflow-protocol/structs/match.rb', line 66

def self.create(options = {})
  unless options[:wildcards]
    options[:wildcards] = {}
    %i(in_port vlan_id mac_source mac_destination mac_protocol ip_protocol source_port destination_port ip_source ip_destination vlan_pcp ip_tos).each do |flag|
      wild_flag = flag
      wild_flag = "#{flag}_all".to_sym if %i(ip_source ip_destination).include? flag
      options[:wildcards][wild_flag] = true unless options[flag]
    end
  end
  self.new options
end