Lines Matching refs:dev_addr

461 	int ifindex_b = id_priv->id.route.addr.dev_addr.bound_dev_if;  in compare_netdev_and_ip()
502 node_id_priv->id.route.addr.dev_addr.bound_dev_if, in cma_add_id_to_tree()
560 id_priv->id.route.addr.dev_addr.bound_dev_if, in cma_remove_id_from_tree()
580 id_priv->id.route.addr.dev_addr.transport = in _cma_attach_to_dev()
603 if (id_priv->id.route.addr.dev_addr.sgid_attr) { in cma_release_dev()
604 rdma_put_gid_attr(id_priv->id.route.addr.dev_addr.sgid_attr); in cma_release_dev()
605 id_priv->id.route.addr.dev_addr.sgid_attr = NULL; in cma_release_dev()
626 ib_addr_get_mgid(&id_priv->id.route.addr.dev_addr, &rec.mgid); in cma_set_default_qkey()
649 static void cma_translate_ib(struct sockaddr_ib *sib, struct rdma_dev_addr *dev_addr) in cma_translate_ib() argument
651 dev_addr->dev_type = ARPHRD_INFINIBAND; in cma_translate_ib()
652 rdma_addr_set_sgid(dev_addr, (union ib_gid *) &sib->sib_addr); in cma_translate_ib()
653 ib_addr_set_pkey(dev_addr, ntohs(sib->sib_pkey)); in cma_translate_ib()
656 static int cma_translate_addr(struct sockaddr *addr, struct rdma_dev_addr *dev_addr) in cma_translate_addr() argument
661 ret = rdma_translate_ip(addr, dev_addr); in cma_translate_addr()
663 cma_translate_ib((struct sockaddr_ib *) addr, dev_addr); in cma_translate_addr()
676 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_validate_port() local
678 int bound_if_index = dev_addr->bound_dev_if; in cma_validate_port()
679 int dev_type = dev_addr->dev_type; in cma_validate_port()
683 if (!rdma_dev_access_netns(device, id_priv->id.route.addr.dev_addr.net)) in cma_validate_port()
707 pdev = dev_get_by_index_rcu(dev_addr->net, bound_if_index); in cma_validate_port()
721 if (!net_eq(dev_net(ndev), dev_addr->net) || in cma_validate_port()
738 ndev = dev_get_by_index(dev_addr->net, bound_if_index); in cma_validate_port()
744 ndev = dev_get_by_index(dev_addr->net, bound_if_index); in cma_validate_port()
761 WARN_ON(id_priv->id.route.addr.dev_addr.sgid_attr); in cma_bind_sgid_attr()
762 id_priv->id.route.addr.dev_addr.sgid_attr = sgid_attr; in cma_bind_sgid_attr()
776 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_acquire_dev_by_src_ip() local
784 if (dev_addr->dev_type != ARPHRD_INFINIBAND && in cma_acquire_dev_by_src_ip()
791 memcpy(&gid, dev_addr->src_dev_addr + in cma_acquire_dev_by_src_ip()
792 rdma_addr_gid_offset(dev_addr), sizeof(gid)); in cma_acquire_dev_by_src_ip()
831 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_ib_acquire_dev() local
836 if (dev_addr->dev_type != ARPHRD_INFINIBAND && in cma_ib_acquire_dev()
844 memcpy(&gid, dev_addr->src_dev_addr + in cma_ib_acquire_dev()
845 rdma_addr_gid_offset(dev_addr), sizeof(gid)); in cma_ib_acquire_dev()
869 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_iw_acquire_dev() local
877 if (dev_addr->dev_type != ARPHRD_INFINIBAND && in cma_iw_acquire_dev()
881 memcpy(&gid, dev_addr->src_dev_addr + in cma_iw_acquire_dev()
882 rdma_addr_gid_offset(dev_addr), sizeof(gid)); in cma_iw_acquire_dev()
991 cma_translate_ib(addr, &id_priv->id.route.addr.dev_addr); in cma_resolve_ib_dev()
1036 id_priv->id.route.addr.dev_addr.net = get_net(net); in __rdma_create_id()
1255 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_ib_init_qp_attr() local
1262 pkey = ib_addr_get_pkey(dev_addr); in cma_ib_init_qp_attr()
1798 if (net_eq(dev_net(net_dev), addr->dev_addr.net) && in cma_match_net_dev()
1799 (!!addr->dev_addr.bound_dev_if == in cma_match_net_dev()
1800 (addr->dev_addr.bound_dev_if == net_dev->ifindex))) in cma_match_net_dev()
1972 rdma_addr_cancel(&id_priv->id.route.addr.dev_addr); in cma_cancel_operation()
1989 struct net *net = id_priv->id.route.addr.dev_addr.net; in cma_release_port()
2012 struct rdma_dev_addr *dev_addr = in destroy_mc() local
2013 &id_priv->id.route.addr.dev_addr; in destroy_mc()
2016 if (dev_addr->bound_dev_if) in destroy_mc()
2017 ndev = dev_get_by_index(dev_addr->net, in destroy_mc()
2018 dev_addr->bound_dev_if); in destroy_mc()
2081 put_net(id_priv->id.route.addr.dev_addr.net); in _destroy_id()
2280 id_priv = __rdma_create_id(listen_id->route.addr.dev_addr.net, in cma_ib_new_conn_id()
2306 rdma_copy_src_l2_addr(&rt->addr.dev_addr, net_dev); in cma_ib_new_conn_id()
2310 rt->addr.dev_addr.dev_type = ARPHRD_INFINIBAND; in cma_ib_new_conn_id()
2311 rdma_addr_set_sgid(&rt->addr.dev_addr, &rt->path_rec[0].sgid); in cma_ib_new_conn_id()
2312 ib_addr_set_pkey(&rt->addr.dev_addr, be16_to_cpu(rt->path_rec[0].pkey)); in cma_ib_new_conn_id()
2314 ret = cma_translate_addr(cma_src_addr(id_priv), &rt->addr.dev_addr); in cma_ib_new_conn_id()
2319 rdma_addr_set_dgid(&rt->addr.dev_addr, &rt->path_rec[0].dgid); in cma_ib_new_conn_id()
2338 struct net *net = listen_id->route.addr.dev_addr.net; in cma_ib_new_udp_id()
2356 rdma_copy_src_l2_addr(&id->route.addr.dev_addr, net_dev); in cma_ib_new_udp_id()
2360 &id->route.addr.dev_addr); in cma_ib_new_udp_id()
2509 rdma_addr_get_sgid(&addr->dev_addr, sgid); in rdma_read_gids()
2511 rdma_addr_get_dgid(&addr->dev_addr, dgid); in rdma_read_gids()
2602 conn_id = __rdma_create_id(listen_id->id.route.addr.dev_addr.net, in iw_conn_req_handler()
2613 ret = rdma_translate_ip(laddr, &conn_id->id.route.addr.dev_addr); in iw_conn_req_handler()
2718 struct net *net = id_priv->id.route.addr.dev_addr.net; in cma_listen_on_dev()
2946 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_query_ib_route() local
2958 rdma_addr_get_sgid(dev_addr, &path_rec.sgid); in cma_query_ib_route()
2959 rdma_addr_get_dgid(dev_addr, &path_rec.dgid); in cma_query_ib_route()
2960 path_rec.pkey = cpu_to_be16(ib_addr_get_pkey(dev_addr)); in cma_query_ib_route()
3133 if (!addr->dev_addr.bound_dev_if) in cma_iboe_set_path_rec_l2_fields()
3136 ndev = dev_get_by_index(addr->dev_addr.net, in cma_iboe_set_path_rec_l2_fields()
3137 addr->dev_addr.bound_dev_if); in cma_iboe_set_path_rec_l2_fields()
3143 gid_type = cma_route_gid_type(addr->dev_addr.network, in cma_iboe_set_path_rec_l2_fields()
3147 if (gid_type < ib_network_to_gid_type(addr->dev_addr.network)) in cma_iboe_set_path_rec_l2_fields()
3148 gid_type = ib_network_to_gid_type(addr->dev_addr.network); in cma_iboe_set_path_rec_l2_fields()
3152 sa_path_set_dmac(route->path_rec, addr->dev_addr.dst_dev_addr); in cma_iboe_set_path_rec_l2_fields()
3332 route->path_rec->hop_limit = addr->dev_addr.hoplimit; in cma_resolve_iboe_route()
3485 id_priv->id.route.addr.dev_addr.dev_type = in cma_bind_loopback()
3489 rdma_addr_set_sgid(&id_priv->id.route.addr.dev_addr, &gid); in cma_bind_loopback()
3490 ib_addr_set_pkey(&id_priv->id.route.addr.dev_addr, pkey); in cma_bind_loopback()
3501 struct rdma_dev_addr *dev_addr, void *context) in addr_handler() argument
3566 rdma_addr_get_sgid(&id_priv->id.route.addr.dev_addr, &gid); in cma_resolve_loopback()
3567 rdma_addr_set_dgid(&id_priv->id.route.addr.dev_addr, &gid); in cma_resolve_loopback()
3591 rdma_addr_set_dgid(&id_priv->id.route.addr.dev_addr, (union ib_gid *) in cma_resolve_ib_addr()
3685 ret = cma_ps_alloc(id_priv->id.route.addr.dev_addr.net, ps, bind_list, in cma_alloc_port()
3746 struct net *net = id_priv->id.route.addr.dev_addr.net; in cma_alloc_any_port()
3834 bind_list = cma_ps_find(id_priv->id.route.addr.dev_addr.net, ps, snum); in cma_use_port()
3914 static int cma_check_linklocal(struct rdma_dev_addr *dev_addr, in cma_check_linklocal() argument
3931 dev_addr->bound_dev_if = sin6->sin6_scope_id; in cma_check_linklocal()
4016 ret = cma_check_linklocal(&id_priv->id.route.addr.dev_addr, addr); in rdma_bind_addr_dst()
4022 ret = cma_translate_addr(addr, &id_priv->id.route.addr.dev_addr); in rdma_bind_addr_dst()
4036 struct net *net = id_priv->id.route.addr.dev_addr.net; in rdma_bind_addr_dst()
4084 id->route.addr.dev_addr.bound_dev_if = in cma_bind_addr()
4158 rdma_addr_cancel(&id->route.addr.dev_addr); in rdma_resolve_addr()
4162 &id->route.addr.dev_addr, in rdma_resolve_addr()
4323 req.sgid_attr = id_priv->id.route.addr.dev_addr.sgid_attr; in cma_resolve_ib_udp()
4387 req.ppath_sgid_attr = id_priv->id.route.addr.dev_addr.sgid_attr; in cma_connect_ib()
4826 struct rdma_dev_addr *dev_addr; in cma_make_mc_event() local
4841 dev_addr = &id_priv->id.route.addr.dev_addr; in cma_make_mc_event()
4842 ndev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); in cma_make_mc_event()
4893 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_set_mgid() local
4907 ipv6_ib_mc_map(&sin6->sin6_addr, dev_addr->broadcast, mc_map); in cma_set_mgid()
4912 ip_ib_mc_map(sin->sin_addr.s_addr, dev_addr->broadcast, mc_map); in cma_set_mgid()
4923 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_join_ib_multicast() local
4927 ib_addr_get_mgid(dev_addr, &rec.mgid); in cma_join_ib_multicast()
4941 rdma_addr_get_sgid(dev_addr, &rec.port_gid); in cma_join_ib_multicast()
4942 rec.pkey = cpu_to_be16(ib_addr_get_pkey(dev_addr)); in cma_join_ib_multicast()
4996 struct rdma_dev_addr *dev_addr = &id_priv->id.route.addr.dev_addr; in cma_iboe_join_multicast() local
5014 if (dev_addr->bound_dev_if) in cma_iboe_join_multicast()
5015 ndev = dev_get_by_index(dev_addr->net, dev_addr->bound_dev_if); in cma_iboe_join_multicast()
5126 struct rdma_dev_addr *dev_addr; in cma_netdev_change() local
5129 dev_addr = &id_priv->id.route.addr.dev_addr; in cma_netdev_change()
5131 if ((dev_addr->bound_dev_if == ndev->ifindex) && in cma_netdev_change()
5132 (net_eq(dev_net(ndev), dev_addr->net)) && in cma_netdev_change()
5133 memcmp(dev_addr->src_dev_addr, ndev->dev_addr, ndev->addr_len)) { in cma_netdev_change()
5238 if (!memcmp(current_id->id.route.addr.dev_addr.dst_dev_addr, in cma_netevent_callback()
5554 rdma_addr_set_dgid(&id_priv->id.route.addr.dev_addr, in cma_query_ib_service_handler()
5556 ib_addr_set_pkey(&id_priv->id.route.addr.dev_addr, in cma_query_ib_service_handler()