{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"description": "Schema describing an OpenFlow error message, version 1.0",
	"id": "of10/ofp_error.json",
	"type": "object",
	"required": [
		"header",
		"type",
		"code"
	],
	"properties": {
		"header": {
			"allOf": [
				{
					"$ref": "definitions.json#/ofp_header"
				},
				{
					"properties": {
						"type": {
							"enum": [
								"OFPT_ERROR"
							],
							"default": "OFPT_ERROR"
						}
					}
				}
			]
		},
		"type": {
			"type": "string",
			"enum": [
				"OFPET_HELLO_FAILED",
				"OFPET_BAD_REQUEST",
				"OFPET_BAD_ACTION",
				"OFPET_FLOW_MOD_FAILED",
				"OFPET_PORT_MOD_FAILED",
				"OFPET_QUEUE_OP_FAILED"
			],
			"default": "OFPET_BAD_REQUEST"
		},
		"code": {
			"type": "string",
			"enum": [
				"OFPHFC_INCOMPATIBLE",
				"OFPHFC_EPERM",
				"OFPBRC_BAD_VERSION",
				"OFPBRC_BAD_TYPE",
				"OFPBRC_BAD_STAT",
				"OFPBRC_BAD_VENDOR",
				"OFPBRC_BAD_SUBTYPE",
				"OFPBRC_EPERM",
				"OFPBRC_BAD_LEN",
				"OFPBRC_BUFFER_EMPTY",
				"OFPBRC_BUFFER_UNKNOWN",
				"OFPBAC_BAD_TYPE",
				"OFPBAC_BAD_LEN",
				"OFPBAC_BAD_VENDOR",
				"OFPBAC_BAD_VENDOR_TYPE",
				"OFPBAC_BAD_OUT_PORT",
				"OFPBAC_BAD_ARGUMENT",
				"OFPBAC_EPERM",
				"OFPBAC_TOO_MANY",
				"OFPBAC_BAD_QUEUE",
				"OFPFMFC_ALL_TABLES_FULL",
				"OFPFMFC_OVERLAP",
				"OFPFMFC_EPERM",
				"OFPFMFC_BAD_EMERG_TIMEOUT",
				"OFPFMFC_BAD_COMMAND",
				"OFPFMFC_UNSUPPORTED",
				"OFPPMFC_BAD_PORT",
				"OFPPMFC_BAD_HW_ADDR",
				"OFPQOFC_BAD_PORT",
				"OFPQOFC_BAD_QUEUE",
				"OFPQOFC_EPERM"
			],
			"default": "OFPHFC_INCOMPATIBLE"
		},
		"data": {
			"$ref": "definitions.json#/optional_data"
		}
	}
}