On Thu, May 17, 2018 at 11:18:28AM +0530, Raju Rangoju wrote: > > + /* The support for new kernel mode SRQ extends the t4_cqe struct > + * size to 64 Bytes from existing 32 Bytes. But, this change brings > + * in the library/kernel ABI and 32/64 Byte CQE compatibility issues. > + * > + * To address these issues, the user <-> kernel response message > + * c4iw_create_cq_resp's 'reserved' field has been renamed to 'flags'. > + * > + * Newer version of libcxgb4 can pre-initialize the 'flags' field in > + * the request struct with the flag C4IW_64B_CQE. And a new iw_cxgb4 > + * can detect the new libcxgb4 by checking for the C4IW_64B_CQE flag > + * in the structure c4iw_create_cq received from userspace. > + * New kernel driver can not work with older userspace library, > + * c4iw_create_cq() will log a warning message to upgrade libcxgb4 and > + * aborts the cq creation in this case. > + * > + * Likewise, new iw_cxgb4 which supports 64B CQE will set the flag > + * C4IW_64B_CQE in c4iw_create_cq_resp struct. So, if the response > + * from the create_cq verb results in the flags field still being zero, > + * libcxgb4 can destroy the cq and print a warning and fail the user > + * create cq verb. > + */ > + > + if (ib_context && udata->inlen < sizeof(ucmd)) { > + pr_err_once("WARNING: Downlevel libcxgb4. RDMA cannot be supported with this driver/lib combination. Please update libcxgb4.\n"); > + return ERR_PTR(-EINVAL); > + } Nope, hard NAK on this idea. The driver must continue to support current user space with full compatibility. And user space must generally support all past kernels as well. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html