From patchwork Thu May 17 23:29:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 915857 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 (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; dmarc=none (p=none dis=none) header.from=networkplumber.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=networkplumber-org.20150623.gappssmtp.com header.i=@networkplumber-org.20150623.gappssmtp.com header.b="NPFW3cfS"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40n6vv6Sg7z9s1w for ; Fri, 18 May 2018 09:29:31 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752375AbeEQX31 (ORCPT ); Thu, 17 May 2018 19:29:27 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:42027 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752356AbeEQX3Y (ORCPT ); Thu, 17 May 2018 19:29:24 -0400 Received: by mail-pf0-f194.google.com with SMTP id p14-v6so2811792pfh.9 for ; Thu, 17 May 2018 16:29:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=HLZnIHvd+QDujiQueNtbCML8NBGob4hkYxC4fcKqg6Q=; b=NPFW3cfSYPB0vlJGbS0tc3UVUQLCJIK0AtlRc7bpSt3ayyxDnMnVpaFJ5h5bWb32XW 7dcfS5RvJr0/58OTmshDXEOLbfOtiF2RKnLGzRnuK5Ne5CK0hKYCkKK3UFoaGVsMney+ u27gfU42bZxDBfSGAD2Lh8sqeyWevzMGGwUsSgdrlQktcuG2l9wEmULPEozNEMwBTIIH ndOzLWGsy17JMoZqXd0EVGj67mVwTig5dhQVrwvDbEJpC9whf7lNH6qQVqXXrZDwwa2d MHcF5q6rUdCpkVTjBbtYE/zegyZydfJngvTvu8uzy7wuQdBlPxDEYNQKJZszK+qsyMMy gS0w== 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; bh=HLZnIHvd+QDujiQueNtbCML8NBGob4hkYxC4fcKqg6Q=; b=T5xSq7qvcKXXSfnafmQDfblFxF3qhJpGDkARTjWZaH+Bcf487h0cz1s2Kg4rz2ZiJD VELt311BFImfkmYAVg+UeBQs5xj1/1WF4a/CHNu4iKaIXZ/r4W+JMAXSxSkml0NszbuO o+WZ/4hhoR7QB8oqhgkvsqZ+mqFN3Vl8yUGr8gKFdLgsjKps/dlTZyxoHAmXRvM+ClBx 9waxCyO6SRjmv4T8jVol7kr6gzgT4R443On714G8H1ZHH2rvNpfMQccuqru0IPiByQ6n 2BvY6qC8z4fS0MwdyxaKa5Ne4ARoiO1zMxViJln52e1pN9LxLiQZobXdCwBb9Lv6aGCC hxTQ== X-Gm-Message-State: ALKqPwf9SKD80nll6EjX9B0oXTJvc8Sm9DBVyD36QjBo0xjkTuBocoYo gTZIL0ap31vwfKDJzPpX1SA+6wLyFB8= X-Google-Smtp-Source: AB8JxZq25xM1Rmcd9GQIsnKnVbEzKy1lawy2zWlnZB1G7edpVzK3IcZ95Rws7/zFD7GvN87rZGM01w== X-Received: by 2002:a62:ca4a:: with SMTP id n71-v6mr6959999pfg.149.1526599763974; Thu, 17 May 2018 16:29:23 -0700 (PDT) Received: from xeon-e3.lan (204-195-35-107.wavecable.com. [204.195.35.107]) by smtp.gmail.com with ESMTPSA id 206-v6sm10125193pfy.51.2018.05.17.16.29.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 May 2018 16:29:23 -0700 (PDT) From: Stephen Hemminger To: netdev@vger.kernel.org Cc: Stephen Hemminger Subject: [PATCH iproute2] tc: allow 0% for percent options Date: Thu, 17 May 2018 16:29:21 -0700 Message-Id: <20180517232921.5648-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.17.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Allowing 0% is sometimes useful for example in netem loss and drop or perhaps dropping all traffic in a HTB bin. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199745 Reported-by: stuartmarsden@gmail.com Fixes: 927e3cfb52b5 ("tc: B.W limits can now be specified in %.") Signed-off-by: Stephen Hemminger --- lib/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/utils.c b/lib/utils.c index 7b2c6dd19268..02ce67721915 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -105,7 +105,7 @@ int parse_percent(double *val, const char *str) *val = strtod(str, &p) / 100.; if (*val == HUGE_VALF || *val == HUGE_VALL) return 1; - if (*val == 0.0 || (*p && strcmp(p, "%"))) + if (*p && strcmp(p, "%")) return -1; return 0;