class Pio::OpenFlow13::NiciraRegLoad

NXAST_REG_LOAD action

Attributes

destination[R]

Public Class Methods

new(value, destination, options = {}) click to toggle source
Calls superclass method Pio::OpenFlow::Action::new
# File lib/pio/open_flow13/nicira_reg_load.rb, line 23
def initialize(value, destination, options = {})
  @destination = destination
  super(_value: value,
        _offset: options[:offset] || 0,
        _n_bits: (options[:n_bits] || oxm_length * 8) - 1,
        _destination: { oxm_class: oxm_class,
                        oxm_field: oxm_field,
                        oxm_length: oxm_length })
end

Public Instance Methods

n_bits() click to toggle source
# File lib/pio/open_flow13/nicira_reg_load.rb, line 39
def n_bits
  _n_bits + 1
end
offset() click to toggle source
# File lib/pio/open_flow13/nicira_reg_load.rb, line 35
def offset
  _offset
end
value() click to toggle source
# File lib/pio/open_flow13/nicira_reg_load.rb, line 43
def value
  _value
end

Private Instance Methods

destination_oxm_class() click to toggle source
# File lib/pio/open_flow13/nicira_reg_load.rb, line 61
def destination_oxm_class
  Match.const_get(@destination.to_s.split('_').map(&:capitalize).join)
end
oxm_class() click to toggle source
# File lib/pio/open_flow13/nicira_reg_load.rb, line 49
def oxm_class
  destination_oxm_class.const_get(:OXM_CLASS)
end
oxm_field() click to toggle source
# File lib/pio/open_flow13/nicira_reg_load.rb, line 53
def oxm_field
  destination_oxm_class.const_get(:OXM_FIELD)
end
oxm_length() click to toggle source
# File lib/pio/open_flow13/nicira_reg_load.rb, line 57
def oxm_length
  destination_oxm_class.new.length
end