net/smc: add logic to evaluate CONFIRM_LINK messages to LLC layer
Introduce smc_llc_eval_conf_link() to evaluate the CONFIRM_LINK message contents. This implements this logic at the LLC layer. The function will be used by af_smc.c to process the received LLC layer messages. Signed-off-by: Karsten Graul <kgraul@linux.ibm.com> Reviewed-by: Ursula Braun <ubraun@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
81e6e5e70d
Коммит
92334cfcb3
|
@ -946,6 +946,17 @@ out:
|
|||
return rc;
|
||||
}
|
||||
|
||||
/* evaluate confirm link request or response */
|
||||
int smc_llc_eval_conf_link(struct smc_llc_qentry *qentry,
|
||||
enum smc_llc_reqresp type)
|
||||
{
|
||||
if (type == SMC_LLC_REQ) /* SMC server assigns link_id */
|
||||
qentry->link->link_id = qentry->msg.confirm_link.link_num;
|
||||
if (!(qentry->msg.raw.hdr.flags & SMC_LLC_FLAG_NO_RMBE_EYEC))
|
||||
return -ENOTSUPP;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/***************************** init, exit, misc ******************************/
|
||||
|
||||
static struct smc_wr_rx_handler smc_llc_rx_handlers[] = {
|
||||
|
|
|
@ -66,6 +66,8 @@ int smc_llc_do_delete_rkey(struct smc_link *link,
|
|||
int smc_llc_flow_initiate(struct smc_link_group *lgr,
|
||||
enum smc_llc_flowtype type);
|
||||
void smc_llc_flow_stop(struct smc_link_group *lgr, struct smc_llc_flow *flow);
|
||||
int smc_llc_eval_conf_link(struct smc_llc_qentry *qentry,
|
||||
enum smc_llc_reqresp type);
|
||||
struct smc_llc_qentry *smc_llc_wait(struct smc_link_group *lgr,
|
||||
struct smc_link *lnk,
|
||||
int time_out, u8 exp_msg);
|
||||
|
|
Загрузка…
Ссылка в новой задаче