From patchwork Thu Aug 17 17:35:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Fortin X-Patchwork-Id: 802796 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="Hy7Yr4OE"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xYD5k0yNKz9t4X for ; Fri, 18 Aug 2017 03:40:58 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753528AbdHQRk4 (ORCPT ); Thu, 17 Aug 2017 13:40:56 -0400 Received: from mail-wr0-f181.google.com ([209.85.128.181]:36387 "EHLO mail-wr0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753508AbdHQRkx (ORCPT ); Thu, 17 Aug 2017 13:40:53 -0400 Received: by mail-wr0-f181.google.com with SMTP id f8so5668393wrf.3 for ; Thu, 17 Aug 2017 10:40:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=1BOGQFvj6OpHfodS/AKEBoPAALA/iMYd/Q0uNEAVZ5Q=; b=Hy7Yr4OE4X6hh3RcJzaN7syrGMU1vEn7mixoe72vtY4r5bHatovSvN11zSWmXzz1qQ e4GE5k+D3/+aeEjr4pa/fU6CIKyqGjI35/mcKcfhz31ziD1ffjD8VxKeRH5+U8GHWIX6 5I3oDQ6iDSUeYpBQeKh709HKH6qPgxgIbgzsc= 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=1BOGQFvj6OpHfodS/AKEBoPAALA/iMYd/Q0uNEAVZ5Q=; b=NhbR0o1GkhIUnEZrLN7kOTZlXxn1OOR981SEhkOpgQ8g8J+OW+daAowlUHEtZNcDrO 1uK8WyCISTnf23hcqL8iaicFdEz+4dP+ymNVGoMqhAQQWwKcLFqcfB1KyYMGrbmX8iY2 ewDMmFgThSDye2plsrHqhuyQpjPXFnxfmtIzhL97tplQuSFTjKaeR+kONPAMUpl7yGTv FOc4i7t2LWJmW8/CW5qOxq3+Km28US5rvEUtK5a1lXN1WphGSzDX67ClBo++dg0UCe9N 7kenoaHh0mJ2BSrO3HC51zkwRDhineI9KvYTOaK3vmi9dEyOWdloJYI0p4jMwXdVDwbw j4VQ== X-Gm-Message-State: AHYfb5i4Sn12UaoC53eKwA4zlVGlRFi7HNKKhqcLhFoegEM8b//w7NvK SI6UJ9GxrxYiX9/jtFmyJh8X X-Received: by 10.223.148.162 with SMTP id 31mr4123835wrr.28.1502991652385; Thu, 17 Aug 2017 10:40:52 -0700 (PDT) Received: from localhost.localdomain ([37.169.21.172]) by smtp.googlemail.com with ESMTPSA id k13sm3902040wrd.4.2017.08.17.10.40.47 (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 17 Aug 2017 10:40:51 -0700 (PDT) From: Julien Fortin X-Google-Original-From: Julien Fortin To: netdev@vger.kernel.org Cc: roopa@cumulusnetworks.com, nikolay@cumulusnetworks.com, dsa@cumulusnetworks.com, Julien Fortin Subject: [PATCH iproute2 json v2 09/27] ip: iplink_hsr.c: add json output support Date: Thu, 17 Aug 2017 10:35:56 -0700 Message-Id: <20170817173614.54987-10-julien@cumulusnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170817173614.54987-1-julien@cumulusnetworks.com> References: <20170817173614.54987-1-julien@cumulusnetworks.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Julien Fortin Schema: hsr: IFLA_INFO_DATA { "slave1": { "type": "string", "attr": "IFLA_HSR_SLAVE1" }, "slave2": { "type": "string", "attr": "IFLA_HSR_SLAVE2" }, "seq_nr": { "type": "int", "attr": "IFLA_HSR_SEQ_NR" }, "supervision_addr": { "type": "int", "attr": "IFLA_HSR_SUPERVISION_ADDR" } } Signed-off-by: Julien Fortin --- ip/iplink_hsr.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/ip/iplink_hsr.c b/ip/iplink_hsr.c index 696b2c91..c673ccf7 100644 --- a/ip/iplink_hsr.c +++ b/ip/iplink_hsr.c @@ -110,30 +110,36 @@ static void hsr_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) RTA_PAYLOAD(tb[IFLA_HSR_SUPERVISION_ADDR]) < ETH_ALEN) return; - fprintf(f, "slave1 "); if (tb[IFLA_HSR_SLAVE1]) - fprintf(f, "%s ", - ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE1]))); + print_string(PRINT_ANY, + "slave1", + "slave1 %s ", + ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE1]))); else - fprintf(f, " "); + print_null(PRINT_ANY, "slave1", "slave1 %s ", ""); - fprintf(f, "slave2 "); if (tb[IFLA_HSR_SLAVE2]) - fprintf(f, "%s ", - ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE2]))); + print_string(PRINT_ANY, + "slave2", + "slave2 %s ", + ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE2]))); else - fprintf(f, " "); + print_null(PRINT_ANY, "slave2", "slave2 %s ", ""); if (tb[IFLA_HSR_SEQ_NR]) - fprintf(f, "sequence %d ", - rta_getattr_u16(tb[IFLA_HSR_SEQ_NR])); + print_int(PRINT_ANY, + "seq_nr", + "sequence %d ", + rta_getattr_u16(tb[IFLA_HSR_SEQ_NR])); if (tb[IFLA_HSR_SUPERVISION_ADDR]) - fprintf(f, "supervision %s ", - ll_addr_n2a(RTA_DATA(tb[IFLA_HSR_SUPERVISION_ADDR]), - RTA_PAYLOAD(tb[IFLA_HSR_SUPERVISION_ADDR]), - ARPHRD_VOID, - b1, sizeof(b1))); + print_string(PRINT_ANY, + "supervision_addr", + "supervision %s ", + ll_addr_n2a(RTA_DATA(tb[IFLA_HSR_SUPERVISION_ADDR]), + RTA_PAYLOAD(tb[IFLA_HSR_SUPERVISION_ADDR]), + ARPHRD_VOID, + b1, sizeof(b1))); } static void hsr_print_help(struct link_util *lu, int argc, char **argv,