Hi,

This patchset breaks compatibility...

On 04/02/2019 16.04, Santosh Shilimkar wrote:
> --- a/net/rds/ib_cm.c
> +++ b/net/rds/ib_cm.c
> @@ -868,7 +870,7 @@ int rds_ib_cm_initiate_connect(struct rdma_cm_id *cm_id, 
> bool isv6)
>  
>       /* If the peer doesn't do protocol negotiation, we must
>        * default to RDSv3.0 */
> -     rds_ib_set_protocol(conn, RDS_PROTOCOL_VERSION);
> +     rds_ib_set_protocol(conn, RDS_PROTOCOL_4_1);
>       ic->i_flowctl = rds_ib_sysctl_flow_control;     /* advertise flow 
> control */
>  
>       ret = rds_ib_setup_qp(conn);

The comment calls out to fallback to RDSv3.0, but the code assumes that v4.1 is
the new common standard.

If there's a mechanism that ensures compatibility with older (pre-4.1) versions
of RDS I am not seeing it.
The inconsistency in comment vs. code doesn't help in that regard.

And tests illustrated this incompatibility:
2 peers with this patchset can talk to eachother.
Peers with a mix of post-this-patchset and pre-this-patchset can no longer talk
to eachother.

Thanks,

  Gerd

Reply via email to