Loading net/qrtr/ns.c +40 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ #define pr_fmt(fmt) "qrtr: %s(): " fmt, __func__ #include <linux/ipc_logging.h> #include <linux/module.h> #include <linux/qrtr.h> #include <linux/workqueue.h> Loading @@ -17,6 +18,10 @@ #define CREATE_TRACE_POINTS #include <trace/events/qrtr.h> #define NS_LOG_PAGE_CNT 4 static void *ns_ilc; #define NS_INFO(x, ...) ipc_log_string(ns_ilc, x, ##__VA_ARGS__) static RADIX_TREE(nodes, GFP_KERNEL); static struct { Loading Loading @@ -113,6 +118,8 @@ static int service_announce_new(struct sockaddr_qrtr *dest, trace_qrtr_ns_service_announce_new(srv->service, srv->instance, srv->node, srv->port); NS_INFO("%s: [0x%x:0x%x]@[0x%x:0x%x]\n", __func__, srv->service, srv->instance, srv->node, srv->port); iv.iov_base = &pkt; iv.iov_len = sizeof(pkt); Loading Loading @@ -140,6 +147,9 @@ static int service_announce_del(struct sockaddr_qrtr *dest, trace_qrtr_ns_service_announce_del(srv->service, srv->instance, srv->node, srv->port); NS_INFO("%s: [0x%x:0x%x]@[0x%x:0x%x]\n", __func__, srv->service, srv->instance, srv->node, srv->port); iv.iov_base = &pkt; iv.iov_len = sizeof(pkt); Loading Loading @@ -255,6 +265,9 @@ static struct qrtr_server *server_add(unsigned int service, trace_qrtr_ns_server_add(srv->service, srv->instance, srv->node, srv->port); NS_INFO("%s: [0x%x:0x%x]@[0x%x:0x%x]\n", __func__, srv->service, srv->instance, srv->node, srv->port); return srv; err: Loading Loading @@ -603,6 +616,29 @@ static void ctrl_cmd_del_lookup(struct sockaddr_qrtr *from, } } static void ns_log_msg(const struct qrtr_ctrl_pkt *pkt, struct sockaddr_qrtr *sq) { unsigned int cmd = le32_to_cpu(pkt->cmd); if (cmd == QRTR_TYPE_HELLO || cmd == QRTR_TYPE_BYE) NS_INFO("cmd:0x%x addr[0x%x]\n", cmd, sq->sq_node, sq->sq_port); else if (cmd == QRTR_TYPE_DEL_CLIENT) NS_INFO("cmd:0x%x addr[0x%x]\n", cmd, le32_to_cpu(pkt->client.node), le32_to_cpu(pkt->client.port)); else if (cmd == QRTR_TYPE_NEW_SERVER || cmd == QRTR_TYPE_DEL_SERVER) NS_INFO("cmd:0x%x SVC[0x%x:0x%x] addr[0x%x:0x%x]\n", cmd, le32_to_cpu(pkt->server.service), le32_to_cpu(pkt->server.instance), le32_to_cpu(pkt->server.node), le32_to_cpu(pkt->server.port)); else if (cmd == QRTR_TYPE_NEW_LOOKUP || cmd == QRTR_TYPE_DEL_LOOKUP) NS_INFO("cmd:0x%x SVC[0x%x:0x%x]\n", cmd, le32_to_cpu(pkt->server.service), le32_to_cpu(pkt->server.instance)); } static void qrtr_ns_worker(struct work_struct *work) { const struct qrtr_ctrl_pkt *pkt; Loading Loading @@ -644,6 +680,8 @@ static void qrtr_ns_worker(struct work_struct *work) trace_qrtr_ns_message(qrtr_ctrl_pkt_strings[cmd], sq.sq_node, sq.sq_port); ns_log_msg(pkt, &sq); ret = 0; switch (cmd) { case QRTR_TYPE_HELLO: Loading Loading @@ -708,6 +746,8 @@ void qrtr_ns_init(void) INIT_LIST_HEAD(&qrtr_ns.lookups); INIT_WORK(&qrtr_ns.work, qrtr_ns_worker); ns_ilc = ipc_log_context_create(NS_LOG_PAGE_CNT, "ns", 0); ret = sock_create_kern(&init_net, AF_QIPCRTR, SOCK_DGRAM, PF_QIPCRTR, &qrtr_ns.sock); if (ret < 0) Loading Loading
net/qrtr/ns.c +40 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ #define pr_fmt(fmt) "qrtr: %s(): " fmt, __func__ #include <linux/ipc_logging.h> #include <linux/module.h> #include <linux/qrtr.h> #include <linux/workqueue.h> Loading @@ -17,6 +18,10 @@ #define CREATE_TRACE_POINTS #include <trace/events/qrtr.h> #define NS_LOG_PAGE_CNT 4 static void *ns_ilc; #define NS_INFO(x, ...) ipc_log_string(ns_ilc, x, ##__VA_ARGS__) static RADIX_TREE(nodes, GFP_KERNEL); static struct { Loading Loading @@ -113,6 +118,8 @@ static int service_announce_new(struct sockaddr_qrtr *dest, trace_qrtr_ns_service_announce_new(srv->service, srv->instance, srv->node, srv->port); NS_INFO("%s: [0x%x:0x%x]@[0x%x:0x%x]\n", __func__, srv->service, srv->instance, srv->node, srv->port); iv.iov_base = &pkt; iv.iov_len = sizeof(pkt); Loading Loading @@ -140,6 +147,9 @@ static int service_announce_del(struct sockaddr_qrtr *dest, trace_qrtr_ns_service_announce_del(srv->service, srv->instance, srv->node, srv->port); NS_INFO("%s: [0x%x:0x%x]@[0x%x:0x%x]\n", __func__, srv->service, srv->instance, srv->node, srv->port); iv.iov_base = &pkt; iv.iov_len = sizeof(pkt); Loading Loading @@ -255,6 +265,9 @@ static struct qrtr_server *server_add(unsigned int service, trace_qrtr_ns_server_add(srv->service, srv->instance, srv->node, srv->port); NS_INFO("%s: [0x%x:0x%x]@[0x%x:0x%x]\n", __func__, srv->service, srv->instance, srv->node, srv->port); return srv; err: Loading Loading @@ -603,6 +616,29 @@ static void ctrl_cmd_del_lookup(struct sockaddr_qrtr *from, } } static void ns_log_msg(const struct qrtr_ctrl_pkt *pkt, struct sockaddr_qrtr *sq) { unsigned int cmd = le32_to_cpu(pkt->cmd); if (cmd == QRTR_TYPE_HELLO || cmd == QRTR_TYPE_BYE) NS_INFO("cmd:0x%x addr[0x%x]\n", cmd, sq->sq_node, sq->sq_port); else if (cmd == QRTR_TYPE_DEL_CLIENT) NS_INFO("cmd:0x%x addr[0x%x]\n", cmd, le32_to_cpu(pkt->client.node), le32_to_cpu(pkt->client.port)); else if (cmd == QRTR_TYPE_NEW_SERVER || cmd == QRTR_TYPE_DEL_SERVER) NS_INFO("cmd:0x%x SVC[0x%x:0x%x] addr[0x%x:0x%x]\n", cmd, le32_to_cpu(pkt->server.service), le32_to_cpu(pkt->server.instance), le32_to_cpu(pkt->server.node), le32_to_cpu(pkt->server.port)); else if (cmd == QRTR_TYPE_NEW_LOOKUP || cmd == QRTR_TYPE_DEL_LOOKUP) NS_INFO("cmd:0x%x SVC[0x%x:0x%x]\n", cmd, le32_to_cpu(pkt->server.service), le32_to_cpu(pkt->server.instance)); } static void qrtr_ns_worker(struct work_struct *work) { const struct qrtr_ctrl_pkt *pkt; Loading Loading @@ -644,6 +680,8 @@ static void qrtr_ns_worker(struct work_struct *work) trace_qrtr_ns_message(qrtr_ctrl_pkt_strings[cmd], sq.sq_node, sq.sq_port); ns_log_msg(pkt, &sq); ret = 0; switch (cmd) { case QRTR_TYPE_HELLO: Loading Loading @@ -708,6 +746,8 @@ void qrtr_ns_init(void) INIT_LIST_HEAD(&qrtr_ns.lookups); INIT_WORK(&qrtr_ns.work, qrtr_ns_worker); ns_ilc = ipc_log_context_create(NS_LOG_PAGE_CNT, "ns", 0); ret = sock_create_kern(&init_net, AF_QIPCRTR, SOCK_DGRAM, PF_QIPCRTR, &qrtr_ns.sock); if (ret < 0) Loading