From patchwork Mon Feb 9 08:50:17 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Alpe X-Patchwork-Id: 437821 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 6930014012A for ; Mon, 9 Feb 2015 19:55:25 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933172AbbBIIzS (ORCPT ); Mon, 9 Feb 2015 03:55:18 -0500 Received: from sesbmg22.ericsson.net ([193.180.251.48]:48594 "EHLO sesbmg22.ericsson.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933170AbbBIIyk (ORCPT ); Mon, 9 Feb 2015 03:54:40 -0500 X-AuditID: c1b4fb30-f79106d000001184-8e-54d875cda6fb Received: from ESESSHC011.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id 15.7A.04484.DC578D45; Mon, 9 Feb 2015 09:54:37 +0100 (CET) Received: from tipsy.lab.linux.ericsson.se (10.35.28.120) by ESESSHC011.ericsson.se (153.88.183.51) with Microsoft SMTP Server (TLS) id 14.3.210.2; Mon, 9 Feb 2015 09:54:36 +0100 From: To: CC: , Richard Alpe Subject: [PATCH net-next v1 15/17] tipc: convert legacy nl stats show to nl compat Date: Mon, 9 Feb 2015 09:50:17 +0100 Message-ID: <1423471819-23112-16-git-send-email-richard.alpe@ericsson.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1423471819-23112-1-git-send-email-richard.alpe@ericsson.com> References: <1423471819-23112-1-git-send-email-richard.alpe@ericsson.com> MIME-Version: 1.0 X-Originating-IP: [10.35.28.120] X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprKLMWRmVeSWpSXmKPExsUyM+Jvje7Z0hshBmuW6locWyBmseV8lgOT x+4Fn5k8Pm+SC2CK4rJJSc3JLEst0rdL4Mp48uQBY8Fv6Yp7ew4xNTDuE+9i5OSQEDCRmH3j EzuELSZx4d56ti5GLg4hgSOMEi+3bGEBSQgJbGOU+LvJsYuRg4NNQFHiyDM3kLCIgIzE0f4F bCA2s0C4xOEd71lBbGGBIIlty3czg9gsAioSOx4sBYvzCnhJvHu8mhFil5zE+eM/wWo4geKn tt1ihVjlKbFgzzdGiHpBiZMzn7BAzJeQOPjiBTNEjZpE641XzBBzFCS+zexmmsAoOAtJyywk LQsYmVYxihanFiflphsZ6aUWZSYXF+fn6eWllmxiBIbjwS2/DXYwvnzueIhRgINRiYd3g9KN ECHWxLLiytxDjNIcLErivHbGh0KEBNITS1KzU1MLUovii0pzUosPMTJxcEo1MHb+L+bZExLl cciDd0/A+Xc/1vxltDq/1K1ho93G48rWhySi82W33bVYdq+mNs9kx6xa1ukXK2dwSR55/qdp 9flbFxnNc1d+Of3QLNWd9fZiFfn0yPrdxQJrTys8cDq8KPl/btHS//UtZ3rEeKzrJ3DZXJvg ECWwtToo/sMmweV+Zlk6j/Jk7imxFGckGmoxFxUnAgDoluYhKAIAAA== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Richard Alpe Convert TIPC_CMD_SHOW_STATS to compat layer. This command does not have any counterpart in the new API, meaning it now solely exists as a function in the compat layer. Signed-off-by: Richard Alpe Reviewed-by: Erik Hugne Reviewed-by: Ying Xue Reviewed-by: Jon Maloy --- net/tipc/config.c | 35 ----------------------------------- net/tipc/netlink_compat.c | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 35 deletions(-) diff --git a/net/tipc/config.c b/net/tipc/config.c index 019f46c..c2ad2ff 100644 --- a/net/tipc/config.c +++ b/net/tipc/config.c @@ -83,38 +83,6 @@ struct sk_buff *tipc_cfg_reply_string_type(u16 tlv_type, char *string) return buf; } -static struct sk_buff *tipc_show_stats(void) -{ - struct sk_buff *buf; - struct tlv_desc *rep_tlv; - char *pb; - int pb_len; - int str_len; - u32 value; - - if (!TLV_CHECK(req_tlv_area, req_tlv_space, TIPC_TLV_UNSIGNED)) - return tipc_cfg_reply_error_string(TIPC_CFG_TLV_ERROR); - - value = ntohl(*(u32 *)TLV_DATA(req_tlv_area)); - if (value != 0) - return tipc_cfg_reply_error_string("unsupported argument"); - - buf = tipc_cfg_reply_alloc(TLV_SPACE(ULTRA_STRING_MAX_LEN)); - if (buf == NULL) - return NULL; - - rep_tlv = (struct tlv_desc *)buf->data; - pb = TLV_DATA(rep_tlv); - pb_len = ULTRA_STRING_MAX_LEN; - - str_len = tipc_snprintf(pb, pb_len, "TIPC version " TIPC_MOD_VER "\n"); - str_len += 1; /* for "\0" */ - skb_put(buf, TLV_SPACE(str_len)); - TLV_SET(rep_tlv, TIPC_TLV_ULTRA_STRING, NULL, str_len); - - return buf; -} - struct sk_buff *tipc_cfg_do_cmd(struct net *net, u32 orig_node, u16 cmd, const void *request_area, int request_space, int reply_headroom) @@ -142,9 +110,6 @@ struct sk_buff *tipc_cfg_do_cmd(struct net *net, u32 orig_node, u16 cmd, case TIPC_CMD_NOOP: rep_tlv_buf = tipc_cfg_reply_none(); break; - case TIPC_CMD_SHOW_STATS: - rep_tlv_buf = tipc_show_stats(); - break; case TIPC_CMD_NOT_NET_ADMIN: rep_tlv_buf = tipc_cfg_reply_error_string(TIPC_CFG_NOT_NET_ADMIN); diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c index 4159090..cb9086d 100644 --- a/net/tipc/netlink_compat.c +++ b/net/tipc/netlink_compat.c @@ -888,6 +888,18 @@ static int tipc_nl_compat_net_dump(struct tipc_nl_compat_msg *msg, return tipc_add_tlv(msg->rep, TIPC_TLV_UNSIGNED, &id, sizeof(id)); } +static int tipc_cmd_show_stats_compat(struct tipc_nl_compat_msg *msg) +{ + msg->rep = tipc_tlv_alloc(ULTRA_STRING_MAX_LEN); + if (!msg->rep) + return -ENOMEM; + + tipc_tlv_init(msg->rep, TIPC_TLV_ULTRA_STRING); + tipc_tlv_sprintf(msg->rep, "TIPC version " TIPC_MOD_VER "\n"); + + return 0; +} + static int tipc_nl_compat_handle(struct tipc_nl_compat_msg *msg) { struct tipc_nl_compat_cmd_dump dump; @@ -976,6 +988,8 @@ static int tipc_nl_compat_handle(struct tipc_nl_compat_msg *msg) dump.dumpit = tipc_nl_net_dump; dump.format = tipc_nl_compat_net_dump; return tipc_nl_compat_dumpit(&dump, msg); + case TIPC_CMD_SHOW_STATS: + return tipc_cmd_show_stats_compat(msg); } return -EOPNOTSUPP; @@ -1088,6 +1102,7 @@ static int tipc_nl_compat_tmp_wrap(struct sk_buff *skb, struct genl_info *info) case TIPC_CMD_SET_NODE_ADDR: case TIPC_CMD_SET_NETID: case TIPC_CMD_GET_NETID: + case TIPC_CMD_SHOW_STATS: return tipc_nl_compat_recv(skb, info); }