{ "$id": "traffic-common", "type": "object", "definitions": { "fragmentOptionEntry": { "type": "string", "enum": [ "first", "last", "all" ] }, "numericRangeOperator": { "oneOf": [ { "type": [ "string", "null" ] }, { "type": "object", "properties": { "oneOf": { "type": "array", "items": { "type": "string" }, "minLength": 1 } }, "required": [ "oneOf" ] }, { "type": "object", "properties": { "not": { "type": "array", "items": { "type": "string" }, "minLength": 1 } }, "required": [ "not" ] }, { "type": "object", "properties": { "range": { "type": "array", "items": { "type": "string" }, "minLength": 2, "maxLength": 2 } }, "required": [ "range" ] }, { "type": "object", "properties": { "lessThan": { "type": "string" } }, "required": [ "lessThan" ] }, { "type": "object", "properties": { "greaterThan": { "type": "string" } }, "required": [ "greaterThan" ] } ] } }, "properties": { "protocol": { "type": [ "null", "integer" ] }, "timeout": { "type": "integer", "minimum": 0, "description": "seconds" }, "ttl": { "$ref": "#/definitions/numericRangeOperator" }, "dscp": { "type": "integer", "minimum": 0, "maximum": 63 }, "tos": { "type": "object", "properties": { "precedence": { "type": "integer", "minimum": 0, "maximum": 7 }, "lowDelay": { "type": "boolean" }, "highThroughput": { "type": "boolean" }, "highReliability": { "type": "boolean" }, "minimizeCost": { "type": "boolean" } } }, "fragmentOptions": { "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "include": { "$ref": "#/definitions/fragmentOptionEntry" } }, "required": [ "include" ] }, { "type": "object", "properties": { "exclude": { "$ref": "#/definitions/fragmentOptionEntry" } }, "required": [ "exclude" ] } ] } } }, "required": [ "protocol" ] }