From patchwork Wed Jan 18 06:12:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hangbin Liu X-Patchwork-Id: 716526 X-Patchwork-Delegate: shemminger@vyatta.com 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 3v3H0j5zH5z9t0q for ; Wed, 18 Jan 2017 17:21:09 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JrbGmCsS"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751698AbdARGVA (ORCPT ); Wed, 18 Jan 2017 01:21:00 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:33632 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751651AbdARGU6 (ORCPT ); Wed, 18 Jan 2017 01:20:58 -0500 Received: by mail-pg0-f68.google.com with SMTP id 194so521741pgd.0 for ; Tue, 17 Jan 2017 22:20:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=RgvBFdsaalrPUttJ1OyjR8ia39L3W5lLJ5JXXM55A5c=; b=JrbGmCsSURfQ2vl1aC1bsXLe9UUoyLgoe5sLUQqxbjnAKVqDStncPMJSz68lqY0w1j JHtonIvnHn+LfPmuFUKWPtQ+wXiIlf2dwpQ/vTmRPTuHqpaoP1yKy5sd5YctgZEBkTVt R2ouMQqvkoeQ9WrWVw2kP+FfydfzdwYicAVcSSAcCF8Lo8gTRlJcKLjPla9gCpZn+i59 mcs2zj998aOOBw1kRKdeV3HNlJe8QMnvU1rkYW/Epqy4RIKnN/ymvW129N1LjWfCp1+Q qYnzSjTjr5Ld2GTRB1wRFkIt8jMEFCIo92XPxVIDCbF26Vx+e3WkRGSGcnUMVnOYFVr4 8pzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=RgvBFdsaalrPUttJ1OyjR8ia39L3W5lLJ5JXXM55A5c=; b=GMlEkBE5tmQAYyLyMMXDc7Tpm3zBWSKNschMpDU8RuA5mxeyn9n/OHqUwb9AkZABFZ aJ1NZ7rpP2rfnwRCFDGKAiA1Tb+UO7k+FhDtF9SX3qF24NSHuX+9iirCzFC5VYSuZyp2 z+7qXSZCrYblxViDzdJDMuOKwKMbi/Dl4kznu5v9x0OwQ3KZO2L9/b5X3ZJFTaC5iIj0 yb7ROldrD8UbEGk3jF+7lMk5pc7DXuaLs6GLXGTVHC/GEs6GJCj0jC46S/VZ719d7Qkn CR8K8KrFQbuY5nHXmT9sOSS2TTecnC0O75wBgCjsAueto9KVr7J63FrRYH05XGOhUgrL OoZw== X-Gm-Message-State: AIkVDXLHeAqPjHdNvzGBTVKonHuKLmiWMkPHboIhwg4ST6sGFqPij4iQLMcQ4pzeBjtB4A== X-Received: by 10.84.171.195 with SMTP id l61mr2614333plb.84.1484719998541; Tue, 17 Jan 2017 22:13:18 -0800 (PST) Received: from leo.usersys.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id s65sm60516570pgb.25.2017.01.17.22.13.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Jan 2017 22:13:18 -0800 (PST) From: Hangbin Liu To: netdev@vger.kernel.org Cc: Nikolay Aleksandrov , Hangbin Liu Subject: [PATCHv2 iproute2 net-next 3/5] iplink: bridge: add support for IFLA_BR_MCAST_STATS_ENABLED Date: Wed, 18 Jan 2017 14:12:49 +0800 Message-Id: <1484719971-21693-4-git-send-email-liuhangbin@gmail.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1484719971-21693-1-git-send-email-liuhangbin@gmail.com> References: <1484719971-21693-1-git-send-email-liuhangbin@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch implements support for the IFLA_BR_MCAST_STATS_ENABLED attribute in iproute2 so it can enable/disable mcast stats accounting. Signed-off-by: Hangbin Liu Reviewed-by: Nikolay Aleksandrov --- ip/iplink_bridge.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ip/iplink_bridge.c b/ip/iplink_bridge.c index cd495b3..46bbbee 100644 --- a/ip/iplink_bridge.c +++ b/ip/iplink_bridge.c @@ -49,6 +49,7 @@ static void print_explain(FILE *f) " [ mcast_query_interval QUERY_INTERVAL ]\n" " [ mcast_query_response_interval QUERY_RESPONSE_INTERVAL ]\n" " [ mcast_startup_query_interval STARTUP_QUERY_INTERVAL ]\n" + " [ mcast_stats_enabled MCAST_STATS_ENABLED ]\n" " [ nf_call_iptables NF_CALL_IPTABLES ]\n" " [ nf_call_ip6tables NF_CALL_IP6TABLES ]\n" " [ nf_call_arptables NF_CALL_ARPTABLES ]\n" @@ -299,6 +300,14 @@ static int bridge_parse_opt(struct link_util *lu, int argc, char **argv, addattr64(n, 1024, IFLA_BR_MCAST_STARTUP_QUERY_INTVL, mcast_startup_query_intvl); + } else if (matches(*argv, "mcast_stats_enabled") == 0) { + __u8 mcast_stats_enabled; + + NEXT_ARG(); + if (get_u8(&mcast_stats_enabled, *argv, 0)) + invarg("invalid mcast_stats_enabled", *argv); + addattr8(n, 1024, IFLA_BR_MCAST_STATS_ENABLED, + mcast_stats_enabled); } else if (matches(*argv, "nf_call_iptables") == 0) { __u8 nf_call_ipt; @@ -524,6 +533,10 @@ static void bridge_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) fprintf(f, "mcast_startup_query_interval %llu ", rta_getattr_u64(tb[IFLA_BR_MCAST_STARTUP_QUERY_INTVL])); + if (tb[IFLA_BR_MCAST_STATS_ENABLED]) + fprintf(f, "mcast_stats_enabled %u ", + rta_getattr_u8(tb[IFLA_BR_MCAST_STATS_ENABLED])); + if (tb[IFLA_BR_NF_CALL_IPTABLES]) fprintf(f, "nf_call_iptables %u ", rta_getattr_u8(tb[IFLA_BR_NF_CALL_IPTABLES]));