From 02efe22a55a613d8f466879e72efca78a7fd0488 Mon Sep 17 00:00:00 2001 From: Bjorn Andersson Date: Wed, 7 Jun 2017 09:53:25 -0700 Subject: [PATCH] rmtfs: Handle qrtr control messages The nameserver notifies all registered servers about leaving clients. Stub the handling of these messages, so they are not confused with the qmi messages. Signed-off-by: Bjorn Andersson --- rmtfs.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/rmtfs.c b/rmtfs.c index ba37bcf..6fabf08 100644 --- a/rmtfs.c +++ b/rmtfs.c @@ -384,6 +384,25 @@ static int handle_rfsa(int sock) return 0; } +static int rmtfs_bye(uint32_t node, void *data) +{ + dbgprintf("[RMTFS] bye from %d\n", node); + + return 0; +} + +static int rmtfs_del_client(uint32_t node, uint32_t port, void *data) +{ + dbgprintf("[RMTFS] del_client %d:%d\n", node, port); + + return 0; +} + +struct qrtr_ind_ops rmtfs_ctrl_ops = { + .bye = rmtfs_bye, + .del_client = rmtfs_del_client, +}; + static int handle_rmtfs(int sock) { struct sockaddr_qrtr sq; @@ -401,6 +420,11 @@ static int handle_rmtfs(int sock) dbgprintf("[RMTFS] packet; from: %d:%d\n", sq.sq_node, sq.sq_port); + if (qrtr_is_ctrl_addr(&sq)) { + return qrtr_handle_ctrl_msg(&sq, buf, sizeof(buf), + &rmtfs_ctrl_ops, NULL); + } + qmi = (struct qmi_packet*)buf; if (qmi->msg_len != ret - sizeof(struct qmi_packet)) { fprintf(stderr, "[RMTFS] Invalid length of incoming qmi request\n");