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

Commit 10e07f13 authored by Matan Barak's avatar Matan Barak Committed by Doug Ledford
Browse files

IB/core: Remove smac and vlan id from path record



The GID cache accompanies every GID with attributes.
The GID attributes link the GID with its netdevice, which could be
resolved to smac and vlan id easily. Since we've added the netdevice
(ifindex and net) to the path record, storing the L2 attributes is
duplicated data and hence these attributes are removed.

Signed-off-by: default avatarMatan Barak <matanb@mellanox.com>
Reviewed-By: default avatarDevesh Sharma <devesh.sharma@avagotech.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent aa744cc0
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -2307,9 +2307,7 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv)
		goto err2;
	}

	route->path_rec->vlan_id = rdma_vlan_dev_vlan_id(ndev);
	memcpy(route->path_rec->dmac, addr->dev_addr.dst_dev_addr, ETH_ALEN);
	memcpy(route->path_rec->smac, ndev->dev_addr, ndev->addr_len);

	rdma_ip2gid((struct sockaddr *)&id_priv->id.route.addr.src_addr,
		    &route->path_rec->sgid);
+0 −2
Original line number Diff line number Diff line
@@ -1153,11 +1153,9 @@ static void ib_sa_path_rec_callback(struct ib_sa_query *sa_query,

		ib_unpack(path_rec_table, ARRAY_SIZE(path_rec_table),
			  mad->data, &rec);
		rec.vlan_id = 0xffff;
		rec.net = NULL;
		rec.ifindex = 0;
		memset(rec.dmac, 0, ETH_ALEN);
		memset(rec.smac, 0, ETH_ALEN);
		query->callback(status, &rec, query->context);
	} else
		query->callback(status, NULL, query->context);
+0 −2
Original line number Diff line number Diff line
@@ -141,9 +141,7 @@ void ib_copy_path_rec_from_user(struct ib_sa_path_rec *dst,
	dst->preference		= src->preference;
	dst->packet_life_time_selector = src->packet_life_time_selector;

	memset(dst->smac, 0, sizeof(dst->smac));
	memset(dst->dmac, 0, sizeof(dst->dmac));
	dst->vlan_id = 0xffff;
	dst->net = NULL;
	dst->ifindex = 0;
}
+0 −2
Original line number Diff line number Diff line
@@ -155,9 +155,7 @@ struct ib_sa_path_rec {
	u8           packet_life_time_selector;
	u8           packet_life_time;
	u8           preference;
	u8           smac[ETH_ALEN];
	u8           dmac[ETH_ALEN];
	u16	     vlan_id;
	/* ignored in IB */
	int	     ifindex;
	/* ignored in IB */