$schema: http://json-schema.org/draft-04/schema#
description: Schema describing an OpenFlow meter mod message, version 1.3
id: of13/ofp_meter_mod.json

type: object
required: [header, command, flags, meter_id, bands]
properties:
  header:
    allOf:
      - $ref: definitions.json#/ofp_header
      - properties:
          type:
            enum: [OFPT_METER_MOD]
            default: OFPT_METER_MOD
  command:
    type: string
    default: OFPMC_ADD
    enum:
      - OFPMC_ADD
      - OFPMC_MODIFY
      - OFPMC_DELETE
  flags:
    type: array
    default: [OFPMF_KBPS]
    items:
      type: string
      enum:
        - OFPMF_KBPS
        - OFPMF_PKTPS
        - OFPMF_BURST
        - OFPMF_STATS
  meter_id:
    type: integer
    maximum: 4294967295
    default: 0
  bands:
    type: array
    default:
      - type: OFPMBT_DROP
        len: 0
        rate: 0
        burst_size: 0
    items:
      $ref: definitions.json#/ofp_meter_band_header
