Spdk/include/spdk
Madhu Adav MJ fce9428772 nvmf: Async event support for discovery log change
Added asynchronous event notices for discovery log change
as per nvme fabrics spec 1.1. This allows a host with persistent
connection to discovery controller to automatically connect to any
new subsystem available to the host automatically.

According to nvme fabrics spec 1.1, if the connect command specifies a
non-zero keep alive timer value and the discovery controller does not
support asynchronous events then we need to return Connect Invalid.
Since SPDK does not implement this check instead added support
for asynchronous events in discovery controller.

Change-Id: I4cade5f7d24826ce97a2fa2b4ca688a1d728c1db
Signed-off-by: Madhu Adav MJ <madhu.adav@flipkart.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4870
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Anil Veerabhadrappa <anil.veerabhadrappa@broadcom.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Broadcom CI
2020-11-11 00:53:57 +00:00
..
accel_engine.h accel: Move non-engine specific batch to the accel_fw layer 2020-10-22 22:43:28 +00:00
assert.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
barrier.h barrier: cleanup the file 2019-03-15 19:32:55 +00:00
base64.h util/base64: Extend b64 decode to calculate exact len 2020-02-03 11:39:49 +00:00
bdev_module.h bdev_module: remove config_text 2020-10-21 02:25:45 +00:00
bdev_zone.h bdev/zone: scattered zone append 2020-02-20 09:53:03 +00:00
bdev.h bdev_module: remove config_text 2020-10-21 02:25:45 +00:00
bit_array.h util: added bit array bitmask load, store and clear 2018-12-14 15:34:53 +00:00
bit_pool.h util: add spdk_bit_pool 2020-09-15 07:12:44 +00:00
blob_bdev.h blob/bdev: Add an API spdk_bdev_create_bs_dev_ext() 2020-10-20 08:52:29 +00:00
blob.h blob/bdev: Add function pointer get_base_bdev to struct spdk_bs_dev 2020-10-20 08:52:29 +00:00
blobfs_bdev.h blobfs/fuse: put FUSE code in module blobfs_bdev 2019-10-15 16:25:09 +00:00
blobfs.h blobfs: add result for set_cache_size 2019-11-07 00:33:25 +00:00
conf.h lib/conf: allow multiple sections with same name 2020-07-22 12:24:08 +00:00
cpuset.h cpuset: Expose internal of struct spdk_cpuset in header file 2019-07-04 00:30:22 +00:00
crc16.h util/crc16: Add spdk_crc16_t10dif_copy to use in read strip and write insert 2018-12-20 17:52:29 +00:00
crc32.h lib/util: move some crc32 functions to internal header 2020-05-14 10:37:14 +00:00
dif.h dif: Add spdk_dix_remap_ref_tag to remap ref. tag for separate metadata payload 2019-07-11 11:14:22 +00:00
endian.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
env_dpdk.h env: add a new function for printing memory layout 2019-12-13 11:05:57 +00:00
env.h env: update description for enumerate function 2020-11-02 11:19:43 +00:00
event.h event: deprecate opts.config_file member 2020-10-26 22:25:47 +00:00
fd_group.h interrupt: new fd_group in lib/util 2020-10-23 16:23:48 +00:00
fd.h include/fd.h: add comments for pubclic APIs 2018-01-04 12:12:10 -05:00
file.h util: add a new file operation API 2019-05-15 18:54:27 +00:00
ftl.h lib/ftl: Create l2p on l2p_path file if set in config 2020-03-06 10:28:21 +00:00
gpt_spec.h bdev/gpt: dump partition name 2017-07-12 18:12:52 -04:00
histogram_data.h histograms: add function to merge histograms 2018-11-15 23:03:26 +00:00
idxd.h accel: add API to cancel a batch sequence 2020-07-27 22:43:40 +00:00
ioat_spec.h ioat_spec: fix gcc9 warning 2019-06-17 14:09:03 +00:00
ioat.h lib/ioat: add mew API to get the max # of descriptors supported 2020-07-23 22:26:39 +00:00
iscsi_spec.h iscsi: fix layout of logout request reason field 2017-09-22 16:11:11 -04:00
json.h json: add spdk_json_free_object() 2020-10-19 10:02:10 +00:00
jsonrpc.h jsonrpc: always allocate response for request 2019-07-19 20:56:54 +00:00
likely.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
log.h lib/log: do not use spdk_log_get_flag() in macro for log flags 2020-10-16 08:14:59 +00:00
lvol.h lvol: ensure enum for lvol clear method is the same as blobstore 2019-02-28 20:50:27 +00:00
memory.h memory.h: move to public headers 2020-03-19 08:50:45 +00:00
mmio.h mmio: add functions for 1 and 2 byte I/O accesses 2017-10-13 10:46:00 -04:00
nbd.h nbd: Remove unused spdk_event forward declaration 2019-04-23 20:22:55 +00:00
net.h net: Remove the net_framework subsystem 2020-09-25 11:30:09 +00:00
notify.h lib/notify: rename spdk_notify_get_events to spdk_notify_foreach_event 2019-05-07 06:11:27 +00:00
nvme_intel.h nvme: pad struct spdk_nvme_intel_marketing_description_page 2019-06-05 02:46:50 +00:00
nvme_ocssd_spec.h ocssd: add chunk notification log struct 2018-09-27 01:30:45 +00:00
nvme_ocssd.h ocssd: add chunk notification log struct 2018-09-27 01:30:45 +00:00
nvme_spec.h nvmf: Async event support for discovery log change 2020-11-11 00:53:57 +00:00
nvme_zns.h nvme: add support for ZNS zone management receive command 2020-10-21 12:18:44 +00:00
nvme.h nvme: continue probing ctrlrs even if one fails 2020-10-29 08:11:17 +00:00
nvmf_cmd.h lib/nvmf: Support custom admin cmd handler for abort 2020-07-24 07:25:47 +00:00
nvmf_fc_spec.h nvme: define SPDK_NVME_NQN_FIELD_SIZE 2019-12-23 08:44:10 +00:00
nvmf_spec.h nvmf: remove min number of admin queue entries from spec file 2020-03-12 09:04:18 +00:00
nvmf_transport.h nvmf: let transports parse transport opts from JSON themselves 2020-10-19 09:55:05 +00:00
nvmf.h nvmf: let transports parse transport opts from JSON themselves 2020-10-19 09:55:05 +00:00
opal_spec.h nvme/opal: use static locking ranges table 2020-03-25 07:52:28 +00:00
opal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
pci_ids.h env: add spdk_pci_id->class_id 2020-07-23 20:48:47 +00:00
pipe.h pipe: Add a utility for buffering data from sockets 2019-11-20 09:35:32 +00:00
queue_extras.h queue_extras: use SPDK_CONTAINEROF 2019-10-07 15:06:01 +00:00
queue.h queue: redefine TAILQ_REMOVE for scan-build 2019-07-26 19:28:31 +00:00
reduce.h lib/reduce: change and move the max IOVEC define for reduce 2019-07-29 04:36:59 +00:00
rpc.h rpc: add spdk_rpc_verify_methods() 2019-11-06 15:19:48 +00:00
scsi_spec.h scsi: fix SCSI reservation typos 2019-05-30 21:42:36 +00:00
scsi.h scsi: add bdev resize callback support 2020-09-28 08:33:18 +00:00
sock.h sock: Add new API to set default sock implementation 2020-10-05 08:22:53 +00:00
stdinc.h env: Check supported iommu address width before using iova-mode=va 2019-11-27 07:08:32 +00:00
string.h string: spdk_strtol to delegate additional error checking 2019-01-29 00:10:57 +00:00
thread.h interrupt: apply fd_group in thd and reactor 2020-10-23 16:23:48 +00:00
trace.h trace: shorten max name from 44 to 24 characters 2019-05-02 08:41:56 +00:00
util.h lib/util: Add spdk_sn32_lt/gt() to compare two numbers based on serial number arithmetic 2020-03-19 08:51:31 +00:00
uuid.h util/uuid: add a new uuid copy API. 2018-12-06 22:25:09 +00:00
version.h version: SPDK 21.01 pre 2020-10-23 23:21:14 +00:00
vhost.h lib/vhost: Remove and inline spdk_vhost_blk_get_dev 2020-06-08 09:28:27 +00:00
vmd.h lib/vmd: detach devices during shutdown 2020-02-04 16:50:25 +00:00