> > 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), > +}; > +