Lines Matching refs:qrtr_ns
27 } qrtr_ns; variable
127 return kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); in service_announce_new()
154 ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); in service_announce_del()
185 ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); in lookup_notify()
198 node = node_get(qrtr_ns.local_node); in announce_servers()
286 if (srv->node == qrtr_ns.local_node) in server_del()
287 service_announce_del(&qrtr_ns.bcast_sq, srv); in server_del()
290 list_for_each(li, &qrtr_ns.lookups) { in server_del()
321 ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); in say_hello()
378 local_node = node_get(qrtr_ns.local_node); in ctrl_cmd_bye()
405 ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); in ctrl_cmd_bye()
443 if (from->sq_node == qrtr_ns.local_node && from->sq_port != port) in ctrl_cmd_del_client()
447 list_for_each_safe(li, tmp, &qrtr_ns.lookups) { in ctrl_cmd_del_client()
464 local_node = node_get(qrtr_ns.local_node); in ctrl_cmd_del_client()
492 ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt)); in ctrl_cmd_del_client()
515 if (from->sq_node == qrtr_ns.local_node) { in ctrl_cmd_new_server()
528 if (srv->node == qrtr_ns.local_node) { in ctrl_cmd_new_server()
529 ret = service_announce_new(&qrtr_ns.bcast_sq, srv); in ctrl_cmd_new_server()
537 list_for_each(li, &qrtr_ns.lookups) { in ctrl_cmd_new_server()
557 if (from->sq_node == qrtr_ns.local_node) { in ctrl_cmd_del_server()
567 if (from->sq_node == qrtr_ns.local_node && from->sq_port != port) in ctrl_cmd_del_server()
589 if (from->sq_node != qrtr_ns.local_node) in ctrl_cmd_new_lookup()
599 list_add_tail(&lookup->li, &qrtr_ns.lookups); in ctrl_cmd_new_lookup()
653 list_for_each_safe(li, tmp, &qrtr_ns.lookups) { in ctrl_cmd_del_lookup()
692 msglen = kernel_recvmsg(qrtr_ns.sock, &msg, &iv, 1, in qrtr_ns_worker()
763 queue_work(qrtr_ns.workqueue, &qrtr_ns.work); in qrtr_ns_data_ready()
771 INIT_LIST_HEAD(&qrtr_ns.lookups); in qrtr_ns_init()
772 INIT_WORK(&qrtr_ns.work, qrtr_ns_worker); in qrtr_ns_init()
775 PF_QIPCRTR, &qrtr_ns.sock); in qrtr_ns_init()
779 ret = kernel_getsockname(qrtr_ns.sock, (struct sockaddr *)&sq); in qrtr_ns_init()
785 qrtr_ns.workqueue = alloc_workqueue("qrtr_ns_handler", WQ_UNBOUND, 1); in qrtr_ns_init()
786 if (!qrtr_ns.workqueue) { in qrtr_ns_init()
791 qrtr_ns.sock->sk->sk_data_ready = qrtr_ns_data_ready; in qrtr_ns_init()
794 qrtr_ns.local_node = sq.sq_node; in qrtr_ns_init()
796 ret = kernel_bind(qrtr_ns.sock, (struct sockaddr *)&sq, sizeof(sq)); in qrtr_ns_init()
802 qrtr_ns.bcast_sq.sq_family = AF_QIPCRTR; in qrtr_ns_init()
803 qrtr_ns.bcast_sq.sq_node = QRTR_NODE_BCAST; in qrtr_ns_init()
804 qrtr_ns.bcast_sq.sq_port = QRTR_PORT_CTRL; in qrtr_ns_init()
806 ret = say_hello(&qrtr_ns.bcast_sq); in qrtr_ns_init()
813 destroy_workqueue(qrtr_ns.workqueue); in qrtr_ns_init()
815 sock_release(qrtr_ns.sock); in qrtr_ns_init()
821 cancel_work_sync(&qrtr_ns.work); in qrtr_ns_remove()
822 destroy_workqueue(qrtr_ns.workqueue); in qrtr_ns_remove()
823 sock_release(qrtr_ns.sock); in qrtr_ns_remove()