All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lu <tonylu@linux.alibaba.com>
To: Wenjia Zhang <wenjia@linux.ibm.com>
Cc: David Miller <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	netdev@vger.kernel.org, linux-s390@vger.kernel.org,
	Eric Dumazet <edumazet@google.com>,
	Paolo Abeni <pabeni@redhat.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Karsten Graul <kgraul@linux.ibm.com>,
	Alexandra Winter <wintera@linux.ibm.com>,
	Jan Karcher <jaka@linux.ibm.com>,
	Stefan Raspl <raspl@linux.ibm.com>
Subject: Re: [PATCH net-next 1/2] net/smc: Introduce explicit check for v2 support
Date: Mon, 13 Mar 2023 19:19:04 +0800	[thread overview]
Message-ID: <ZA8GqKJ1v2Ns4030@TONYMAC-ALIBABA.local> (raw)
In-Reply-To: <20230313101032.13180-2-wenjia@linux.ibm.com>

On Mon, Mar 13, 2023 at 11:10:31AM +0100, Wenjia Zhang wrote:
> From: Stefan Raspl <raspl@linux.ibm.com>
> 
> Previously, v2 support was derived from a very specific format of the SEID
> as part of the SMC-D codebase. Make this part of the SMC-D device API, so
> implementers do not need to adhere to a specific SEID format.
> 
> Signed-off-by: Stefan Raspl <raspl@linux.ibm.com>
> Reviewed-and-tested-by: Jan Karcher <jaka@linux.ibm.com>
> Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
> Signed-off-by: Wenjia Zhang <wenjia@linux.ibm.com>

This solved my doubts about the magic number, and helps the extensions
of SMC-D. Thank you.

Reviewed-by: Tony Lu <tonylu@linux.alibaba.com>

> ---
>  drivers/s390/net/ism_drv.c | 7 +++++++
>  include/net/smc.h          | 1 +
>  net/smc/smc_ism.c          | 2 +-
>  3 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/s390/net/ism_drv.c b/drivers/s390/net/ism_drv.c
> index eb7e13486087..1c73d32966f1 100644
> --- a/drivers/s390/net/ism_drv.c
> +++ b/drivers/s390/net/ism_drv.c
> @@ -842,6 +842,12 @@ static int smcd_move(struct smcd_dev *smcd, u64 dmb_tok, unsigned int idx,
>  	return ism_move(smcd->priv, dmb_tok, idx, sf, offset, data, size);
>  }
>  
> +static int smcd_supports_v2(void)
> +{
> +	return SYSTEM_EID.serial_number[0] != '0' ||
> +		SYSTEM_EID.type[0] != '0';
> +}
> +
>  static u64 smcd_get_local_gid(struct smcd_dev *smcd)
>  {
>  	return ism_get_local_gid(smcd->priv);
> @@ -869,6 +875,7 @@ static const struct smcd_ops ism_ops = {
>  	.reset_vlan_required = smcd_reset_vlan_required,
>  	.signal_event = smcd_signal_ieq,
>  	.move_data = smcd_move,
> +	.supports_v2 = smcd_supports_v2,
>  	.get_system_eid = ism_get_seid,
>  	.get_local_gid = smcd_get_local_gid,
>  	.get_chid = smcd_get_chid,
> diff --git a/include/net/smc.h b/include/net/smc.h
> index 597cb9381182..a002552be29c 100644
> --- a/include/net/smc.h
> +++ b/include/net/smc.h
> @@ -67,6 +67,7 @@ struct smcd_ops {
>  	int (*move_data)(struct smcd_dev *dev, u64 dmb_tok, unsigned int idx,
>  			 bool sf, unsigned int offset, void *data,
>  			 unsigned int size);
> +	int (*supports_v2)(void);
>  	u8* (*get_system_eid)(void);
>  	u64 (*get_local_gid)(struct smcd_dev *dev);
>  	u16 (*get_chid)(struct smcd_dev *dev);
> diff --git a/net/smc/smc_ism.c b/net/smc/smc_ism.c
> index 3b0b7710c6b0..fbee2493091f 100644
> --- a/net/smc/smc_ism.c
> +++ b/net/smc/smc_ism.c
> @@ -429,7 +429,7 @@ static void smcd_register_dev(struct ism_dev *ism)
>  		u8 *system_eid = NULL;
>  
>  		system_eid = smcd->ops->get_system_eid();
> -		if (system_eid[24] != '0' || system_eid[28] != '0') {
> +		if (smcd->ops->supports_v2()) {
>  			smc_ism_v2_capable = true;
>  			memcpy(smc_ism_v2_system_eid, system_eid,
>  			       SMC_MAX_EID_LEN);
> -- 
> 2.37.2

  reply	other threads:[~2023-03-13 11:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-13 10:10 [PATCH net-next 0/2] smc: Updates 2023-03-01 Wenjia Zhang
2023-03-13 10:10 ` [PATCH net-next 1/2] net/smc: Introduce explicit check for v2 support Wenjia Zhang
2023-03-13 11:19   ` Tony Lu [this message]
2023-03-13 10:10 ` [PATCH net-next 2/2] net/ism: Remove extra include Wenjia Zhang
2023-03-13 11:15   ` Tony Lu
2023-03-15  8:20 ` [PATCH net-next 0/2] smc: Updates 2023-03-01 patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZA8GqKJ1v2Ns4030@TONYMAC-ALIBABA.local \
    --to=tonylu@linux.alibaba.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hca@linux.ibm.com \
    --cc=jaka@linux.ibm.com \
    --cc=kgraul@linux.ibm.com \
    --cc=kuba@kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=raspl@linux.ibm.com \
    --cc=wenjia@linux.ibm.com \
    --cc=wintera@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.