RE: [PATCH RESEND v1 rdma-next 3/3] RDMA/IWPM: Support no port mapping requirements

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

 



> > Hi Steve,
> >
> > Your port mapper changes look good. I just have some minor comments.
> >
> 
> Thanks for reviewing!
> 
> > It appears the port mapping will fail, if the kernel port mapper is
> updated
> > with your changes but the user space port mapper isn't (ABI version
> > 3). Is there a reason why the error is silent in this case?
> >
> 
> With testing, I see it works with kernel ABI4 and user ABI3.    How do you
> see it failing exactly?  Maybe I'm missing something.
> 

I am referring to the following case, which anticipates mismatch between the kernel and user space port mapper:

> +	/* If flags are required and we're not V4, then return a quite error */
> +	if (pm_msg->flags && iwpm_user_ulib_version ==
> IWPM_UABI_VERSION_MIN) {
> +		ret = -EINVAL;
> +		goto query_mapping_error_nowarn;
> +	}
> +	if (iwpm_user_ulib_version > IWPM_UABI_VERSION_MIN) {
> +		ret = ibnl_put_attr(skb, nlh, sizeof(u32), &pm_msg->flags,
> +				IWPM_NLA_QUERY_FLAGS);
> +		if (ret)
> +			goto query_mapping_error;
> +	}


> > > +/* iwarp port mapper message flags */ enum {
> > > +
> > > +	/* Do not map the port for this IWPM request */
> > > +	IWPM_FLAGS_NO_PORT_MAP = (1 << 0),
> >
> > Use BIT(0) for consistency within the patch
> >
> 
> I've seen other maintainers suggest BIT() is obfuscating.  Jason?
> 

In another place in the patch you are using the BIT() macro, so my comment here is just a matter of consistency.
I don't have a strong opinion on which approach you choose. 
 
> +enum iw_flags {
> +
> +	/*
> +	 * This flag allows the iwcm and iwpmd to still advertise
> +	 * mappings but the real and mapped port numbers are the
> +	 * same.  Further, iwpmd will not bind any user socket to
> +	 * reserve the port.  This is required for soft iwarp
> +	 * to play in the port mapped iwarp space.
> +	 */
> +	IW_F_NO_PORT_MAP = BIT(0),
> +};
> +



[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