{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"description": "Schema describing an OpenFlow hello message, version 1.3",
	"id": "of13/ofp_hello.json",
	"type": "object",
	"required": [
		"header"
	],
	"properties": {
		"header": {
			"allOf": [
				{
					"$ref": "definitions.json#/ofp_header"
				},
				{
					"properties": {
						"type": {
							"enum": [
								"OFPT_HELLO"
							],
							"default": "OFPT_HELLO"
						}
					}
				}
			]
		},
		"elements": {
			"description": "Set of variable size hello elements",
			"type": "array",
			"items": {
				"type": "object",
				"required": [
					"type",
					"length"
				],
				"properties": {
					"type": {
						"type": "string",
						"pattern": "^OFPHET_[A-Z0-9_]+$"
					},
					"length": {
						"type": "integer",
						"minimum": 4,
						"maximum": 65535,
						"default": 4
					},
					"bitmaps": {
						"type": "array",
						"uniqueItems": true,
						"items": {
							"type": "string",
							"pattern": "^[0-9](\\.[0-9])+$"
						}
					}
				}
			}
		}
	}
}