class Pio::OpenFlow13::Match::Oxm::PacketRegisters

Packet Register match field.

Public Instance Methods

length() click to toggle source
# File lib/pio/open_flow13/match.rb, line 1136
def length
  tlv_value.length + 2
end
masked?() click to toggle source
# File lib/pio/open_flow13/match.rb, line 1140
def masked?
  oxm_hasmask == 1
end
method_missing(method, *args, &block) click to toggle source
# File lib/pio/open_flow13/match.rb, line 1144
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 CyclomaticComplexity rubocop:disable MethodLength

# File lib/pio/open_flow13/match.rb, line 1152
def choose_tlv_value
  case oxm_field
  when PacketReg0::OXM_FIELD
    masked? ? MaskedPacketReg0 : PacketReg0
  when PacketReg1::OXM_FIELD
    masked? ? MaskedPacketReg1 : PacketReg1
  when PacketReg2::OXM_FIELD
    masked? ? MaskedPacketReg2 : PacketReg2
  when PacketReg3::OXM_FIELD
    masked? ? MaskedPacketReg3 : PacketReg3
  else
    raise "Unknown OXM field value: #{oxm_field}"
  end
end