[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1606774951.git.me@pmachata.org>
Date: Mon, 30 Nov 2020 23:59:36 +0100
From: Petr Machata <me@...chata.org>
To: netdev@...r.kernel.org, dsahern@...il.com,
stephen@...workplumber.org
Cc: Po.Liu@....com, toke@...e.dk, dave.taht@...il.com,
edumazet@...gle.com, tahiliani@...k.edu.in, vtlam@...gle.com,
leon@...nel.org, Petr Machata <me@...chata.org>
Subject: [PATCH iproute2-next 0/6] Move rate and size parsing and output to lib
The DCB tool will have commands that deal with buffers sizes and traffic
rates. TC is another tool that has a number of such commands, and functions
to support them: get_size(), get_rate/64(), s/print_size() and
s/print_rate(). In this patchset, these functions are moved to lib/ for
possible reuse.
s/print_rate() has a hidden parameter of a global variable use_iec, which
made the conversion non-trivial. The parameter was made explicit,
print_rate() converted to a mostly json_print-like function, and
sprint_rate() retired in favor of the new print_rate. Patches #1 and #2
deal with this.
The intention was to treat s/print_size() similarly, but unfortunately two
use cases of sprint_size() cannot be converted to a json_print-like
print_size(), and the function sprint_size() had to remain as a discouraged
backdoor to print_size(). This is done in patch #3.
Patches #4 and #5 handle a routine movement of, respectively,
get_rate/64() and get_size() from tc to lib.
Patch #6 fixes a buglet in formatting small rates in IEC mode.
This patchset does not actually add any new uses of these functions. A
follow-up patchset will add subtools for management of DCB buffer and DCB
maxrate objects that will make use of them.
Petr Machata (6):
Move the use_iec declaration to the tools
lib: Move print_rate() from tc here; modernize
lib: Move sprint_size() from tc here, add print_size()
lib: Move get_rate(), get_rate64() from tc here
lib: Move get_size() from tc here
lib: print_rate(): Fix formatting small rates in IEC mode
include/json_print.h | 14 ++++
include/utils.h | 4 +-
ip/ip_common.h | 2 +
lib/json_print.c | 61 +++++++++++++++
lib/utils.c | 114 +++++++++++++++++++++++++++
tc/m_gate.c | 6 +-
tc/m_police.c | 14 ++--
tc/q_cake.c | 44 +++++------
tc/q_cbq.c | 14 +---
tc/q_drr.c | 10 +--
tc/q_fifo.c | 10 +--
tc/q_fq.c | 34 +++-----
tc/q_fq_codel.c | 5 +-
tc/q_fq_pie.c | 9 +--
tc/q_gred.c | 39 ++--------
tc/q_hfsc.c | 4 +-
tc/q_hhf.c | 9 +--
tc/q_htb.c | 23 +++---
tc/q_mqprio.c | 8 +-
tc/q_netem.c | 4 +-
tc/q_red.c | 13 +---
tc/q_sfq.c | 15 +---
tc/q_tbf.c | 32 +++-----
tc/tc_common.h | 1 +
tc/tc_util.c | 180 +++----------------------------------------
tc/tc_util.h | 8 +-
26 files changed, 307 insertions(+), 370 deletions(-)
--
2.25.1
Powered by blists - more mailing lists