Sha256: d60df1a942a608da0a61fe1ab6e3275cafa6d1cfe1e4e456479d7e6886c8fe13

Contents?: true

Size: 1.47 KB

Versions: 4

Compression:

Stored size: 1.47 KB

Contents

require 'pio/open_flow'

# Base module.
module Pio
  # OpenFlow 1.3 messages
  module OpenFlow13
    # OpenFlow 1.3 Features Request and Reply message.
    class Features
      # OpenFlow 1.3 Features Reply message.
      class Reply < OpenFlow::Message
        # OpenFlow 1.3 Features Reply message body.
        class Body < BinData::Record
          extend OpenFlow::Flags

          flags_32bit(:capabilities,
                      [:flow_stats,
                       :table_stats,
                       :port_stats,
                       :group_stats,
                       :NOT_USED,
                       :ip_reasm,
                       :queue_stats,
                       :NOT_USED,
                       :port_blocked])

          endian :big

          datapath_id :datapath_id
          uint32 :n_buffers
          uint8 :n_tables
          uint8 :auxiliary_id
          uint16 :padding
          hide :padding
          capabilities :capabilities
          uint32 :reserved

          def length
            24
          end
        end

        # OpenFlow 1.3 Features Reply message format.
        class Format < BinData::Record
          extend OpenFlow::Format

          header version: 4, message_type: 6
          body :body

          def dpid
            datapath_id
          end
        end

        body_option :dpid
        body_option :datapath_id
        body_option :n_buffers
        body_option :n_tables
        body_option :capabilities
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pio-0.25.0 lib/pio/open_flow13/features_reply.rb
pio-0.24.2 lib/pio/open_flow13/features_reply.rb
pio-0.24.1 lib/pio/open_flow13/features_reply.rb
pio-0.24.0 lib/pio/open_flow13/features_reply.rb