mirror of https://gitee.com/openkylin/linux.git
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: Matan Barak <matanb@mellanox.com> Reviewed-By: Devesh Sharma <devesh.sharma@avagotech.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
aa744cc01f
commit
10e07f13c0
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue