Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82c3aca6 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin Committed by Roland Dreier
Browse files

IPoIB/cm: Fix interoperability when MTU doesn't match



IPoIB connected mode currently rejects a connection request unless the
supported MTU is >= the local netdevice MTU. This breaks
interoperability with implementations that might have tweaked
IPOIB_CM_MTU, and there's real no longer a reason to do so: this test
is just a leftover from when we did not tweak MTU per-connection.  Fix
this by making the test as permissive as possible.

Signed-off-by: default avatarMichael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 3ec7393a
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -759,9 +759,9 @@ static int ipoib_cm_rep_handler(struct ib_cm_id *cm_id, struct ib_cm_event *even

	p->mtu = be32_to_cpu(data->mtu);

	if (p->mtu < priv->dev->mtu + IPOIB_ENCAP_LEN) {
		ipoib_warn(priv, "Rejecting connection: mtu %d < device mtu %d + 4\n",
			   p->mtu, priv->dev->mtu);
	if (p->mtu <= IPOIB_ENCAP_LEN) {
		ipoib_warn(priv, "Rejecting connection: mtu %d <= %d\n",
			   p->mtu, IPOIB_ENCAP_LEN);
		return -EINVAL;
	}