Lines Matching refs:dev_addr
473 int ifindex_b = id_priv->id.route.addr.dev_addr.bound_dev_if; in compare_netdev_and_ip()
514 node_id_priv->id.route.addr.dev_addr.bound_dev_if, in cma_add_id_to_tree()
572 id_priv->id.route.addr.dev_addr.bound_dev_if, in cma_remove_id_from_tree()
592 id_priv->id.route.addr.dev_addr.transport = in _cma_attach_to_dev()
615 if (id_priv->id.route.addr.dev_addr.sgid_attr) { in cma_release_dev()
616 rdma_put_gid_attr(id_priv->id.route.addr.dev_addr.sgid_attr); in cma_release_dev()
617 id_priv->id.route.addr.dev_addr.sgid_attr = NULL; in cma_release_dev()
638 ib_addr_get_mgid(&id_priv->id.route.addr.dev_addr, &rec.mgid); in cma_set_default_qkey()
661 static void cma_translate_ib(struct sockaddr_ib *sib, struct rdma_dev_addr *dev_addr) in cma_translate_ib() argument
663 dev_addr->dev_type = ARPHRD_INFINIBAND; in cma_translate_ib()
664 rdma_addr_set_sgid(dev_addr, (union ib_gid *) &sib->sib_addr); in cma_translate_ib()
665 ib_addr_set_pkey(dev_addr, ntohs(sib->sib_pkey)); in cma_translate_ib()
668 static int cma_translate_addr(struct sockaddr *addr, struct rdma_dev_addr *dev_addr) in cma_translate_addr() argument
673 ret = rdma_translate_ip(addr, dev_addr); in cma_translate_addr()
675 cma_translate_ib((struct sockaddr_ib *) addr, dev_addr); in cma_translate_addr()
688 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_validate_port() local
690 int bound_if_index = dev_addr->bound_dev_if; in cma_validate_port()
691 int dev_type = dev_addr->dev_type; in cma_validate_port()
694 if (!rdma_dev_access_netns(device, id_priv->id.route.addr.dev_addr.net)) in cma_validate_port()
717 if (!net_eq(dev_net(ndev), dev_addr->net) || in cma_validate_port()
725 ndev = dev_get_by_index(dev_addr->net, bound_if_index); in cma_validate_port()
741 WARN_ON(id_priv->id.route.addr.dev_addr.sgid_attr); in cma_bind_sgid_attr()
742 id_priv->id.route.addr.dev_addr.sgid_attr = sgid_attr; in cma_bind_sgid_attr()
756 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_acquire_dev_by_src_ip() local
764 if (dev_addr->dev_type != ARPHRD_INFINIBAND && in cma_acquire_dev_by_src_ip()
771 memcpy(&gid, dev_addr->src_dev_addr + in cma_acquire_dev_by_src_ip()
772 rdma_addr_gid_offset(dev_addr), sizeof(gid)); in cma_acquire_dev_by_src_ip()
811 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_ib_acquire_dev() local
816 if (dev_addr->dev_type != ARPHRD_INFINIBAND && in cma_ib_acquire_dev()
824 memcpy(&gid, dev_addr->src_dev_addr + in cma_ib_acquire_dev()
825 rdma_addr_gid_offset(dev_addr), sizeof(gid)); in cma_ib_acquire_dev()
849 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_iw_acquire_dev() local
857 if (dev_addr->dev_type != ARPHRD_INFINIBAND && in cma_iw_acquire_dev()
861 memcpy(&gid, dev_addr->src_dev_addr + in cma_iw_acquire_dev()
862 rdma_addr_gid_offset(dev_addr), sizeof(gid)); in cma_iw_acquire_dev()
971 cma_translate_ib(addr, &id_priv->id.route.addr.dev_addr); in cma_resolve_ib_dev()
1016 id_priv->id.route.addr.dev_addr.net = get_net(net); in __rdma_create_id()
1234 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_ib_init_qp_attr() local
1241 pkey = ib_addr_get_pkey(dev_addr); in cma_ib_init_qp_attr()
1777 if (net_eq(dev_net(net_dev), addr->dev_addr.net) && in cma_match_net_dev()
1778 (!!addr->dev_addr.bound_dev_if == in cma_match_net_dev()
1779 (addr->dev_addr.bound_dev_if == net_dev->ifindex))) in cma_match_net_dev()
1951 rdma_addr_cancel(&id_priv->id.route.addr.dev_addr); in cma_cancel_operation()
1968 struct net *net = id_priv->id.route.addr.dev_addr.net; in cma_release_port()
1991 struct rdma_dev_addr *dev_addr = in destroy_mc() local
1992 &id_priv->id.route.addr.dev_addr; in destroy_mc()
1995 if (dev_addr->bound_dev_if) in destroy_mc()
1996 ndev = dev_get_by_index(dev_addr->net, in destroy_mc()
1997 dev_addr->bound_dev_if); in destroy_mc()
2059 put_net(id_priv->id.route.addr.dev_addr.net); in _destroy_id()
2258 id_priv = __rdma_create_id(listen_id->route.addr.dev_addr.net, in cma_ib_new_conn_id()
2284 rdma_copy_src_l2_addr(&rt->addr.dev_addr, net_dev); in cma_ib_new_conn_id()
2288 rt->addr.dev_addr.dev_type = ARPHRD_INFINIBAND; in cma_ib_new_conn_id()
2289 rdma_addr_set_sgid(&rt->addr.dev_addr, &rt->path_rec[0].sgid); in cma_ib_new_conn_id()
2290 ib_addr_set_pkey(&rt->addr.dev_addr, be16_to_cpu(rt->path_rec[0].pkey)); in cma_ib_new_conn_id()
2292 ret = cma_translate_addr(cma_src_addr(id_priv), &rt->addr.dev_addr); in cma_ib_new_conn_id()
2297 rdma_addr_set_dgid(&rt->addr.dev_addr, &rt->path_rec[0].dgid); in cma_ib_new_conn_id()
2316 struct net *net = listen_id->route.addr.dev_addr.net; in cma_ib_new_udp_id()
2334 rdma_copy_src_l2_addr(&id->route.addr.dev_addr, net_dev); in cma_ib_new_udp_id()
2338 &id->route.addr.dev_addr); in cma_ib_new_udp_id()
2487 rdma_addr_get_sgid(&addr->dev_addr, sgid); in rdma_read_gids()
2489 rdma_addr_get_dgid(&addr->dev_addr, dgid); in rdma_read_gids()
2580 conn_id = __rdma_create_id(listen_id->id.route.addr.dev_addr.net, in iw_conn_req_handler()
2591 ret = rdma_translate_ip(laddr, &conn_id->id.route.addr.dev_addr); in iw_conn_req_handler()
2696 struct net *net = id_priv->id.route.addr.dev_addr.net; in cma_listen_on_dev()
2924 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_query_ib_route() local
2936 rdma_addr_get_sgid(dev_addr, &path_rec.sgid); in cma_query_ib_route()
2937 rdma_addr_get_dgid(dev_addr, &path_rec.dgid); in cma_query_ib_route()
2938 path_rec.pkey = cpu_to_be16(ib_addr_get_pkey(dev_addr)); in cma_query_ib_route()
3111 if (!addr->dev_addr.bound_dev_if) in cma_iboe_set_path_rec_l2_fields()
3114 ndev = dev_get_by_index(addr->dev_addr.net, in cma_iboe_set_path_rec_l2_fields()
3115 addr->dev_addr.bound_dev_if); in cma_iboe_set_path_rec_l2_fields()
3121 gid_type = cma_route_gid_type(addr->dev_addr.network, in cma_iboe_set_path_rec_l2_fields()
3125 if (gid_type < ib_network_to_gid_type(addr->dev_addr.network)) in cma_iboe_set_path_rec_l2_fields()
3126 gid_type = ib_network_to_gid_type(addr->dev_addr.network); in cma_iboe_set_path_rec_l2_fields()
3130 sa_path_set_dmac(route->path_rec, addr->dev_addr.dst_dev_addr); in cma_iboe_set_path_rec_l2_fields()
3310 route->path_rec->hop_limit = addr->dev_addr.hoplimit; in cma_resolve_iboe_route()
3458 id_priv->id.route.addr.dev_addr.dev_type = in cma_bind_loopback()
3462 rdma_addr_set_sgid(&id_priv->id.route.addr.dev_addr, &gid); in cma_bind_loopback()
3463 ib_addr_set_pkey(&id_priv->id.route.addr.dev_addr, pkey); in cma_bind_loopback()
3474 struct rdma_dev_addr *dev_addr, void *context) in addr_handler() argument
3539 rdma_addr_get_sgid(&id_priv->id.route.addr.dev_addr, &gid); in cma_resolve_loopback()
3540 rdma_addr_set_dgid(&id_priv->id.route.addr.dev_addr, &gid); in cma_resolve_loopback()
3564 rdma_addr_set_dgid(&id_priv->id.route.addr.dev_addr, (union ib_gid *) in cma_resolve_ib_addr()
3658 ret = cma_ps_alloc(id_priv->id.route.addr.dev_addr.net, ps, bind_list, in cma_alloc_port()
3719 struct net *net = id_priv->id.route.addr.dev_addr.net; in cma_alloc_any_port()
3807 bind_list = cma_ps_find(id_priv->id.route.addr.dev_addr.net, ps, snum); in cma_use_port()
3887 static int cma_check_linklocal(struct rdma_dev_addr *dev_addr, in cma_check_linklocal() argument
3904 dev_addr->bound_dev_if = sin6->sin6_scope_id; in cma_check_linklocal()
3989 ret = cma_check_linklocal(&id_priv->id.route.addr.dev_addr, addr); in rdma_bind_addr_dst()
3995 ret = cma_translate_addr(addr, &id_priv->id.route.addr.dev_addr); in rdma_bind_addr_dst()
4009 struct net *net = id_priv->id.route.addr.dev_addr.net; in rdma_bind_addr_dst()
4057 id->route.addr.dev_addr.bound_dev_if = in cma_bind_addr()
4131 rdma_addr_cancel(&id->route.addr.dev_addr); in rdma_resolve_addr()
4135 &id->route.addr.dev_addr, in rdma_resolve_addr()
4296 req.sgid_attr = id_priv->id.route.addr.dev_addr.sgid_attr; in cma_resolve_ib_udp()
4360 req.ppath_sgid_attr = id_priv->id.route.addr.dev_addr.sgid_attr; in cma_connect_ib()
4797 struct rdma_dev_addr *dev_addr; in cma_make_mc_event() local
4812 dev_addr = &id_priv->id.route.addr.dev_addr; in cma_make_mc_event()
4813 ndev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); in cma_make_mc_event()
4864 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_set_mgid() local
4878 ipv6_ib_mc_map(&sin6->sin6_addr, dev_addr->broadcast, mc_map); in cma_set_mgid()
4883 ip_ib_mc_map(sin->sin_addr.s_addr, dev_addr->broadcast, mc_map); in cma_set_mgid()
4894 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_join_ib_multicast() local
4898 ib_addr_get_mgid(dev_addr, &rec.mgid); in cma_join_ib_multicast()
4912 rdma_addr_get_sgid(dev_addr, &rec.port_gid); in cma_join_ib_multicast()
4913 rec.pkey = cpu_to_be16(ib_addr_get_pkey(dev_addr)); in cma_join_ib_multicast()
4967 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_iboe_join_multicast() local
4985 if (dev_addr->bound_dev_if) in cma_iboe_join_multicast()
4986 ndev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); in cma_iboe_join_multicast()
5097 struct rdma_dev_addr *dev_addr; in cma_netdev_change() local
5100 dev_addr = &id_priv->id.route.addr.dev_addr; in cma_netdev_change()
5102 if ((dev_addr->bound_dev_if == ndev->ifindex) && in cma_netdev_change()
5103 (net_eq(dev_net(ndev), dev_addr->net)) && in cma_netdev_change()
5104 memcmp(dev_addr->src_dev_addr, ndev->dev_addr, ndev->addr_len)) { in cma_netdev_change()
5209 if (!memcmp(current_id->id.route.addr.dev_addr.dst_dev_addr, in cma_netevent_callback()