Lines Matching refs:dev_addr

462 	id_priv->id.route.addr.dev_addr.transport =
536 ib_addr_get_mgid(&id_priv->id.route.addr.dev_addr, &rec.mgid);
549 static void cma_translate_ib(struct sockaddr_ib *sib, struct rdma_dev_addr *dev_addr)
551 dev_addr->dev_type = ARPHRD_INFINIBAND;
552 rdma_addr_set_sgid(dev_addr, (union ib_gid *) &sib->sib_addr);
553 ib_addr_set_pkey(dev_addr, ntohs(sib->sib_pkey));
556 static int cma_translate_addr(struct sockaddr *addr, struct rdma_dev_addr *dev_addr)
561 ret = rdma_translate_ip(addr, dev_addr);
563 cma_translate_ib((struct sockaddr_ib *) addr, dev_addr);
573 const struct rdma_dev_addr *dev_addr)
575 const int dev_type = dev_addr->dev_type;
586 ndev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if);
604 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr;
610 if (dev_addr->dev_type != ARPHRD_INFINIBAND &&
618 memcpy(&gid, dev_addr->src_dev_addr +
619 rdma_addr_gid_offset(dev_addr), sizeof gid);
632 listen_id_priv->gid_type, gidp, dev_addr);
654 gidp, dev_addr);
722 cma_translate_ib(addr, &id_priv->id.route.addr.dev_addr);
761 id_priv->id.route.addr.dev_addr.net = net;
940 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr;
947 pkey = ib_addr_get_pkey(dev_addr);
1531 return !addr->dev_addr.bound_dev_if ||
1532 (net_eq(dev_net(net_dev), addr->dev_addr.net) &&
1533 addr->dev_addr.bound_dev_if == net_dev->if_index);
1644 rdma_addr_cancel(&id_priv->id.route.addr.dev_addr);
1661 struct vnet *net = id_priv->id.route.addr.dev_addr.net;
1689 struct rdma_dev_addr *dev_addr =
1690 &id_priv->id.route.addr.dev_addr;
1693 if (dev_addr->bound_dev_if)
1694 ndev = dev_get_by_index(dev_addr->net,
1695 dev_addr->bound_dev_if);
1875 id = rdma_create_id(listen_id->route.addr.dev_addr.net,
1899 ret = rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
1905 rt->addr.dev_addr.dev_type = ARPHRD_INFINIBAND;
1906 rdma_addr_set_sgid(&rt->addr.dev_addr, &rt->path_rec[0].sgid);
1907 ib_addr_set_pkey(&rt->addr.dev_addr, be16_to_cpu(rt->path_rec[0].pkey));
1909 ret = cma_translate_addr(cma_src_addr(id_priv), &rt->addr.dev_addr);
1914 rdma_addr_set_dgid(&rt->addr.dev_addr, &rt->path_rec[0].dgid);
1931 struct vnet *net = listen_id->route.addr.dev_addr.net;
1947 ret = rdma_copy_addr(&id->route.addr.dev_addr, net_dev, NULL);
1953 &id->route.addr.dev_addr);
2175 new_cm_id = rdma_create_id(listen_id->id.route.addr.dev_addr.net,
2187 ret = rdma_translate_ip(laddr, &conn_id->id.route.addr.dev_addr);
2297 struct vnet *net = id_priv->id.route.addr.dev_addr.net;
2370 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr;
2377 rdma_addr_get_sgid(dev_addr, &path_rec.sgid);
2378 rdma_addr_get_dgid(dev_addr, &path_rec.dgid);
2379 path_rec.pkey = cpu_to_be16(ib_addr_get_pkey(dev_addr));
2559 if (addr->dev_addr.bound_dev_if) {
2562 ndev = dev_get_by_index(addr->dev_addr.net,
2563 addr->dev_addr.bound_dev_if);
2574 cma_route_gid_type(addr->dev_addr.network,
2583 memcpy(route->path_rec->dmac, addr->dev_addr.dst_dev_addr, ETH_ALEN);
2591 if (route->path_rec->gid_type < ib_network_to_gid_type(addr->dev_addr.network))
2592 route->path_rec->gid_type = ib_network_to_gid_type(addr->dev_addr.network);
2595 route->path_rec->hop_limit = addr->dev_addr.hoplimit;
2722 id_priv->id.route.addr.dev_addr.dev_type =
2726 rdma_addr_set_sgid(&id_priv->id.route.addr.dev_addr, &gid);
2727 ib_addr_set_pkey(&id_priv->id.route.addr.dev_addr, pkey);
2737 struct rdma_dev_addr *dev_addr, void *context)
2789 rdma_addr_get_sgid(&id_priv->id.route.addr.dev_addr, &gid);
2790 rdma_addr_set_dgid(&id_priv->id.route.addr.dev_addr, &gid);
2819 rdma_addr_set_dgid(&id_priv->id.route.addr.dev_addr, (union ib_gid *)
2846 id->route.addr.dev_addr.bound_dev_if = dst_addr6->sin6_scope_id;
2882 ret = cma_check_linklocal(&id->route.addr.dev_addr, dst_addr);
2887 dst_addr, &id->route.addr.dev_addr,
2981 ret = cma_ps_alloc(id_priv->id.route.addr.dev_addr.net, ps, bind_list,
3001 struct vnet *net = id_priv->id.route.addr.dev_addr.net;
3077 bind_list = cma_ps_find(id_priv->id.route.addr.dev_addr.net, ps, snum);
3168 static int cma_check_linklocal(struct rdma_dev_addr *dev_addr,
3183 CURVNET_SET_QUIET(dev_addr->net);
3190 dev_addr->bound_dev_if = sin6.sin6_scope_id;
3256 ret = cma_check_linklocal(&id->route.addr.dev_addr, addr);
3262 ret = cma_translate_addr(addr, &id->route.addr.dev_addr);
3276 CURVNET_SET_QUIET(id_priv->id.route.addr.dev_addr.net);
3820 struct rdma_dev_addr *dev_addr =
3821 &id_priv->id.route.addr.dev_addr;
3823 dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if);
3861 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr;
3875 ipv6_ib_mc_map(&sin6->sin6_addr, dev_addr->broadcast, mc_map);
3880 ip_ib_mc_map(sin->sin_addr.s_addr, dev_addr->broadcast, mc_map);
3944 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr;
3948 ib_addr_get_mgid(dev_addr, &rec.mgid);
3960 rdma_addr_get_sgid(dev_addr, &rec.port_gid);
3961 rec.pkey = cpu_to_be16(ib_addr_get_pkey(dev_addr));
4046 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr;
4076 if (dev_addr->bound_dev_if)
4077 ndev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if);
4193 struct rdma_dev_addr *dev_addr =
4194 &id->route.addr.dev_addr;
4197 if (dev_addr->bound_dev_if)
4198 ndev = dev_get_by_index(dev_addr->net,
4199 dev_addr->bound_dev_if);