Lines Matching refs:rxe
53 struct rxe_dev *rxe; in net_to_rxe() local
57 list_for_each_entry(rxe, &rxe_dev_list, list) { in net_to_rxe()
58 if (rxe->ndev == ndev) { in net_to_rxe()
59 found = rxe; in net_to_rxe()
70 struct rxe_dev *rxe; in get_rxe_by_name() local
74 list_for_each_entry(rxe, &rxe_dev_list, list) { in get_rxe_by_name()
75 if (!strcmp(name, rxe->ib_dev.name)) { in get_rxe_by_name()
76 found = rxe; in get_rxe_by_name()
87 struct device *rxe_dma_device(struct rxe_dev *rxe) in rxe_dma_device() argument
91 ndev = rxe->ndev; in rxe_dma_device()
99 int rxe_mcast_add(struct rxe_dev *rxe, union ib_gid *mgid) in rxe_mcast_add() argument
105 err = dev_mc_add(rxe->ndev, ll_addr); in rxe_mcast_add()
110 int rxe_mcast_delete(struct rxe_dev *rxe, union ib_gid *mgid) in rxe_mcast_delete() argument
116 err = dev_mc_del(rxe->ndev, ll_addr); in rxe_mcast_delete()
185 static struct dst_entry *rxe_find_route(struct rxe_dev *rxe, in rxe_find_route() argument
193 attr = rdma_get_gid_attr(&rxe->ib_dev, qp->attr.port_num, in rxe_find_route()
241 struct rxe_dev *rxe = net_to_rxe(ndev); in rxe_udp_encap_recv() local
244 if (!rxe && is_vlan_dev(rdev)) { in rxe_udp_encap_recv()
246 rxe = net_to_rxe(rdev); in rxe_udp_encap_recv()
248 if (!rxe) in rxe_udp_encap_recv()
257 pkt->rxe = rxe; in rxe_udp_encap_recv()
380 static int prepare4(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in prepare4() argument
390 dst = rxe_find_route(rxe, qp, av); in prepare4()
409 static int prepare6(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in prepare6() argument
417 dst = rxe_find_route(rxe, qp, av); in prepare6()
437 int rxe_prepare(struct rxe_dev *rxe, struct rxe_pkt_info *pkt, in rxe_prepare() argument
444 err = prepare4(rxe, pkt, skb, av); in rxe_prepare()
446 err = prepare6(rxe, pkt, skb, av); in rxe_prepare()
504 static inline int addr_same(struct rxe_dev *rxe, struct rxe_av *av) in addr_same() argument
506 return rxe->port.port_guid == av->grh.dgid.global.interface_id; in addr_same()
509 struct sk_buff *rxe_init_packet(struct rxe_dev *rxe, struct rxe_av *av, in rxe_init_packet() argument
518 attr = rdma_get_gid_attr(&rxe->ib_dev, port_num, av->grh.sgid_index); in rxe_init_packet()
536 skb_reserve(skb, hdr_len + LL_RESERVED_SPACE(rxe->ndev)); in rxe_init_packet()
544 pkt->rxe = rxe; in rxe_init_packet()
558 const char *rxe_parent_name(struct rxe_dev *rxe, unsigned int port_num) in rxe_parent_name() argument
560 return rxe->ndev->name; in rxe_parent_name()
563 enum rdma_link_layer rxe_link_layer(struct rxe_dev *rxe, unsigned int port_num) in rxe_link_layer() argument
571 struct rxe_dev *rxe = NULL; in rxe_net_add() local
573 rxe = (struct rxe_dev *)ib_alloc_device(sizeof(*rxe)); in rxe_net_add()
574 if (!rxe) in rxe_net_add()
577 rxe->ndev = ndev; in rxe_net_add()
579 err = rxe_add(rxe, ndev->mtu); in rxe_net_add()
581 ib_dealloc_device(&rxe->ib_dev); in rxe_net_add()
586 list_add_tail(&rxe->list, &rxe_dev_list); in rxe_net_add()
588 return rxe; in rxe_net_add()
595 struct rxe_dev *rxe = in rxe_remove_all() local
598 list_del(&rxe->list); in rxe_remove_all()
600 rxe_remove(rxe); in rxe_remove_all()
606 static void rxe_port_event(struct rxe_dev *rxe, in rxe_port_event() argument
611 ev.device = &rxe->ib_dev; in rxe_port_event()
619 void rxe_port_up(struct rxe_dev *rxe) in rxe_port_up() argument
623 port = &rxe->port; in rxe_port_up()
627 rxe_port_event(rxe, IB_EVENT_PORT_ACTIVE); in rxe_port_up()
628 pr_info("set %s active\n", rxe->ib_dev.name); in rxe_port_up()
632 void rxe_port_down(struct rxe_dev *rxe) in rxe_port_down() argument
636 port = &rxe->port; in rxe_port_down()
640 rxe_port_event(rxe, IB_EVENT_PORT_ERR); in rxe_port_down()
641 pr_info("set %s down\n", rxe->ib_dev.name); in rxe_port_down()
649 struct rxe_dev *rxe = net_to_rxe(ndev); in rxe_notify() local
651 if (!rxe) in rxe_notify()
656 list_del(&rxe->list); in rxe_notify()
657 rxe_remove(rxe); in rxe_notify()
660 rxe_port_up(rxe); in rxe_notify()
663 rxe_port_down(rxe); in rxe_notify()
667 rxe_set_mtu(rxe, ndev->mtu); in rxe_notify()
671 rxe_port_up(rxe); in rxe_notify()
673 rxe_port_down(rxe); in rxe_notify()