193 lines
4.5 KiB
JSON
193 lines
4.5 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://github.com/linux-nvme/libnvme/doc/config-schema.json",
|
|
"title": "config.json",
|
|
"description": "libnvme JSON configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"hosts": {
|
|
"description": "Array of NVMe Host properties",
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/host" }
|
|
}
|
|
},
|
|
"$defs": {
|
|
"host": {
|
|
"description": "NVMe Host properties",
|
|
"type": "object",
|
|
"properties": {
|
|
"hostnqn": {
|
|
"description": "NVMe host NQN",
|
|
"type": "string",
|
|
"maxLength": 223
|
|
},
|
|
"hostid": {
|
|
"description": "NVMe host ID",
|
|
"type": "string"
|
|
},
|
|
"dhchap_key": {
|
|
"description": "Host DH-HMAC-CHAP key",
|
|
"type": "string"
|
|
},
|
|
"hostsymname": {
|
|
"description": "NVMe host symbolic name",
|
|
"type": "string"
|
|
},
|
|
"persistent_discovery_ctrl": {
|
|
"description": "Enable/disable Persistent Discovery Controller",
|
|
"type": "boolean"
|
|
},
|
|
"required": [ "hostnqn" ],
|
|
"subsystems": {
|
|
"description": "Array of NVMe subsystem properties",
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/subsystem" }
|
|
}
|
|
}
|
|
},
|
|
"subsystem": {
|
|
"description": "NVMe subsystem properties",
|
|
"type": "object",
|
|
"properties": {
|
|
"nqn": {
|
|
"description": "Subsystem NQN",
|
|
"type": "string",
|
|
"maxLength": 223
|
|
},
|
|
"ports": {
|
|
"description": "Array of NVMe subsystem ports",
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/port" }
|
|
},
|
|
"application": {
|
|
"description": "Program managing this subsystem",
|
|
"type": "string"
|
|
},
|
|
"required": [ "nqn" ]
|
|
}
|
|
},
|
|
"port": {
|
|
"description": "NVMe subsystem port",
|
|
"type": "object",
|
|
"properties": {
|
|
"transport": {
|
|
"description": "Transport type",
|
|
"type": "string"
|
|
},
|
|
"traddr": {
|
|
"description": "Transport address",
|
|
"type": "string"
|
|
},
|
|
"host_traddr": {
|
|
"description": "Host transport address",
|
|
"type": "string"
|
|
},
|
|
"host_iface": {
|
|
"description": "Host interface name",
|
|
"type": "string"
|
|
},
|
|
"trsvcid": {
|
|
"description": "Transport service identifier",
|
|
"type": "string"
|
|
},
|
|
"dhchap_key": {
|
|
"description": "Host DH-HMAC-CHAP key",
|
|
"type": "string"
|
|
},
|
|
"dhchap_ctrl_key": {
|
|
"description": "Controller DH-HMAC-CHAP key",
|
|
"type": "string"
|
|
},
|
|
"keyring": {
|
|
"description": "Keyring for TLS key lookup",
|
|
"type": "string"
|
|
},
|
|
"tls_key_identity": {
|
|
"description": "PSK identity for the TLS PSK (tls_key)",
|
|
"type": "string"
|
|
},
|
|
"tls_key": {
|
|
"description": "TLS PSK in PSK interchange format",
|
|
"type": "string"
|
|
},
|
|
"nr_io_queues": {
|
|
"description": "Number of I/O queues",
|
|
"type": "integer"
|
|
},
|
|
"nr_write_queues": {
|
|
"description": "Number of write queues",
|
|
"type": "integer"
|
|
},
|
|
"nr_poll_queues": {
|
|
"description": "Number of poll queues",
|
|
"type": "integer"
|
|
},
|
|
"queue_size": {
|
|
"description": "Queue size",
|
|
"type": "integer"
|
|
},
|
|
"keep_alive_tmo": {
|
|
"description": "Keep-Alive timeout (in seconds)",
|
|
"type": "integer"
|
|
},
|
|
"reconnect_delay": {
|
|
"description": "Reconnect delay (in seconds)",
|
|
"type": "integer"
|
|
},
|
|
"ctrl_loss_tmo": {
|
|
"description": "Controller loss timeout (in seconds)",
|
|
"type": "integer"
|
|
},
|
|
"fast_io_fail_tmo": {
|
|
"description": "Fast I/O Fail timeout (in seconds)",
|
|
"type": "integer",
|
|
"default": 600
|
|
},
|
|
"tos": {
|
|
"description": "Type of service",
|
|
"type": "integer",
|
|
"default": -1
|
|
},
|
|
"duplicate_connect": {
|
|
"description": "Allow duplicate connections",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"disable_sqflow": {
|
|
"description": "Explicitly disable SQ flow control",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"hdr_digest": {
|
|
"description": "Enable header digest",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"data_digest": {
|
|
"description": "Enable data digest",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"tls": {
|
|
"description": "Enable TLS encryption",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"concat": {
|
|
"description": "Enable secure concatenation",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"persistent": {
|
|
"description": "Create persistent discovery connection",
|
|
"type": "boolean"
|
|
},
|
|
"discovery": {
|
|
"description": "Connect to a discovery controller",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [ "transport" ]
|
|
}
|
|
}
|
|
}
|