[PATCH v4 7/7] nvme: support rdma transport type

Yi Zhang yi.zhang at redhat.com
Fri Aug 14 06:49:02 EDT 2020



On 8/14/20 2:18 PM, Sagi Grimberg wrote:
> Signed-off-by: Sagi Grimberg <sagi at grimberg.me>
> ---
>   tests/nvme/rc | 15 +++++++++++++++
>   1 file changed, 15 insertions(+)
>
> diff --git a/tests/nvme/rc b/tests/nvme/rc
> index 3e97801bbb30..675acbfa7012 100644
> --- a/tests/nvme/rc
> +++ b/tests/nvme/rc
> @@ -5,6 +5,7 @@
>   # Test specific to NVMe devices
>   
>   . common/rc
> +. common/multipath-over-rdma
>   
>   def_traddr="127.0.0.1"
>   def_adrfam="ipv4"
> @@ -25,6 +26,12 @@ _nvme_requires() {
>   		_have_modules nvmet nvme-core nvme-tcp nvmet-tcp
>   		_have_configfs
>   		;;
> +	rdma)
> +		_have_modules nvmet nvme-core nvme-rdma nvmet-rdma
> +		_have_configfs
> +		_have_program rdma
> +		_have_modules rdma_rxe siw

start_soft_rdma can use siw or rdma_rxe(default one) module, but some 
old distros may not support siw, but suppor rdma_rxe.
how about:
_have_modules rdma_rxe || _have_modules siw
> +		;;
>   	*)
>   		SKIP_REASON="unsupported nvme_trtype=${nvme_trtype}"
>   		return 1
> @@ -115,6 +122,9 @@ _cleanup_nvmet() {
>   		modprobe -r nvmet-${nvme_trtype} 2>/dev/null
>   	fi
>   	modprobe -r nvmet 2>/dev/null
> +	if [[ "${nvme_trtype}" == "rdma" ]]; then
> +		stop_soft_rdma
> +	fi
>   }
>   
>   _setup_nvmet() {
> @@ -124,6 +134,11 @@ _setup_nvmet() {
>   		modprobe nvmet-${nvme_trtype}
>   	fi
>   	modprobe nvme-${nvme_trtype}
> +	if [[ "${nvme_trtype}" == "rdma" ]]; then
> +		start_soft_rdma
> +		rdma_intfs=$(rdma_network_interfaces)
> +		def_traddr=$(get_ipv4_addr ${rdma_intfs[0]})
> +	fi
>   }
>   
>   _nvme_disconnect_ctrl() {




More information about the Linux-nvme mailing list