From patchwork Mon Dec 16 06:43:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Poirier X-Patchwork-Id: 1210106 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) 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; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="EFs0/M1F"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47bsFK4Rtvz9sPT for ; Mon, 16 Dec 2019 17:44:21 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726641AbfLPGoI (ORCPT ); Mon, 16 Dec 2019 01:44:08 -0500 Received: from mail-pj1-f49.google.com ([209.85.216.49]:43033 "EHLO mail-pj1-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726617AbfLPGoH (ORCPT ); Mon, 16 Dec 2019 01:44:07 -0500 Received: by mail-pj1-f49.google.com with SMTP id g4so2532447pjs.10 for ; Sun, 15 Dec 2019 22:44:07 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=CUo0IT2rz5u5mxNOTF03IjLY7vKSxV7kYfH3bgfJwUc=; b=EFs0/M1FfhPQG8FwXx3/p+tyiOKtTFKCfTcwdHS3RN2TUGkooZ4vXVQ52vtnTogzrw LLgWajx3uMtBQFbwK98D3K8bsBRopdph7QZJiCKUjNFTekI8Fjq34sa3HO4waIOjMI/2 KNomad8vQudE4knlEP8rMh+/iOw7jOPRkBuzQ= 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:mime-version:content-transfer-encoding; bh=CUo0IT2rz5u5mxNOTF03IjLY7vKSxV7kYfH3bgfJwUc=; b=qI2g4iGVjkXitAxixPAvel3Zoa2zLU3JHmz8Dyx+LRrS4xH/mYiFBBJMbHAOzsFThs xmuFBaPFT1wueBgiXnk1Oi4JCrDbN+dh8gUBhTPBjLkAaei19qsRC537OIf3IVUZTD4l 8LzYhIooOWfBpVRURHLKA0J4kg/soJ5r1Lfw8u3LiJyUDjxVa/9+OX5kuN+cvCZOREyt kVVfle6ku0IbKSY0oAloihfP1wKkFlxSOdUTZMKWkF9w6INhzGVMk0nLJ/5rUhsizGnU 27nTXyCcEa23FADQpserbbom8sqxKQa8RSI1ViL8hE9zUJ3BE5O7yfrqpqi5QixM+t7f iNkQ== X-Gm-Message-State: APjAAAXyT5jRGMBSGT5e4mbGAGvaXdN0+uE6vCbcBL/Qko1Q2L0Kn1BX tu7qaiZt5GzCZG9rSOMn9eE0sezPtOM= X-Google-Smtp-Source: APXvYqxmln2oA+6vBpyFAZRJgGs+vhfodLv2uAQu81xKqOiEA+ESJU3a2LfTVYbGfHTu91hJsG4R+A== X-Received: by 2002:a17:90a:2188:: with SMTP id q8mr15936325pjc.47.1576478646995; Sun, 15 Dec 2019 22:44:06 -0800 (PST) Received: from f3.synalogic.ca (ag061063.dynamic.ppp.asahi-net.or.jp. [157.107.61.63]) by smtp.gmail.com with ESMTPSA id y62sm21881502pfg.45.2019.12.15.22.44.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 22:44:06 -0800 (PST) From: Benjamin Poirier To: netdev@vger.kernel.org Cc: Roopa Prabhu Subject: [PATCH iproute2 1/8] json_print: Remove declaration without implementation Date: Mon, 16 Dec 2019 15:43:37 +0900 Message-Id: <20191216064344.1470824-2-bpoirier@cumulusnetworks.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> References: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Fixes: 6377572f0aa8 ("ip: ip_print: add new API to print JSON or regular format output") Signed-off-by: Benjamin Poirier --- include/json_print.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/json_print.h b/include/json_print.h index fe92d14c..6695654f 100644 --- a/include/json_print.h +++ b/include/json_print.h @@ -34,8 +34,6 @@ void delete_json_obj(void); bool is_json_context(void); -void fflush_fp(void); - void open_json_object(const char *str); void close_json_object(void); void open_json_array(enum output_type type, const char *delim); From patchwork Mon Dec 16 06:43:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Poirier X-Patchwork-Id: 1210107 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) 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; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="Wzlh2y04"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47bsFL10bJz9sQp for ; Mon, 16 Dec 2019 17:44:22 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726664AbfLPGoK (ORCPT ); Mon, 16 Dec 2019 01:44:10 -0500 Received: from mail-pf1-f175.google.com ([209.85.210.175]:47021 "EHLO mail-pf1-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726054AbfLPGoJ (ORCPT ); Mon, 16 Dec 2019 01:44:09 -0500 Received: by mail-pf1-f175.google.com with SMTP id y14so5027811pfm.13 for ; Sun, 15 Dec 2019 22:44:09 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=BFM6++6pj232g5zVopS7EPYCO+SS3KwTkhcwJUtE7ng=; b=Wzlh2y04CEykc8NQzWC5Ofr9naKEs2vMwJjDfGjvaEQuLx2xTJD4GOn7DHFRDd0kiE EpqQd0Gg377u9GDNwZD51xUjIMnq3L4JsNGUfoIwsiL+PYbwWyBfnkbLOj9luAB9H4ai T6CDclUEXGeXVDc5QVkBZ7Mqa8p04tXwrsHkU= 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:mime-version:content-transfer-encoding; bh=BFM6++6pj232g5zVopS7EPYCO+SS3KwTkhcwJUtE7ng=; b=uhedFg9r4KYan+i1QD23a9CaJ3rJ3kZEsPsaEpASlAfkHsTbs2P5f9+LssQBDDBtXc 9zVWbZVB9BxnlJtXaIF6cggx1mBXu1dnhc+K34epfEfuz9Ol7pjEW8VbsPdU+/j81zkc /vyZioUpRjmvSJUVIgZEV/cYfBp1F+JsYJxIZ+b+qF84upntYPxrx/r1NcbXOkQApCsw F9TvSO4y7Md3QyNnXlL+MctOeX+5ITHdZ43o5gDSSE83Y9ty8sF0cQ9WYi1cprroTGz8 mQGSZpiWq45cY5gSzKnj3lxMaIzSWmJa5++2TsNTE/HamPS5kNIMDRynqO2sby1c1pA5 N7EQ== X-Gm-Message-State: APjAAAXxzu9LbOO5m6uYeRiKI9rWJiFRFHAOLbYA7oClvWggOuQ3PWUk nkq41vg1wq0MdM4iQUTzpIq+faN/HWE= X-Google-Smtp-Source: APXvYqw31QaIu/qVtaKuZ2UeEwbkHSmcXYMYHUdaR1JdigTtRjNhGoANf2Co6kaiyZOtn8avQ3myjQ== X-Received: by 2002:a63:5818:: with SMTP id m24mr16343142pgb.358.1576478648483; Sun, 15 Dec 2019 22:44:08 -0800 (PST) Received: from f3.synalogic.ca (ag061063.dynamic.ppp.asahi-net.or.jp. [157.107.61.63]) by smtp.gmail.com with ESMTPSA id y62sm21881502pfg.45.2019.12.15.22.44.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 22:44:08 -0800 (PST) From: Benjamin Poirier To: netdev@vger.kernel.org Cc: Roopa Prabhu Subject: [PATCH iproute2 2/8] testsuite: Fix line count test Date: Mon, 16 Dec 2019 15:43:38 +0900 Message-Id: <20191216064344.1470824-3-bpoirier@cumulusnetworks.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> References: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org a substring match is not enough, ex: 10 != 1 Fixes: 30383b074de1 ("tests: Add output testing") Signed-off-by: Benjamin Poirier --- testsuite/lib/generic.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/lib/generic.sh b/testsuite/lib/generic.sh index f92260fc..e909008a 100644 --- a/testsuite/lib/generic.sh +++ b/testsuite/lib/generic.sh @@ -121,7 +121,7 @@ test_on_not() test_lines_count() { echo -n "test on lines count ($1): " - if cat "$STD_OUT" | wc -l | grep -q "$1" + if [ $(cat "$STD_OUT" | wc -l) -eq "$1" ] then pr_success else From patchwork Mon Dec 16 06:43:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Poirier X-Patchwork-Id: 1210108 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) 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; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="EXPGkAve"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47bsFL4ShQz9sPn for ; Mon, 16 Dec 2019 17:44:22 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726694AbfLPGoM (ORCPT ); Mon, 16 Dec 2019 01:44:12 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:39721 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726670AbfLPGoL (ORCPT ); Mon, 16 Dec 2019 01:44:11 -0500 Received: by mail-pg1-f195.google.com with SMTP id b137so3105067pga.6 for ; Sun, 15 Dec 2019 22:44:10 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=v+Ghy7hQa5OKBRuDo+cmfYhwEztPqpKLTm5YgMk1o7s=; b=EXPGkAved4xB99CF7ZvimTaSFGy6S74M8hhXaQZZwrc9t72U9dIrbSIIO3lKh0g2NS exTtTKEFC6WtqcElFgKrwqJqqOSYahpv7bZDgU5TaDdjRxNIkL/wlahNyMiLzIPhrsdv bHHiUxL8ByQU4VkeCCm3hV6Z38iDeROJRFrsw= 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:mime-version:content-transfer-encoding; bh=v+Ghy7hQa5OKBRuDo+cmfYhwEztPqpKLTm5YgMk1o7s=; b=Sbj3QhWY9MqygD+kwe3CagN8gY1uMcB/NgGPB84qovs0aYzgnuwT7q5WhZ4W9+ch3x QFSV9ibzlJh+9Qu9lC+M9SfYa4H0eSoui8fnofUp/jSpcRaSDPaUD9ypQj/a+iM2KBnx 1z0Obm55iSbWKgusO/teI8QdJ3FHxRcc8IAEdWPvheafC+OE4wW3kBSJVDX3JBveF80v hdjsQCommUlAR1Raj1gj9mGsrdSonzwFv3EjNyp9ZEnCIy6lSoJWQrG41jMlLuesPL9I fgqea9SUDPCvwp+FOTITi75rNE+l3zfnRtSjXVGSd0XcXxQEx+eq2KEXQxYYQcwwG7zg 3aFg== X-Gm-Message-State: APjAAAVLU6VGE3k2fuNnsSu34fyyl23P0JCiQnEWi4EN0DbLk8G0j49Z hV5blhcEqEp/fcpkXVbu4WD7ZKj7Yos= X-Google-Smtp-Source: APXvYqy48UPQtDOLcMavLOetsLNwAFcqvZmk+Je5pkZkJmhqalQDkClBH+NNMgHHzw24vNx43CmQWA== X-Received: by 2002:a63:2a06:: with SMTP id q6mr15684573pgq.92.1576478650034; Sun, 15 Dec 2019 22:44:10 -0800 (PST) Received: from f3.synalogic.ca (ag061063.dynamic.ppp.asahi-net.or.jp. [157.107.61.63]) by smtp.gmail.com with ESMTPSA id y62sm21881502pfg.45.2019.12.15.22.44.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 22:44:09 -0800 (PST) From: Benjamin Poirier To: netdev@vger.kernel.org Cc: Roopa Prabhu Subject: [PATCH iproute2 3/8] bridge: Fix typo in error messages Date: Mon, 16 Dec 2019 15:43:39 +0900 Message-Id: <20191216064344.1470824-4-bpoirier@cumulusnetworks.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> References: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Fixes: 9eff0e5cc447 ("bridge: Add vlan configuration support") Fixes: 7abf5de677e3 ("bridge: vlan: add support to display per-vlan statistics") Signed-off-by: Benjamin Poirier --- bridge/vlan.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bridge/vlan.c b/bridge/vlan.c index 6d33b0a9..6dc694b6 100644 --- a/bridge/vlan.c +++ b/bridge/vlan.c @@ -576,7 +576,7 @@ static int vlan_show(int argc, char **argv) (compress_vlans ? RTEXT_FILTER_BRVLAN_COMPRESSED : RTEXT_FILTER_BRVLAN)) < 0) { - perror("Cannont send dump request"); + perror("Cannot send dump request"); exit(1); } @@ -601,7 +601,7 @@ static int vlan_show(int argc, char **argv) filt_mask = IFLA_STATS_FILTER_BIT(IFLA_STATS_LINK_XSTATS); if (rtnl_statsdump_req_filter(&rth, AF_UNSPEC, filt_mask) < 0) { - perror("Cannont send dump request"); + perror("Cannot send dump request"); exit(1); } @@ -615,7 +615,7 @@ static int vlan_show(int argc, char **argv) filt_mask = IFLA_STATS_FILTER_BIT(IFLA_STATS_LINK_XSTATS_SLAVE); if (rtnl_statsdump_req_filter(&rth, AF_UNSPEC, filt_mask) < 0) { - perror("Cannont send slave dump request"); + perror("Cannot send slave dump request"); exit(1); } From patchwork Mon Dec 16 06:43:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Poirier X-Patchwork-Id: 1210109 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) 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; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="QhayTDrP"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47bsFM0yK2z9sPT for ; Mon, 16 Dec 2019 17:44:23 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726716AbfLPGoO (ORCPT ); Mon, 16 Dec 2019 01:44:14 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:37355 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726670AbfLPGoM (ORCPT ); Mon, 16 Dec 2019 01:44:12 -0500 Received: by mail-pl1-f193.google.com with SMTP id c23so4038455plz.4 for ; Sun, 15 Dec 2019 22:44:12 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=GNOs1/KDJOd0yffVnfMRy0F3QXemxl25bzzNSyu2EEI=; b=QhayTDrPgAncjuVK/tBhsZT/pqBvW1mHh84IMQ3WpnzKXFExji92mz4y5i3lIku6UR ATQjRxYXOOCLiMhAOnrq6b/Jw0jiBIERw/H3DdUjZj5/ns0n9ISpNAn5Y6YMvb5P54Vo ZkNsTCUr3sTWnvSYBgr6736HQs0FDsZeLtAcA= 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:mime-version:content-transfer-encoding; bh=GNOs1/KDJOd0yffVnfMRy0F3QXemxl25bzzNSyu2EEI=; b=nDuFuGxtDA7wwimYIyFyLIMNKAM1+Hr2hYio+6qy9elK9flnQSm/9sk4Z8y/x1SnzP KBAsI+7cn657doVxqezzfpU9kMVMJaf8nPm3Sa7u7gRkyT6G02/lzaCQtVT0NgPNyNsY jNaooK1ct0d+nrTdsy0T5zHspI4+1e2Nt/amjqEhq82VP7Utwc9/0ikkiQ8czM0nutxt 44BX57VowXMAOKGFn+zRAhP3lWHMY5KVgGz4bIRlkUf0NStKbzDcxhj1bIzd2FM5V0VW kX8siqerh4EGzW6Hg4ebdc/dePYm2YddWZI0ujeJS6RNF1+w6KNaU5if7PPeSbV83wbn S3WQ== X-Gm-Message-State: APjAAAWsef6oDiPIboNFRXRK5W80Mg4h1oGERkGn3PxJWR+PNjARnD0n TwPssywDaX3jaSieFcKhigVTePhEGhc= X-Google-Smtp-Source: APXvYqzhN9/F893oRTlmr1BmpzuNGYZFwm95Yr0zXWHCCeXDEaGR8v65UFqnr1JtVKwa1uKxwdNkBw== X-Received: by 2002:a17:90a:36af:: with SMTP id t44mr15719651pjb.25.1576478651866; Sun, 15 Dec 2019 22:44:11 -0800 (PST) Received: from f3.synalogic.ca (ag061063.dynamic.ppp.asahi-net.or.jp. [157.107.61.63]) by smtp.gmail.com with ESMTPSA id y62sm21881502pfg.45.2019.12.15.22.44.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 22:44:11 -0800 (PST) From: Benjamin Poirier To: netdev@vger.kernel.org Cc: Roopa Prabhu Subject: [PATCH iproute2 4/8] bridge: Fix src_vni argument in man page Date: Mon, 16 Dec 2019 15:43:40 +0900 Message-Id: <20191216064344.1470824-5-bpoirier@cumulusnetworks.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> References: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org "SRC VNI" is only one argument and should appear as such. Moreover, this argument to the src_vni option is documented under three forms: "SRC_VNI", "SRC VNI" and "VNI" in different places. Consistenly use the simplest form, "VNI". Fixes: c5b176e5ba1f ("bridge: fdb: add support for src_vni option") Signed-off-by: Benjamin Poirier --- man/man8/bridge.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/man/man8/bridge.8 b/man/man8/bridge.8 index 10f6cf0e..1804f0b4 100644 --- a/man/man8/bridge.8 +++ b/man/man8/bridge.8 @@ -71,7 +71,7 @@ bridge \- show / manipulate bridge addresses and devices .B dst .IR IPADDR " ] [ " .B src_vni -.IR SRC_VNI " ] [" +.IR VNI " ] [" .B vni .IR VNI " ] [" .B port @@ -498,7 +498,7 @@ the IP address of the destination VXLAN tunnel endpoint where the Ethernet MAC ADDRESS resides. .TP -.BI src_vni " SRC VNI" +.BI src_vni " VNI" the src VNI Network Identifier (or VXLAN Segment ID) this entry belongs to. Used only when the vxlan device is in external or collect metadata mode. If omitted the value specified at From patchwork Mon Dec 16 06:43:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Poirier X-Patchwork-Id: 1210110 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) 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; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="HebtQASz"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47bsFM3txcz9sQp for ; Mon, 16 Dec 2019 17:44:23 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726734AbfLPGoQ (ORCPT ); Mon, 16 Dec 2019 01:44:16 -0500 Received: from mail-pf1-f194.google.com ([209.85.210.194]:39265 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726712AbfLPGoO (ORCPT ); Mon, 16 Dec 2019 01:44:14 -0500 Received: by mail-pf1-f194.google.com with SMTP id 2so5046439pfx.6 for ; Sun, 15 Dec 2019 22:44:14 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=/5SAJnBSaAMbrMeiwHHdUv3nEKIBfgV3gh2nbG82OwQ=; b=HebtQASz86gIgD+gpW6Tnz8PfRygnyRXtq96sOuKnqbW8FGnJmvIV6joXYQpqpNxAh 9KPu3okbT1a9J1QTv+9YhpeLqqOtQOeBKuaG0JRxH5P1CpibvNhT/Jt42cxoqXiKB/nm uQOcxOBOqoS9FgmMnixcCklsG8fB5w/JHyFZ8= 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:mime-version:content-transfer-encoding; bh=/5SAJnBSaAMbrMeiwHHdUv3nEKIBfgV3gh2nbG82OwQ=; b=EvGPlThwzXdzteXDYNS95ubiaKemc5MJLEL0XLWcyv1d9YGO5pQJorSmRfZ2T6XZFs jQdacuLDzBbzSxsK9ZJWJp1zeQVqx5P8aQZYNyx2jwGO2jFkKiWkXEE8z/66yxHfCzdM Ol5kHGHd5t6aBFjxLKxofLxN5Tna/NyU6YHqVcae3m7dCijFdZk3FxUsr8/HcOsnkpNV LNeXZZCn4rPMqw6Gy3Bkz7wcBBNNmtsit7Gn03GEwlGR2kSpKaixbWKYO/5ZTonVarJk V7uRL/WaMZArQFhy7hWZQnUl3MFfZsJl5ptJqpm2rg/z542U0BUCRuRAcZHdqrMPU+kv 3+Vg== X-Gm-Message-State: APjAAAXD2al6FlR75Q00GfnQdqryQi4GkKaCMRdsae1gyQz8KsbGT+5L RobgTLONvdrGi57wyPuH15Uuq7EQnYg= X-Google-Smtp-Source: APXvYqzhpVcSuoUi1pRVdkRncx+optrQAaxMQ0f2V1aJavx/sjdfATZPruN93j/DBOkeMzXU2CoBgg== X-Received: by 2002:a65:58ce:: with SMTP id e14mr16331345pgu.153.1576478653375; Sun, 15 Dec 2019 22:44:13 -0800 (PST) Received: from f3.synalogic.ca (ag061063.dynamic.ppp.asahi-net.or.jp. [157.107.61.63]) by smtp.gmail.com with ESMTPSA id y62sm21881502pfg.45.2019.12.15.22.44.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 22:44:12 -0800 (PST) From: Benjamin Poirier To: netdev@vger.kernel.org Cc: Roopa Prabhu Subject: [PATCH iproute2 5/8] bridge: Fix BRIDGE_VLAN_TUNNEL attribute sizes Date: Mon, 16 Dec 2019 15:43:41 +0900 Message-Id: <20191216064344.1470824-6-bpoirier@cumulusnetworks.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> References: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org As per the kernel's vlan_tunnel_policy, IFLA_BRIDGE_VLAN_TUNNEL_VID and IFLA_BRIDGE_VLAN_TUNNEL_FLAGS have type NLA_U16. Fixes: 8652eeb3ab12 ("bridge: vlan: support for per vlan tunnel info") Signed-off-by: Benjamin Poirier --- bridge/vlan.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bridge/vlan.c b/bridge/vlan.c index 6dc694b6..c0294aa6 100644 --- a/bridge/vlan.c +++ b/bridge/vlan.c @@ -71,8 +71,8 @@ static int add_tunnel_info(struct nlmsghdr *n, int reqsize, tinfo = addattr_nest(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_INFO); addattr32(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_ID, tun_id); - addattr32(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_VID, vid); - addattr32(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_FLAGS, flags); + addattr16(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_VID, vid); + addattr16(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_FLAGS, flags); addattr_nest_end(n, tinfo); @@ -304,7 +304,7 @@ static void print_vlan_tunnel_info(FILE *fp, struct rtattr *tb, int ifindex) if (ttb[IFLA_BRIDGE_VLAN_TUNNEL_VID]) tunnel_vid = - rta_getattr_u32(ttb[IFLA_BRIDGE_VLAN_TUNNEL_VID]); + rta_getattr_u16(ttb[IFLA_BRIDGE_VLAN_TUNNEL_VID]); else continue; @@ -314,7 +314,7 @@ static void print_vlan_tunnel_info(FILE *fp, struct rtattr *tb, int ifindex) if (ttb[IFLA_BRIDGE_VLAN_TUNNEL_FLAGS]) tunnel_flags = - rta_getattr_u32(ttb[IFLA_BRIDGE_VLAN_TUNNEL_FLAGS]); + rta_getattr_u16(ttb[IFLA_BRIDGE_VLAN_TUNNEL_FLAGS]); if (!(tunnel_flags & BRIDGE_VLAN_INFO_RANGE_END)) { last_vid_start = tunnel_vid; From patchwork Mon Dec 16 06:43:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Poirier X-Patchwork-Id: 1210111 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) 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; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="ACkQySEt"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47bsFN0fRdz9sPn for ; Mon, 16 Dec 2019 17:44:24 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726752AbfLPGoR (ORCPT ); Mon, 16 Dec 2019 01:44:17 -0500 Received: from mail-pj1-f67.google.com ([209.85.216.67]:33544 "EHLO mail-pj1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726721AbfLPGoP (ORCPT ); Mon, 16 Dec 2019 01:44:15 -0500 Received: by mail-pj1-f67.google.com with SMTP id r67so2551525pjb.0 for ; Sun, 15 Dec 2019 22:44:15 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=XCQTIt0joOQx73lO5XCJevpGn2uDiJooqPAsQPzZtmw=; b=ACkQySEtytuZJgJThpIk+BaLueLLDgsOVz63UdIZg9bZmtTH5v+oc33QwzZhCW0EGp wCZX8nATgW9yWnJxgngZel+z8iRKeeJBELiIwzM+TfSeTY8bpsVYyP56vR6fU0Mf4p4z kC+0joWpkIdukU306MoZeDrabc4E2rVuaudW8= 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:mime-version:content-transfer-encoding; bh=XCQTIt0joOQx73lO5XCJevpGn2uDiJooqPAsQPzZtmw=; b=mc+ZuOJHoDcOU+saIQCE0AgvGTDDuN/KAmAgJM4qUbsFmMvWVtPQ7zeqB8QAhzT6E7 pQZAxHV579d4CtyMTUHIhrqzPfC4D/Tr0RJrf7tbrj1jxE9syy3W9f+YH/Gy1jkcTxqj PsGkalTibVRHbBcfsrXYthGvBhqsK+lRPUMOAbjbxR0u/gmj+XJmKdyD8w1wxxG/LSOu QghRjxaHqyWAUPYEQS895Dr1EalrExo7AcJzbz47c4HecX11yFRVk8vQQOqxz8rp47Hv 9gtseXHUZnebXpnvuRS3zHHCmeL5wjYgCD8It127iyrR7MKMslBxu7tuboXZrDXgOFcv krkQ== X-Gm-Message-State: APjAAAXCnnvlwo8Aj7Q9AFVrcyO7YmGoE4TKAOlad/KQFzga05m8v8Zn DgTIFbpo5J4vNvy4GIGVrzU5ptz4QLo= X-Google-Smtp-Source: APXvYqzYsqt3yFwD4OF6cK1t8pqKUf4kvuqFyvxC0EAG359Le57MethRM0gnFhqOPbdeQ+gb6Wihxw== X-Received: by 2002:a17:90a:9bc6:: with SMTP id b6mr16123153pjw.77.1576478654981; Sun, 15 Dec 2019 22:44:14 -0800 (PST) Received: from f3.synalogic.ca (ag061063.dynamic.ppp.asahi-net.or.jp. [157.107.61.63]) by smtp.gmail.com with ESMTPSA id y62sm21881502pfg.45.2019.12.15.22.44.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 22:44:14 -0800 (PST) From: Benjamin Poirier To: netdev@vger.kernel.org Cc: Roopa Prabhu Subject: [PATCH iproute2 6/8] bridge: Fix vni printing Date: Mon, 16 Dec 2019 15:43:42 +0900 Message-Id: <20191216064344.1470824-7-bpoirier@cumulusnetworks.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> References: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since commit c7c1a1ef51ae ("bridge: colorize output and use JSON print library"), print_range() is used for vid (16bits) and vni. However, the latter are 32bits so they get truncated. They got truncated even before that commit though. Fixes: 8652eeb3ab12 ("bridge: vlan: support for per vlan tunnel info") Signed-off-by: Benjamin Poirier --- bridge/vlan.c | 6 +++--- testsuite/Makefile | 3 ++- testsuite/lib/generic.sh | 6 +++++- testsuite/tests/bridge/vlan/tunnelshow.t | 24 ++++++++++++++++++++++++ 4 files changed, 34 insertions(+), 5 deletions(-) create mode 100755 testsuite/tests/bridge/vlan/tunnelshow.t diff --git a/bridge/vlan.c b/bridge/vlan.c index c0294aa6..428eeee3 100644 --- a/bridge/vlan.c +++ b/bridge/vlan.c @@ -266,15 +266,15 @@ static void close_vlan_port(void) close_json_object(); } -static void print_range(const char *name, __u16 start, __u16 id) +static void print_range(const char *name, __u32 start, __u32 id) { char end[64]; snprintf(end, sizeof(end), "%sEnd", name); - print_hu(PRINT_ANY, name, "\t %hu", start); + print_uint(PRINT_ANY, name, "\t %u", start); if (start != id) - print_hu(PRINT_ANY, end, "-%hu", id); + print_uint(PRINT_ANY, end, "-%u", id); } diff --git a/testsuite/Makefile b/testsuite/Makefile index 4451f316..fb50f618 100644 --- a/testsuite/Makefile +++ b/testsuite/Makefile @@ -82,7 +82,8 @@ endif TMP_OUT=`mktemp /tmp/tc_testsuite.XXXXXX`; \ . $(KENVFN); \ STD_ERR="$$TMP_ERR" STD_OUT="$$TMP_OUT" \ - TC="$$i/tc/tc" IP="$$i/ip/ip" SS=$$i/misc/ss DEV="$(DEV)" IPVER="$@" SNAME="$$i" \ + TC="$$i/tc/tc" IP="$$i/ip/ip" SS=$$i/misc/ss BRIDGE="$$i/bridge/bridge" \ + DEV="$(DEV)" IPVER="$@" SNAME="$$i" \ ERRF="$(RESULTS_DIR)/$@.$$o.err" $(PREFIX) tests/$@ > $(RESULTS_DIR)/$@.$$o.out; \ if [ "$$?" = "127" ]; then \ printf "\033[1;35mSKIPPED\033[0m\n"; \ diff --git a/testsuite/lib/generic.sh b/testsuite/lib/generic.sh index e909008a..8b339ec1 100644 --- a/testsuite/lib/generic.sh +++ b/testsuite/lib/generic.sh @@ -1,4 +1,3 @@ - export DEST="127.0.0.1" ts_log() @@ -66,6 +65,11 @@ ts_ss() __ts_cmd "$SS" "$@" } +ts_bridge() +{ + __ts_cmd "$BRIDGE" "$@" +} + ts_qdisc_available() { HELPOUT=`$TC qdisc add $1 help 2>&1` diff --git a/testsuite/tests/bridge/vlan/tunnelshow.t b/testsuite/tests/bridge/vlan/tunnelshow.t new file mode 100755 index 00000000..1583abb9 --- /dev/null +++ b/testsuite/tests/bridge/vlan/tunnelshow.t @@ -0,0 +1,24 @@ +#!/bin/sh + +. lib/generic.sh + +ts_log "[Testing tunnelshow]" + +BR_DEV="$(rand_dev)" +VX_DEV="$(rand_dev)" + +ts_ip "$0" "Add $BR_DEV bridge interface" link add $BR_DEV type bridge + +ts_ip "$0" "Add $VX_DEV vxlan interface" \ + link add $VX_DEV type vxlan dstport 4789 external +ts_ip "$0" "Enslave $VX_DEV under $BR_DEV" \ + link set dev $VX_DEV master $BR_DEV +ts_ip "$0" "Set vlan_tunnel on $VX_DEV" \ + link set dev $VX_DEV type bridge_slave vlan_tunnel on + +ts_bridge "$0" "Add single vlan" vlan add dev $VX_DEV vid 1030 +ts_bridge "$0" "Add tunnel with vni > 16k" \ + vlan add dev $VX_DEV vid 1030 tunnel_info id 65556 + +ts_bridge "$0" "Show tunnel info" vlan tunnelshow dev $VX_DEV +test_on "1030\s+65556" From patchwork Mon Dec 16 06:43:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Poirier X-Patchwork-Id: 1210114 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) 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; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="apD1J9SA"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47bsFW0x9cz9sP6 for ; Mon, 16 Dec 2019 17:44:31 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726719AbfLPGo3 (ORCPT ); Mon, 16 Dec 2019 01:44:29 -0500 Received: from mail-pj1-f53.google.com ([209.85.216.53]:33625 "EHLO mail-pj1-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726754AbfLPGoT (ORCPT ); Mon, 16 Dec 2019 01:44:19 -0500 Received: by mail-pj1-f53.google.com with SMTP id r67so2551583pjb.0 for ; Sun, 15 Dec 2019 22:44:18 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=IGmMiS7hY2bdt/WHCzHFZ8jUomL6IBEPbbcC5INKHlA=; b=apD1J9SA7lLC9yECks+p/+WPspQiu27Rpc3kQj19B8JgE1oEcJeJlfDnL/VCHVDBBj gUDrjhcGeZ4sMWeRorSB/vwy3wSazfp8qw8++nHdlySHsG+CbhLAnaeMYsLGqGWZGwt8 ln8p6HmY1k+hHvXyemOP4K5k9zPMLIQ1tS2G8= 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:mime-version:content-transfer-encoding; bh=IGmMiS7hY2bdt/WHCzHFZ8jUomL6IBEPbbcC5INKHlA=; b=uHOcg1PSwAOnlPV4U/lmokivOUKGTncHKjvwlqWKSEcYM7WCBFTPA8eHa0CclqoPzR 9oCufaDR9sa/i3VTXrFkl5NyLOqmyzyziSdBn2njfseVSxJE9I9+ufd+ui1VZDSH2rhU ICmVSkJqCZnji4jpURXHTmsN+V3AMSEJsHStCpSi07hjHqpiqvbSHKiVqFNYCFq3AZ/l LVg4Q255MCxdO3AR/e2tPBSdLwPkEQjOFmtaX7hvj1I04A+H+Of8G6L0OF0V8W3chUwu u9ihWq1lAkGDSHGlXfnERB2FZrBuBzy9wJoGOockg2WTGW2FPedlr3oaag4hILO2aNHN yVrQ== X-Gm-Message-State: APjAAAUS/ppz+pfaAs9/NuhrSQp6x+tfHxJ07ITkmqvGXYqbRPWj5FcB thxn9KW61pDQJnrGQJ6aGu46DjaMnjI= X-Google-Smtp-Source: APXvYqyGpP8Bm0nV4kxB6qou0U+uopokyvQ0l0Q72ZzKy3kE5iDLhuRYYL2UCnkVT/JHB3K4jDMAoA== X-Received: by 2002:a17:902:9a04:: with SMTP id v4mr14557791plp.192.1576478658000; Sun, 15 Dec 2019 22:44:18 -0800 (PST) Received: from f3.synalogic.ca (ag061063.dynamic.ppp.asahi-net.or.jp. [157.107.61.63]) by smtp.gmail.com with ESMTPSA id y62sm21881502pfg.45.2019.12.15.22.44.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 22:44:16 -0800 (PST) From: Benjamin Poirier To: netdev@vger.kernel.org Cc: Roopa Prabhu Subject: [PATCH iproute2 7/8] bridge: Deduplicate vlan show functions Date: Mon, 16 Dec 2019 15:43:43 +0900 Message-Id: <20191216064344.1470824-8-bpoirier@cumulusnetworks.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> References: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org print_vlan() and print_vlan_tunnel() are almost identical copies, save for a missing newline in the latter which leads to broken output of "vlan tunnelshow" in normal mode. Fixes: c7c1a1ef51ae ("bridge: colorize output and use JSON print library") Signed-off-by: Benjamin Poirier --- bridge/vlan.c | 91 +++++++----------------- testsuite/tests/bridge/vlan/tunnelshow.t | 7 ++ 2 files changed, 34 insertions(+), 64 deletions(-) diff --git a/bridge/vlan.c b/bridge/vlan.c index 428eeee3..19283bca 100644 --- a/bridge/vlan.c +++ b/bridge/vlan.c @@ -16,7 +16,11 @@ #include "utils.h" static unsigned int filter_index, filter_vlan; -static int show_vlan_tunnel_info = 0; + +enum vlan_show_subject { + VLAN_SHOW_VLAN, + VLAN_SHOW_TUNNELINFO, +}; static void usage(void) { @@ -278,7 +282,7 @@ static void print_range(const char *name, __u32 start, __u32 id) } -static void print_vlan_tunnel_info(FILE *fp, struct rtattr *tb, int ifindex) +static void print_vlan_tunnel_info(struct rtattr *tb, int ifindex) { struct rtattr *i, *list = tb; int rem = RTA_PAYLOAD(list); @@ -347,52 +351,9 @@ static void print_vlan_tunnel_info(FILE *fp, struct rtattr *tb, int ifindex) close_vlan_port(); } -static int print_vlan_tunnel(struct nlmsghdr *n, void *arg) -{ - struct ifinfomsg *ifm = NLMSG_DATA(n); - struct rtattr *tb[IFLA_MAX+1]; - int len = n->nlmsg_len; - FILE *fp = arg; - - if (n->nlmsg_type != RTM_NEWLINK) { - fprintf(stderr, "Not RTM_NEWLINK: %08x %08x %08x\n", - n->nlmsg_len, n->nlmsg_type, n->nlmsg_flags); - return 0; - } - - len -= NLMSG_LENGTH(sizeof(*ifm)); - if (len < 0) { - fprintf(stderr, "BUG: wrong nlmsg len %d\n", len); - return -1; - } - - if (ifm->ifi_family != AF_BRIDGE) - return 0; - - if (filter_index && filter_index != ifm->ifi_index) - return 0; - - parse_rtattr(tb, IFLA_MAX, IFLA_RTA(ifm), len); - - /* if AF_SPEC isn't there, vlan table is not preset for this port */ - if (!tb[IFLA_AF_SPEC]) { - if (!filter_vlan && !is_json_context()) { - color_fprintf(fp, COLOR_IFNAME, "%s", - ll_index_to_name(ifm->ifi_index)); - fprintf(fp, "\tNone\n"); - } - return 0; - } - - print_vlan_tunnel_info(fp, tb[IFLA_AF_SPEC], ifm->ifi_index); - - fflush(fp); - return 0; -} - static int print_vlan(struct nlmsghdr *n, void *arg) { - FILE *fp = arg; + enum vlan_show_subject *subject = arg; struct ifinfomsg *ifm = NLMSG_DATA(n); int len = n->nlmsg_len; struct rtattr *tb[IFLA_MAX+1]; @@ -420,17 +381,24 @@ static int print_vlan(struct nlmsghdr *n, void *arg) /* if AF_SPEC isn't there, vlan table is not preset for this port */ if (!tb[IFLA_AF_SPEC]) { if (!filter_vlan && !is_json_context()) { - color_fprintf(fp, COLOR_IFNAME, "%s", + color_fprintf(stdout, COLOR_IFNAME, "%s", ll_index_to_name(ifm->ifi_index)); - fprintf(fp, "\tNone\n"); + fprintf(stdout, "\tNone\n"); } return 0; } - print_vlan_info(tb[IFLA_AF_SPEC], ifm->ifi_index); + switch (*subject) { + case VLAN_SHOW_VLAN: + print_vlan_info(tb[IFLA_AF_SPEC], ifm->ifi_index); + break; + case VLAN_SHOW_TUNNELINFO: + print_vlan_tunnel_info(tb[IFLA_AF_SPEC], ifm->ifi_index); + break; + } print_string(PRINT_FP, NULL, "%s", _SL_); - fflush(fp); + fflush(stdout); return 0; } @@ -543,7 +511,7 @@ static int print_vlan_stats(struct nlmsghdr *n, void *arg) return 0; } -static int vlan_show(int argc, char **argv) +static int vlan_show(int argc, char **argv, int subject) { char *filter_dev = NULL; int ret = 0; @@ -581,17 +549,13 @@ static int vlan_show(int argc, char **argv) } if (!is_json_context()) { - if (show_vlan_tunnel_info) - printf("port\tvlan ids\ttunnel id\n"); - else - printf("port\tvlan ids\n"); + printf("port\tvlan ids"); + if (subject == VLAN_SHOW_TUNNELINFO) + printf("\ttunnel id"); + printf("\n"); } - if (show_vlan_tunnel_info) - ret = rtnl_dump_filter(&rth, print_vlan_tunnel, - stdout); - else - ret = rtnl_dump_filter(&rth, print_vlan, stdout); + ret = rtnl_dump_filter(&rth, print_vlan, &subject); if (ret < 0) { fprintf(stderr, "Dump ternminated\n"); exit(1); @@ -677,15 +641,14 @@ int do_vlan(int argc, char **argv) if (matches(*argv, "show") == 0 || matches(*argv, "lst") == 0 || matches(*argv, "list") == 0) - return vlan_show(argc-1, argv+1); + return vlan_show(argc-1, argv+1, VLAN_SHOW_VLAN); if (matches(*argv, "tunnelshow") == 0) { - show_vlan_tunnel_info = 1; - return vlan_show(argc-1, argv+1); + return vlan_show(argc-1, argv+1, VLAN_SHOW_TUNNELINFO); } if (matches(*argv, "help") == 0) usage(); } else { - return vlan_show(0, NULL); + return vlan_show(0, NULL, VLAN_SHOW_VLAN); } fprintf(stderr, "Command \"%s\" is unknown, try \"bridge vlan help\".\n", *argv); diff --git a/testsuite/tests/bridge/vlan/tunnelshow.t b/testsuite/tests/bridge/vlan/tunnelshow.t index 1583abb9..b2141e7c 100755 --- a/testsuite/tests/bridge/vlan/tunnelshow.t +++ b/testsuite/tests/bridge/vlan/tunnelshow.t @@ -16,9 +16,16 @@ ts_ip "$0" "Enslave $VX_DEV under $BR_DEV" \ ts_ip "$0" "Set vlan_tunnel on $VX_DEV" \ link set dev $VX_DEV type bridge_slave vlan_tunnel on +ts_bridge "$0" "Add single vlan" vlan add dev $VX_DEV vid 1000 +ts_bridge "$0" "Add single tunnel" \ + vlan add dev $VX_DEV vid 1000 tunnel_info id 1000 +ts_bridge "$0" "Add vlan range" vlan add dev $VX_DEV vid 1010-1020 +ts_bridge "$0" "Add tunnel range" \ + vlan add dev $VX_DEV vid 1010-1020 tunnel_info id 1010-1020 ts_bridge "$0" "Add single vlan" vlan add dev $VX_DEV vid 1030 ts_bridge "$0" "Add tunnel with vni > 16k" \ vlan add dev $VX_DEV vid 1030 tunnel_info id 65556 ts_bridge "$0" "Show tunnel info" vlan tunnelshow dev $VX_DEV test_on "1030\s+65556" +test_lines_count 5 From patchwork Mon Dec 16 06:43:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Poirier X-Patchwork-Id: 1210113 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) 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; dmarc=pass (p=none dis=none) header.from=cumulusnetworks.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="hETkzQSl"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47bsFT2ydPz9sQp for ; Mon, 16 Dec 2019 17:44:29 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726825AbfLPGoW (ORCPT ); Mon, 16 Dec 2019 01:44:22 -0500 Received: from mail-pg1-f194.google.com ([209.85.215.194]:43240 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726772AbfLPGoU (ORCPT ); Mon, 16 Dec 2019 01:44:20 -0500 Received: by mail-pg1-f194.google.com with SMTP id k197so3091119pga.10 for ; Sun, 15 Dec 2019 22:44:20 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=gz2BNQEQle/snIzzzykIMEMiJleVtr/0NhSNW2Xd9+Y=; b=hETkzQSljMonMitbuMQNYpR0OQst1o4y7q4LbSFW5CidMpOqDr/lZJS6bfNl34y6F3 ww2AQT6b6h1aieu5j4kn/FIDugRaEMY9SVsitwauzXFCljmSNiijGtWPf+CEPM2oPWzq +0Kd1xRVe+ZDO9ec9tandbxTskTYstU8gfJBw= 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:mime-version:content-transfer-encoding; bh=gz2BNQEQle/snIzzzykIMEMiJleVtr/0NhSNW2Xd9+Y=; b=IH0O/4aPcfpqQwFlkyk0GLAbmwKDVsWzr9i/L6MgPV9MyVY6QsyITBQUQB4AzCLdM4 danJBRUw2Rw1Uug55hdohMr4cISRUld2xb3j3v/8gd6YPzIc4PN5qbSZeyIPAWjWd5A5 g+fQuzK+yqfzqiCHQuOvDbez8VHygQ0lqzhER8oB7g6FQe3ekw7piiZkFmtZsHu1vxoE uB01oCYuENAD89SiProkUcEgrIvUKmdCFckL6xFXCHuXHL5FH9QNBYxFEovVrpSm3YHO WP6a1NvOwOLQQt9b++KOq5ZyBFfm+ON3b2/Q6/odSfkMRL8Hud+fGYfeaeb5U6+cN4h4 CdeQ== X-Gm-Message-State: APjAAAXXuZ2vf7J4v924wRjF6SU07KEL0/941ZKTx9SWJjCi6SMyxFpw 63xPvfz0Ks7N4tZvpT8S24p+ILp/Jrk= X-Google-Smtp-Source: APXvYqxsqHzbTof8ekx+rVIOVxmIR/ifdh8NvgQwY3Lv7oqP16LtPafszlOVe22h6DpY7Y6cTZ+3RQ== X-Received: by 2002:a63:2949:: with SMTP id p70mr16456935pgp.191.1576478659601; Sun, 15 Dec 2019 22:44:19 -0800 (PST) Received: from f3.synalogic.ca (ag061063.dynamic.ppp.asahi-net.or.jp. [157.107.61.63]) by smtp.gmail.com with ESMTPSA id y62sm21881502pfg.45.2019.12.15.22.44.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 22:44:19 -0800 (PST) From: Benjamin Poirier To: netdev@vger.kernel.org Cc: Roopa Prabhu Subject: [PATCH iproute2 8/8] bridge: Fix tunnelshow json output Date: Mon, 16 Dec 2019 15:43:44 +0900 Message-Id: <20191216064344.1470824-9-bpoirier@cumulusnetworks.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> References: <20191216064344.1470824-1-bpoirier@cumulusnetworks.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org repeats for "vlan tunnelshow" what commit 0f36267485e3 ("bridge: fix vlan show formatting") did for "vlan show". This fixes problems in json output. Note that the resulting json output format of "vlan tunnelshow" is not the same as the original, introduced in commit 8652eeb3ab12 ("bridge: vlan: support for per vlan tunnel info"). Changes similar to the ones done for "vlan show" in commit 0f36267485e3 ("bridge: fix vlan show formatting") are carried over to "vlan tunnelshow". Fixes: c7c1a1ef51ae ("bridge: colorize output and use JSON print library") Fixes: 0f36267485e3 ("bridge: fix vlan show formatting") Signed-off-by: Benjamin Poirier --- bridge/vlan.c | 27 +++++++----------------- testsuite/tests/bridge/vlan/tunnelshow.t | 2 ++ 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/bridge/vlan.c b/bridge/vlan.c index 19283bca..205851e4 100644 --- a/bridge/vlan.c +++ b/bridge/vlan.c @@ -256,12 +256,14 @@ static int filter_vlan_check(__u16 vid, __u16 flags) return 1; } -static void open_vlan_port(int ifi_index, const char *fmt) +static void open_vlan_port(int ifi_index, const char *fmt, + enum vlan_show_subject subject) { open_json_object(NULL); print_color_string(PRINT_ANY, COLOR_IFNAME, "ifname", fmt, ll_index_to_name(ifi_index)); - open_json_array(PRINT_JSON, "vlans"); + open_json_array(PRINT_JSON, + subject == VLAN_SHOW_VLAN ? "vlans": "tunnels"); } static void close_vlan_port(void) @@ -289,10 +291,8 @@ static void print_vlan_tunnel_info(struct rtattr *tb, int ifindex) __u16 last_vid_start = 0; __u32 last_tunid_start = 0; - if (!filter_vlan) - open_vlan_port(ifindex, "%s"); + open_vlan_port(ifindex, "%s", VLAN_SHOW_TUNNELINFO); - open_json_array(PRINT_JSON, "tunnel"); for (i = RTA_DATA(list); RTA_OK(i, rem); i = RTA_NEXT(i, rem)) { struct rtattr *ttb[IFLA_BRIDGE_VLAN_TUNNEL_MAX+1]; __u32 tunnel_id = 0; @@ -331,24 +331,13 @@ static void print_vlan_tunnel_info(struct rtattr *tb, int ifindex) else if (vcheck_ret == 0) continue; - if (tunnel_flags & BRIDGE_VLAN_INFO_RANGE_BEGIN) - continue; - - if (filter_vlan) - open_vlan_port(ifindex, "%s"); - open_json_object(NULL); print_range("vlan", last_vid_start, tunnel_vid); print_range("tunid", last_tunid_start, tunnel_id); close_json_object(); - print_string(PRINT_FP, NULL, "%s", _SL_); - if (filter_vlan) - close_vlan_port(); } - - if (!filter_vlan) - close_vlan_port(); + close_vlan_port(); } static int print_vlan(struct nlmsghdr *n, void *arg) @@ -467,7 +456,7 @@ static void print_vlan_stats_attr(struct rtattr *attr, int ifindex) /* found vlan stats, first time print the interface name */ if (!found_vlan) { - open_vlan_port(ifindex, "%-16s"); + open_vlan_port(ifindex, "%-16s", VLAN_SHOW_VLAN); found_vlan = true; } else { print_string(PRINT_FP, NULL, "%-16s", ""); @@ -600,7 +589,7 @@ void print_vlan_info(struct rtattr *tb, int ifindex) int rem = RTA_PAYLOAD(list); __u16 last_vid_start = 0; - open_vlan_port(ifindex, "%s"); + open_vlan_port(ifindex, "%s", VLAN_SHOW_VLAN); for (i = RTA_DATA(list); RTA_OK(i, rem); i = RTA_NEXT(i, rem)) { struct bridge_vlan_info *vinfo; diff --git a/testsuite/tests/bridge/vlan/tunnelshow.t b/testsuite/tests/bridge/vlan/tunnelshow.t index b2141e7c..fd41bfcb 100755 --- a/testsuite/tests/bridge/vlan/tunnelshow.t +++ b/testsuite/tests/bridge/vlan/tunnelshow.t @@ -29,3 +29,5 @@ ts_bridge "$0" "Add tunnel with vni > 16k" \ ts_bridge "$0" "Show tunnel info" vlan tunnelshow dev $VX_DEV test_on "1030\s+65556" test_lines_count 5 + +ts_bridge "$0" "Dump tunnel info" -j vlan tunnelshow dev $VX_DEV