Lines Matching refs:dev_addr

145 static int ib_nl_ip_send_msg(struct rdma_dev_addr *dev_addr,  in ib_nl_ip_send_msg()  argument
181 header->ifindex = dev_addr->bound_dev_if; in ib_nl_ip_send_msg()
234 void rdma_copy_src_l2_addr(struct rdma_dev_addr *dev_addr, in rdma_copy_src_l2_addr() argument
237 dev_addr->dev_type = dev->type; in rdma_copy_src_l2_addr()
238 memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN); in rdma_copy_src_l2_addr()
239 memcpy(dev_addr->broadcast, dev->broadcast, MAX_ADDR_LEN); in rdma_copy_src_l2_addr()
240 dev_addr->bound_dev_if = dev->ifindex; in rdma_copy_src_l2_addr()
275 struct rdma_dev_addr *dev_addr) in rdma_translate_ip() argument
279 if (dev_addr->bound_dev_if) { in rdma_translate_ip()
280 dev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); in rdma_translate_ip()
283 rdma_copy_src_l2_addr(dev_addr, dev); in rdma_translate_ip()
289 dev = rdma_find_ndev_for_src_ip_rcu(dev_addr->net, addr); in rdma_translate_ip()
291 rdma_copy_src_l2_addr(dev_addr, dev); in rdma_translate_ip()
316 static int ib_nl_fetch_ha(struct rdma_dev_addr *dev_addr, in ib_nl_fetch_ha() argument
322 return ib_nl_ip_send_msg(dev_addr, daddr, seq, family); in ib_nl_fetch_ha()
326 struct rdma_dev_addr *dev_addr, in dst_fetch_ha() argument
340 neigh_ha_snapshot(dev_addr->dst_dev_addr, n, dst->dev); in dst_fetch_ha()
362 static int fetch_ha(const struct dst_entry *dst, struct rdma_dev_addr *dev_addr, in fetch_ha() argument
377 if (has_gateway(dst, family) && dev_addr->network == RDMA_NETWORK_IB) in fetch_ha()
378 return ib_nl_fetch_ha(dev_addr, daddr, seq, family); in fetch_ha()
380 return dst_fetch_ha(dst, dev_addr, daddr); in fetch_ha()
473 static int copy_src_l2_addr(struct rdma_dev_addr *dev_addr, in copy_src_l2_addr() argument
481 ret = rdma_translate_ip(dst_in, dev_addr); in copy_src_l2_addr()
483 rdma_copy_src_l2_addr(dev_addr, dst->dev); in copy_src_l2_addr()
492 dev_addr->network = dst_in->sa_family == AF_INET ? in copy_src_l2_addr()
496 dev_addr->network = RDMA_NETWORK_IB; in copy_src_l2_addr()
501 static int rdma_set_src_addr_rcu(struct rdma_dev_addr *dev_addr, in rdma_set_src_addr_rcu() argument
522 return copy_src_l2_addr(dev_addr, dst_in, dst, ndev); in rdma_set_src_addr_rcu()
728 struct rdma_dev_addr dev_addr = {}; in roce_resolve_route_from_path() local
745 dev_addr.net = &init_net; in roce_resolve_route_from_path()
746 dev_addr.sgid_attr = attr; in roce_resolve_route_from_path()
749 &dev_addr, false, true, 0); in roce_resolve_route_from_path()
753 if ((dev_addr.network == RDMA_NETWORK_IPV4 || in roce_resolve_route_from_path()
754 dev_addr.network == RDMA_NETWORK_IPV6) && in roce_resolve_route_from_path()
817 struct rdma_dev_addr dev_addr; in rdma_addr_find_l2_eth_by_grh() local
828 memset(&dev_addr, 0, sizeof(dev_addr)); in rdma_addr_find_l2_eth_by_grh()
829 dev_addr.net = &init_net; in rdma_addr_find_l2_eth_by_grh()
830 dev_addr.sgid_attr = sgid_attr; in rdma_addr_find_l2_eth_by_grh()
834 (struct sockaddr *)&dgid_addr, &dev_addr, 1000, in rdma_addr_find_l2_eth_by_grh()
845 memcpy(dmac, dev_addr.dst_dev_addr, ETH_ALEN); in rdma_addr_find_l2_eth_by_grh()
846 *hoplimit = dev_addr.hoplimit; in rdma_addr_find_l2_eth_by_grh()