Lines Matching refs:dev_addr

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