mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
net: qrtr: ns: Add ipc logging to ns
Log packets processed by ns using ipc logging framework. Change-Id: I08e9b8551efb4a58cf899835cfac25c1952bd4b8 Signed-off-by: Jay Jayanna <jayanna@codeaurora.org> Signed-off-by: Chris Lew <quic_clew@quicinc.com>
This commit is contained in:
parent
718816b952
commit
1dfa161834
|
|
@ -8,6 +8,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>
|
||||
|
|
@ -19,6 +20,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 DEFINE_XARRAY(nodes);
|
||||
|
||||
static struct {
|
||||
|
|
@ -117,6 +122,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);
|
||||
|
||||
|
|
@ -144,6 +151,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);
|
||||
|
||||
|
|
@ -260,6 +270,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:
|
||||
|
|
@ -581,6 +594,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 node[0x%x]\n", cmd, sq->sq_node);
|
||||
else if (cmd == QRTR_TYPE_DEL_CLIENT)
|
||||
NS_INFO("cmd:0x%x addr[0x%x: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 kthread_work *work)
|
||||
{
|
||||
const struct qrtr_ctrl_pkt *pkt;
|
||||
|
|
@ -622,6 +658,8 @@ static void qrtr_ns_worker(struct kthread_work *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:
|
||||
|
|
@ -688,6 +726,8 @@ int qrtr_ns_init(void)
|
|||
kthread_init_worker(&qrtr_ns.kworker);
|
||||
kthread_init_work(&qrtr_ns.work, qrtr_ns_worker);
|
||||
|
||||
ns_ilc = ipc_log_context_create(NS_LOG_PAGE_CNT, "qrtr_ns", 0);
|
||||
|
||||
ret = sock_create_kern(&init_net, AF_QIPCRTR, SOCK_DGRAM,
|
||||
PF_QIPCRTR, &qrtr_ns.sock);
|
||||
if (ret < 0)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user