iproute2/include
Petr Machata 60265cc226 lib: Move print_rate() from tc here; modernize
The functions print_rate() and sprint_rate() are useful for formatting
rate-like values. The DCB tool would find these useful in the maxrate
subtool. However, the current interface to these functions uses a global
variable use_iec as a flag indicating whether 1024- or 1000-based powers
should be used when formatting the rate value. For general use, a global
variable is not a great way of passing arguments to a function. Besides, it
is unlike most other printing functions in that it deals in buffers and
ignores JSON.

Therefore make the interface to print_rate() explicit by converting use_iec
to an ordinary parameter. Since the interface changes anyway, convert it to
follow the pattern of other json_print functions (except for the
now-explicit use_iec parameter). Move to json_print.c.

Add a wrapper to tc, so that all the call sites do not need to repeat the
use_iec global variable argument, and convert all call sites.

In q_cake.c, the conversion is not straightforward due to usage of a macro
that is shared across numerous data types. Simply hand-roll the
corresponding code, which seems better than making an extra helper for one
call site.

Drop sprint_rate() now that everybody just uses print_rate().

Signed-off-by: Petr Machata <me@pmachata.org>
Signed-off-by: David Ahern <dsahern@gmail.com>
2020-12-09 02:30:15 +00:00
..
iptables SPDX license identifiers 2017-11-24 12:21:35 -08:00
libiptc SPDX license identifiers 2017-11-24 12:21:35 -08:00
netinet ss: report ecnseen 2011-11-23 14:51:54 -08:00
uapi Update kernel headers 2020-12-09 02:25:34 +00:00
bpf_api.h examples/bpf: add bpf examples with BTF defined maps 2020-11-24 22:14:08 -07:00
bpf_elf.h bpf: implement btf handling and map annotation 2018-07-17 19:38:44 -07:00
bpf_scm.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
bpf_util.h lib: add libbpf support 2020-11-24 22:14:05 -07:00
cg_map.h ss: introduce cgroup2 cache and helper functions 2020-05-13 14:28:04 +00:00
color.h lib/color: make local functions static 2018-11-19 11:42:44 -08:00
dlfcn.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
ip6tables.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
iptables.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
json_print.h lib: Move print_rate() from tc here; modernize 2020-12-09 02:30:15 +00:00
json_writer.h Merge branch 'iproute2-master' into iproute2-next 2018-12-19 12:02:17 -08:00
libgenl.h genl: remove unnecessary extern 2018-09-10 11:53:07 -07:00
libnetlink.h libnetlink: add nl_print_policy() helper 2020-08-24 21:35:07 -06:00
list.h devlink: Add support for devlink resource abstraction 2018-02-23 08:36:05 -08:00
ll_map.h ll_map: Add function to remove link cache entry by index 2019-02-22 18:51:15 -08:00
mnl_utils.h lib: Extract from devlink/mnlg a helper, mnlu_socket_recv_run() 2020-11-13 19:43:15 -07:00
names.h tc: drop unused name_to_id function 2018-11-19 11:42:44 -08:00
namespace.h netns: make netns_{save,restore} static 2019-06-20 14:30:41 -07:00
rt_names.h iplink: add support for protodown reason 2020-09-01 19:52:13 -06:00
rtm_map.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
utils.h Move the use_iec declaration to the tools 2020-12-09 02:28:43 +00:00
version.h v5.9.0 2020-10-15 15:18:35 -07:00
xt-internal.h SPDX license identifiers 2017-11-24 12:21:35 -08:00
xtables.h tc: adjust xtables_match and xtables_target to changes in recent iptables 2019-06-24 16:12:17 -07:00