Lines Matching refs:dev_addr

146 static int ib_nl_ip_send_msg(struct rdma_dev_addr *dev_addr,  in ib_nl_ip_send_msg()  argument
182 header->ifindex = dev_addr->bound_dev_if; in ib_nl_ip_send_msg()
235 void rdma_copy_src_l2_addr(struct rdma_dev_addr *dev_addr, in rdma_copy_src_l2_addr() argument
238 dev_addr->dev_type = dev->type; in rdma_copy_src_l2_addr()
239 memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN); in rdma_copy_src_l2_addr()
240 memcpy(dev_addr->broadcast, dev->broadcast, MAX_ADDR_LEN); in rdma_copy_src_l2_addr()
241 dev_addr->bound_dev_if = dev->ifindex; in rdma_copy_src_l2_addr()
276 struct rdma_dev_addr *dev_addr) in rdma_translate_ip() argument
280 if (dev_addr->bound_dev_if) { in rdma_translate_ip()
281 dev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); in rdma_translate_ip()
284 rdma_copy_src_l2_addr(dev_addr, dev); in rdma_translate_ip()
290 dev = rdma_find_ndev_for_src_ip_rcu(dev_addr->net, addr); in rdma_translate_ip()
292 rdma_copy_src_l2_addr(dev_addr, dev); in rdma_translate_ip()
317 static int ib_nl_fetch_ha(struct rdma_dev_addr *dev_addr, in ib_nl_fetch_ha() argument
323 return ib_nl_ip_send_msg(dev_addr, daddr, seq, family); in ib_nl_fetch_ha()
327 struct rdma_dev_addr *dev_addr, in dst_fetch_ha() argument
341 neigh_ha_snapshot(dev_addr->dst_dev_addr, n, dst->dev); in dst_fetch_ha()
363 static int fetch_ha(const struct dst_entry *dst, struct rdma_dev_addr *dev_addr, in fetch_ha() argument
378 if (has_gateway(dst, family) && dev_addr->network == RDMA_NETWORK_IB) in fetch_ha()
379 return ib_nl_fetch_ha(dev_addr, daddr, seq, family); in fetch_ha()
381 return dst_fetch_ha(dst, dev_addr, daddr); in fetch_ha()
474 static int copy_src_l2_addr(struct rdma_dev_addr *dev_addr, in copy_src_l2_addr() argument
482 ret = rdma_translate_ip(dst_in, dev_addr); in copy_src_l2_addr()
484 rdma_copy_src_l2_addr(dev_addr, dst->dev); in copy_src_l2_addr()
493 dev_addr->network = dst_in->sa_family == AF_INET ? in copy_src_l2_addr()
497 dev_addr->network = RDMA_NETWORK_IB; in copy_src_l2_addr()
502 static int rdma_set_src_addr_rcu(struct rdma_dev_addr *dev_addr, in rdma_set_src_addr_rcu() argument
523 return copy_src_l2_addr(dev_addr, dst_in, dst, ndev); in rdma_set_src_addr_rcu()
729 struct rdma_dev_addr dev_addr = {}; in roce_resolve_route_from_path() local
746 dev_addr.net = &init_net; in roce_resolve_route_from_path()
747 dev_addr.sgid_attr = attr; in roce_resolve_route_from_path()
750 &dev_addr, false, true, 0); in roce_resolve_route_from_path()
754 if ((dev_addr.network == RDMA_NETWORK_IPV4 || in roce_resolve_route_from_path()
755 dev_addr.network == RDMA_NETWORK_IPV6) && in roce_resolve_route_from_path()
818 struct rdma_dev_addr dev_addr; in rdma_addr_find_l2_eth_by_grh() local
829 memset(&dev_addr, 0, sizeof(dev_addr)); in rdma_addr_find_l2_eth_by_grh()
830 dev_addr.net = &init_net; in rdma_addr_find_l2_eth_by_grh()
831 dev_addr.sgid_attr = sgid_attr; in rdma_addr_find_l2_eth_by_grh()
835 (struct sockaddr *)&dgid_addr, &dev_addr, 1000, in rdma_addr_find_l2_eth_by_grh()
846 memcpy(dmac, dev_addr.dst_dev_addr, ETH_ALEN); in rdma_addr_find_l2_eth_by_grh()
847 *hoplimit = dev_addr.hoplimit; in rdma_addr_find_l2_eth_by_grh()