spdk_nvmf_transport_ops Struct Reference
Collaboration diagram for spdk_nvmf_transport_ops:

Data Fields

char name [SPDK_NVMF_TRSTRING_MAX_LEN]
 Transport name.
 
enum spdk_nvme_transport_type type
 Transport type.
 
void(* opts_init )(struct spdk_nvmf_transport_opts *opts)
 Initialize transport options to default value.
 
struct spdk_nvmf_transport *(* create )(struct spdk_nvmf_transport_opts *opts)
 Create a transport for the given transport opts.
 
int(* destroy )(struct spdk_nvmf_transport *transport)
 Destroy the transport.
 
int(* listen )(struct spdk_nvmf_transport *transport, const struct spdk_nvme_transport_id *trid)
 Instruct the transport to accept new connections at the address provided. More...
 
void(* stop_listen )(struct spdk_nvmf_transport *transport, const struct spdk_nvme_transport_id *trid)
 Stop accepting new connections at the given address.
 
int(* listen_associate )(struct spdk_nvmf_transport *transport, const struct spdk_nvmf_subsystem *subsystem, const struct spdk_nvme_transport_id *trid)
 A listener has been associated with a subsystem with the given NQN. More...
 
uint32_t(* accept )(struct spdk_nvmf_transport *transport)
 Check for new connections on the transport.
 
void(* cdata_init )(struct spdk_nvmf_transport *transport, struct spdk_nvmf_subsystem *subsystem, struct spdk_nvmf_ctrlr_data *cdata)
 Initialize subset of identify controller data.
 
void(* listener_discover )(struct spdk_nvmf_transport *transport, struct spdk_nvme_transport_id *trid, struct spdk_nvmf_discovery_log_page_entry *entry)
 Fill out a discovery log entry for a specific listen address.
 
struct spdk_nvmf_transport_poll_group *(* poll_group_create )(struct spdk_nvmf_transport *transport)
 Create a new poll group.
 
struct spdk_nvmf_transport_poll_group *(* get_optimal_poll_group )(struct spdk_nvmf_qpair *qpair)
 Get the polling group of the queue pair optimal for the specific transport.
 
void(* poll_group_destroy )(struct spdk_nvmf_transport_poll_group *group)
 Destroy a poll group.
 
int(* poll_group_add )(struct spdk_nvmf_transport_poll_group *group, struct spdk_nvmf_qpair *qpair)
 Add a qpair to a poll group.
 
int(* poll_group_remove )(struct spdk_nvmf_transport_poll_group *group, struct spdk_nvmf_qpair *qpair)
 Remove a qpair from a poll group.
 
int(* poll_group_poll )(struct spdk_nvmf_transport_poll_group *group)
 Poll the group to process I/O.
 
int(* req_free )(struct spdk_nvmf_request *req)
 
int(* req_complete )(struct spdk_nvmf_request *req)
 
void(* qpair_fini )(struct spdk_nvmf_qpair *qpair)
 
int(* qpair_get_peer_trid )(struct spdk_nvmf_qpair *qpair, struct spdk_nvme_transport_id *trid)
 
int(* qpair_get_local_trid )(struct spdk_nvmf_qpair *qpair, struct spdk_nvme_transport_id *trid)
 
int(* qpair_get_listen_trid )(struct spdk_nvmf_qpair *qpair, struct spdk_nvme_transport_id *trid)
 
void(* qpair_abort_request )(struct spdk_nvmf_qpair *qpair, struct spdk_nvmf_request *req)
 
int(* poll_group_get_stat )(struct spdk_nvmf_tgt *tgt, struct spdk_nvmf_transport_poll_group_stat **stat)
 
void(* poll_group_free_stat )(struct spdk_nvmf_transport_poll_group_stat *stat)
 

Field Documentation

◆ listen

int(* spdk_nvmf_transport_ops::listen) (struct spdk_nvmf_transport *transport, const struct spdk_nvme_transport_id *trid)

Instruct the transport to accept new connections at the address provided.

This may be called multiple times.

◆ listen_associate

int(* spdk_nvmf_transport_ops::listen_associate) (struct spdk_nvmf_transport *transport, const struct spdk_nvmf_subsystem *subsystem, const struct spdk_nvme_transport_id *trid)

A listener has been associated with a subsystem with the given NQN.

This is only a notification. Most transports will not need to take any action here, as the enforcement of the association is done in the generic code.

Returns a negated errno code to block the association. 0 to allow.


The documentation for this struct was generated from the following file: