Changeset View
Changeset View
Standalone View
Standalone View
sys/ofed/drivers/infiniband/core/ib_addr.c
Show First 20 Lines • Show All 854 Lines • ▼ Show 20 Lines | int rdma_addr_find_l2_eth_by_grh(const union ib_gid *sgid, | ||||
const union ib_gid *dgid, | const union ib_gid *dgid, | ||||
u8 *dmac, struct net_device *dev, | u8 *dmac, struct net_device *dev, | ||||
int *hoplimit) | int *hoplimit) | ||||
{ | { | ||||
int ret = 0; | int ret = 0; | ||||
struct rdma_dev_addr dev_addr; | struct rdma_dev_addr dev_addr; | ||||
struct resolve_cb_context ctx; | struct resolve_cb_context ctx; | ||||
union { | union rdma_sockaddr sgid_addr, dgid_addr; | ||||
struct sockaddr _sockaddr; | |||||
struct sockaddr_in _sockaddr_in; | |||||
struct sockaddr_in6 _sockaddr_in6; | |||||
} sgid_addr, dgid_addr; | |||||
rdma_gid2ip(&sgid_addr._sockaddr, sgid); | rdma_gid2ip(&sgid_addr._sockaddr, sgid); | ||||
rdma_gid2ip(&dgid_addr._sockaddr, dgid); | rdma_gid2ip(&dgid_addr._sockaddr, dgid); | ||||
memset(&dev_addr, 0, sizeof(dev_addr)); | memset(&dev_addr, 0, sizeof(dev_addr)); | ||||
dev_addr.bound_dev_if = dev->if_index; | dev_addr.bound_dev_if = dev->if_index; | ||||
dev_addr.net = dev_net(dev); | dev_addr.net = dev_net(dev); | ||||
Show All 37 Lines |