Lines Matching refs:dev_addr

111 int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,  in rdma_copy_addr()  argument
114 dev_addr->dev_type = dev->type; in rdma_copy_addr()
115 memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN); in rdma_copy_addr()
116 memcpy(dev_addr->broadcast, dev->broadcast, MAX_ADDR_LEN); in rdma_copy_addr()
118 memcpy(dev_addr->dst_dev_addr, dst_dev_addr, MAX_ADDR_LEN); in rdma_copy_addr()
119 dev_addr->bound_dev_if = dev->ifindex; in rdma_copy_addr()
124 int rdma_translate_ip(struct sockaddr *addr, struct rdma_dev_addr *dev_addr, in rdma_translate_ip() argument
130 if (dev_addr->bound_dev_if) { in rdma_translate_ip()
131 dev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); in rdma_translate_ip()
134 ret = rdma_copy_addr(dev_addr, dev, NULL); in rdma_translate_ip()
141 dev = ip_dev_find(dev_addr->net, in rdma_translate_ip()
147 ret = rdma_copy_addr(dev_addr, dev, NULL); in rdma_translate_ip()
155 for_each_netdev_rcu(dev_addr->net, dev) { in rdma_translate_ip()
156 if (ipv6_chk_addr(dev_addr->net, in rdma_translate_ip()
159 ret = rdma_copy_addr(dev_addr, dev, NULL); in rdma_translate_ip()
201 static int dst_fetch_ha(struct dst_entry *dst, struct rdma_dev_addr *dev_addr, void *daddr) in dst_fetch_ha() argument
214 ret = rdma_copy_addr(dev_addr, dst->dev, n->ha); in dst_fetch_ha()
463 struct rdma_dev_addr dev_addr; in rdma_addr_find_dmac_by_grh() local
477 memset(&dev_addr, 0, sizeof(dev_addr)); in rdma_addr_find_dmac_by_grh()
478 dev_addr.bound_dev_if = if_index; in rdma_addr_find_dmac_by_grh()
479 dev_addr.net = &init_net; in rdma_addr_find_dmac_by_grh()
481 ctx.addr = &dev_addr; in rdma_addr_find_dmac_by_grh()
484 &dev_addr, 1000, resolve_cb, &ctx); in rdma_addr_find_dmac_by_grh()
490 memcpy(dmac, dev_addr.dst_dev_addr, ETH_ALEN); in rdma_addr_find_dmac_by_grh()
491 dev = dev_get_by_index(&init_net, dev_addr.bound_dev_if); in rdma_addr_find_dmac_by_grh()
504 struct rdma_dev_addr dev_addr; in rdma_addr_find_smac_by_sgid() local
513 memset(&dev_addr, 0, sizeof(dev_addr)); in rdma_addr_find_smac_by_sgid()
514 dev_addr.net = &init_net; in rdma_addr_find_smac_by_sgid()
515 ret = rdma_translate_ip(&gid_addr._sockaddr, &dev_addr, vlan_id); in rdma_addr_find_smac_by_sgid()
519 memcpy(smac, dev_addr.src_dev_addr, ETH_ALEN); in rdma_addr_find_smac_by_sgid()