Re: [PATCH 15/20] IB/hfi1: Permanently enable P_Key checking in HFI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Apr 09, 2017 at 10:16:59AM -0700, Dennis Dalessandro wrote:
> From: Neel Desai <neel.desai@xxxxxxxxx>
>
> Ingress and egress port P_Key checking should always be performed for
> HFIs. This patch will enable ingress and egress P_Key checking when
> the port is initialized and will ignore the P_Key information sent by
> the FM in the port info structure which is meant to be used only by the
> switch.
>
> Reviewed-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx>
> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx>
> Signed-off-by: Neel Desai <neel.desai@xxxxxxxxx>
> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx>
> ---
>  drivers/infiniband/hw/hfi1/init.c |    3 +++
>  drivers/infiniband/hw/hfi1/mad.c  |   10 ----------
>  2 files changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/infiniband/hw/hfi1/init.c b/drivers/infiniband/hw/hfi1/init.c
> index 55a11a6..838d3a8 100644
> --- a/drivers/infiniband/hw/hfi1/init.c
> +++ b/drivers/infiniband/hw/hfi1/init.c
> @@ -482,6 +482,9 @@ void hfi1_init_pportdata(struct pci_dev *pdev, struct hfi1_pportdata *ppd,
>  	default_pkey_idx = 1;
>
>  	ppd->pkeys[default_pkey_idx] = DEFAULT_P_KEY;
> +	ppd->part_enforce |= HFI1_PART_ENFORCE_IN;
> +	ppd->part_enforce |= HFI1_PART_ENFORCE_OUT;
> +

Isn't better just remove these enforcement checks if it always should be performed?

➜  linux-rdma git:(rdma-next) git grep part_enforce drivers/infiniband/
drivers/infiniband/hw/hfi1/hfi.h:       u8 part_enforce; /* partition enforcement flags */
drivers/infiniband/hw/hfi1/hfi.h:       if (!(ppd->part_enforce & HFI1_PART_ENFORCE_IN))
drivers/infiniband/hw/hfi1/hfi.h:       if (!(ppd->part_enforce & HFI1_PART_ENFORCE_IN))
drivers/infiniband/hw/hfi1/mad.c:       if (ppd->part_enforce & HFI1_PART_ENFORCE_IN)
drivers/infiniband/hw/hfi1/mad.c:       if (ppd->part_enforce & HFI1_PART_ENFORCE_OUT)
drivers/infiniband/hw/hfi1/mad.c:               ppd->part_enforce |= HFI1_PART_ENFORCE_IN;
drivers/infiniband/hw/hfi1/mad.c:               ppd->part_enforce &= ~HFI1_PART_ENFORCE_IN;
drivers/infiniband/hw/hfi1/mad.c:               ppd->part_enforce |= HFI1_PART_ENFORCE_OUT;
drivers/infiniband/hw/hfi1/mad.c:               ppd->part_enforce &= ~HFI1_PART_ENFORCE_OUT;
drivers/infiniband/hw/hfi1/verbs.c:     if (!(ppd->part_enforce & HFI1_PART_ENFORCE_OUT))

Thanks

>  	if (loopback) {
>  		hfi1_early_err(&pdev->dev,
>  			       "Faking data partition 0x8001 in idx %u\n",
> diff --git a/drivers/infiniband/hw/hfi1/mad.c b/drivers/infiniband/hw/hfi1/mad.c
> index db5494d..7059a0f 100644
> --- a/drivers/infiniband/hw/hfi1/mad.c
> +++ b/drivers/infiniband/hw/hfi1/mad.c
> @@ -1151,16 +1151,6 @@ static int __subn_set_opa_portinfo(struct opa_smp *smp, u32 am, u8 *data,
>  		ppd->linkinit_reason =
>  			(pi->partenforce_filterraw &
>  			 OPA_PI_MASK_LINKINIT_REASON);
> -	/* enable/disable SW pkey checking as per FM control */
> -	if (pi->partenforce_filterraw & OPA_PI_MASK_PARTITION_ENFORCE_IN)
> -		ppd->part_enforce |= HFI1_PART_ENFORCE_IN;
> -	else
> -		ppd->part_enforce &= ~HFI1_PART_ENFORCE_IN;
> -
> -	if (pi->partenforce_filterraw & OPA_PI_MASK_PARTITION_ENFORCE_OUT)
> -		ppd->part_enforce |= HFI1_PART_ENFORCE_OUT;
> -	else
> -		ppd->part_enforce &= ~HFI1_PART_ENFORCE_OUT;
>
>  	/* Must be a valid unicast LID address. */
>  	if ((smlid == 0 && ls_old > IB_PORT_INIT) ||
>
> --
> 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

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux