lib/pio/open_flow13/set_destination_mac_address.rb

Summary

Maintainability
A
1 hr
Test Coverage
# frozen_string_literal: true

require 'pio/open_flow/action'
require 'pio/open_flow13/match'

module Pio
  module OpenFlow13
    # Set a header field.
    class SetDestinationMacAddress < OpenFlow::Action
      action_header action_type: 25, action_length: 16

      uint16 :oxm_class, value: Match::OpenFlowBasicValue::OXM_CLASS
      bit7 :oxm_field, value: Match::DestinationMacAddress::OXM_FIELD
      bit1 :oxm_hasmask, value: 0
      uint8 :oxm_length, value: 6
      mac_address :mac_address
      string :padding, length: 2
      hide :padding

      def initialize(mac_address)
        super mac_address: mac_address
      end
    end
  end
end