class Pio::OpenFlow13::Match::Oxm::NiciraMatchExtension

Nicira match extension

Public Instance Methods

length() click to toggle source
# File lib/pio/open_flow13/match.rb, line 913
def length
  tlv_value.length + 2
end
masked?() click to toggle source
# File lib/pio/open_flow13/match.rb, line 917
def masked?
  oxm_hasmask == 1
end
method_missing(method, *args, &block) click to toggle source
# File lib/pio/open_flow13/match.rb, line 921
def method_missing(method, *args, &block)
  tlv_value.__send__ method, *args, &block
end

Private Instance Methods

choose_tlv_value() click to toggle source

rubocop:disable AbcSize rubocop:disable CyclomaticComplexity rubocop:disable PerceivedComplexity rubocop:disable MethodLength

# File lib/pio/open_flow13/match.rb, line 931
def choose_tlv_value
  case oxm_field
  when Reg0::OXM_FIELD
    masked? ? MaskedReg0 : Reg0
  when Reg1::OXM_FIELD
    masked? ? MaskedReg1 : Reg1
  when Reg2::OXM_FIELD
    masked? ? MaskedReg2 : Reg2
  when Reg3::OXM_FIELD
    masked? ? MaskedReg3 : Reg3
  when Reg4::OXM_FIELD
    masked? ? MaskedReg4 : Reg4
  when Reg5::OXM_FIELD
    masked? ? MaskedReg5 : Reg5
  when Reg6::OXM_FIELD
    masked? ? MaskedReg6 : Reg6
  when Reg7::OXM_FIELD
    masked? ? MaskedReg7 : Reg7
  else
    raise "Unknown OXM field value: #{oxm_field}"
  end
end