>+static struct nvme_ctrl *nvme_tcp_create_ctrl(struct device *dev,
>+ struct nvmf_ctrl_options *opts)
>+{
>+ struct nvme_tcp_ctrl *ctrl;
>+ int ret;
>+
>+ ctrl = kzalloc(sizeof(*ctrl), GFP_KERNEL);
>+ if (!ctrl)
>+ return ERR_PTR(-ENOMEM);
>+
>+ INIT_LIST_HEAD(&ctrl->list);
>+ ctrl->ctrl.opts = opts;
>+ ctrl->ctrl.queue_count = opts->nr_io_queues + 1; /* +1 for admin queue
>*/
>+ ctrl->ctrl.sqsize = opts->queue_size - 1;
>+ ctrl->ctrl.kato = opts->kato;
>+
>+ INIT_DELAYED_WORK(&ctrl->ctrl.connect_work,
>+ nvme_tcp_reconnect_ctrl_work);
>+ INIT_WORK(&ctrl->ctrl.err_work, nvme_tcp_error_recovery_work);
>+ INIT_WORK(&ctrl->ctrl.reset_work, nvme_reset_ctrl_work);
>+
>+ if (!(opts->mask & NVMF_OPT_TRSVCID)) {
>+ opts->trsvcid =
>+ kstrdup(__stringify(NVME_TCP_DISC_PORT), GFP_KERNEL);
>+ if (!opts->trsvcid) {
>+ ret = -ENOMEM;
>+ goto out_free_ctrl;
>+ }
>+ opts->mask |= NVMF_OPT_TRSVCID;
>+ }
NVME_TCP_DISC_PORT, 8009, should not be the default for nvme fabric connections
when trsvcid is not specified.
NVME_RDMA_IP_PORT, 4420, should be used, or renamed to something more generic.