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

type: object
required:
  - header
  - datapath_id
  - n_buffers
  - n_tables
  - capabilities
  - actions
properties:
  header:
    allOf:
      - $ref: definitions.json#/ofp_header
      - properties:
          type:
            enum: [OFPT_FEATURES_REPLY]
            default: OFPT_FEATURES_REPLY
  datapath_id:
    type: string
    pattern: ^[a-fA-F0-9]{16}$
    default: '0000000000000000'
  n_buffers:
    type: integer
    minimum: 0
    maximum: 4294967295
    default: 0
  n_tables:
    type: integer
    minimum: 0
    maximum: 255
    default: 0
  actions:
    type: array
    uniqueItems: true
    default: [OFPAT_OUTPUT]
    items:
      $ref: definitions.json#/ofp_action_type
  capabilities:
    type: array
    uniqueItems: true
    default: [OFPC_FLOW_STATS]
    items:
      $ref: definitions.json#/ofp_capabilities
  ports:
    type: array
    items:
      $ref: definitions.json#/ofp_phy_port
