> On 1/27/2019 10:58 AM, Nikolova, Tatyana E wrote: > > > >>>>> 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; > >>>> + } > >> Right. So if you have a V4 kernel and a V3 iwpmd, then current iwarp > >> drivers will work fine because they aren't trying to use the new > >> NO_PORT_MAP flag in pm_msg->flags. > >> > >> If, however, you have, say the soft iwarp driver running, then > >> pm_msg->flags would be non zero. If this is the case, then the V4 > >> kernel must not send up the V4 FLAGS nlattr because the V3 iwpmd can't > handle it. > >> So the above code fails the map request and this results in no port > >> mapping done for the soft iwarp driver. > >> > >> So we get backward compatibility with existing iwarp drivers. But > >> new drivers that need NO_PORT_MAP will only work in the port mapping > >> game if their local iwpmd is V4. > >> > > Hi Steve, > > > > Thank you for the explanation. > > > > I think that you don't need to make the error silent in this case. You could go > through the standard error path, where the error is logged and people are > going to know about it. This is going to prompt them to update to a more > current rdma-core which has your changes. > > > > I understand that the error doesn't matter in the case of soft iwarp devices > talking to each other, since they don't need a port mapper. However, in the > case of a soft iwarp device talking to an iwarp peer which uses the port > mapper, the error reporting is going to be useful, since the connection > establishment won't succeed. > > > > Regards, > > Tatyana > > That makes sense. But I only want a warn_once() type of warning. Thanks for > reviewing this. I'll respin it soon. > > May I add your reviewed-by tag? Sure. Thanks! > > Steve.