$schema: http://json-schema.org/draft-04/schema#
description: Schema describing an OpenFlow message, version 1.0
id: of10.json

# Top-level OpenFlow message
type: object
required: [ message ]
properties:
  message:
    type: object
    oneOf:
      - $ref: of10/ofp_hello.json
      - $ref: of10/ofp_error.json
      - $ref: of10/ofp_echo_request.json
      - $ref: of10/ofp_echo_reply.json
      - $ref: of10/ofp_vendor.json
      - $ref: of10/ofp_features_request.json
      - $ref: of10/ofp_features_reply.json
      - $ref: of10/ofp_get_config_request.json
      - $ref: of10/ofp_get_config_reply.json
      - $ref: of10/ofp_set_config.json
      - $ref: of10/ofp_packet_in.json
      - $ref: of10/ofp_flow_removed.json
      - $ref: of10/ofp_port_status.json
      - $ref: of10/ofp_packet_out.json
      - $ref: of10/ofp_flow_mod.json
      - $ref: of10/ofp_port_mod.json
      - $ref: of10/ofp_stats_request.json
      - $ref: of10/ofp_stats_reply.json
      - $ref: of10/ofp_barrier_request.json
      - $ref: of10/ofp_barrier_reply.json
      - $ref: of10/ofp_queue_get_config_request.json
      - $ref: of10/ofp_queue_get_config_reply.json
