If Netid or State columns are missing, we must not subtract one for each of these two columns from the remaining screen width, while distributing available space to columns. This one character corresponding to one delimiting space has to be subtracted only if the columns are actually printed. Further, in the existing implementation, if the screen width is an odd number, one additional character is added to the width of one of the two columns. But if both are not printed, this filling character needs to be added somewhere else, in order to have the right spacing allowing us to fill lines completely. Address and port fields are printed in pairs (local and remote), so we can't distribute the space to any of them, because it would be doubled. Instead, print this additional space to the right of the Send-Q column, to keep code changes to a minimum. This is particularly visible with 'ss -f netlink -Z'. Before this patch, with an 80 column terminal, we have: $ ss -f netlink -Z|head -n3 Recv-Q Send-Q Local Address:Port Peer Address:Port 0 0 rtnl:evolution-calen/2049 * pr oc_ctx=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 0 0 rtnl:clock-applet/1944 * pr oc_ctx=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 and with an 81 column terminal: $ ss -f netlink -Z|head -n3 Recv-Q Send-Q Local Address:Port Peer Address:Port 0 0 rtnl:evolution-calen/2049 * pro c_ctx=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 0 0 rtnl:clock-applet/1944 * pro c_ctx=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 After this patch, in both cases, the output is: $ ss -f netlink -Z|head -n3 Recv-Q Send-Q Local Address:Port Peer Address:Port 0 0 rtnl:evolution-calen/2049 * proc_ctx=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 0 0 rtnl:clock-applet/1944 * proc_ctx=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 Signed-off-by: Stefano Brivio <sbrivio@redhat.com> |
||
|---|---|---|
| bash-completion | ||
| bridge | ||
| devlink | ||
| doc/actions | ||
| etc/iproute2 | ||
| examples | ||
| genl | ||
| include | ||
| ip | ||
| lib | ||
| man | ||
| misc | ||
| netem | ||
| rdma | ||
| schema | ||
| tc | ||
| testsuite | ||
| tipc | ||
| .gitignore | ||
| COPYING | ||
| Makefile | ||
| README | ||
| README.decnet | ||
| README.devel | ||
| README.distribution | ||
| README.iproute2+tc | ||
| README.lnstat | ||
| configure | ||
README
This is a set of utilities for Linux networking.
Information:
http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2
Download:
http://www.kernel.org/pub/linux/utils/net/iproute2/
Repository:
git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git
How to compile this.
--------------------
1. libdbm
arpd needs to have the db4 development libraries. For Debian
users this is the package with a name like libdb4.x-dev.
DBM_INCLUDE points to the directory with db_185.h which
is the include file used by arpd to get to the old format Berkeley
database routines. Often this is in the db-devel package.
2. make
The makefile will automatically build a config.mk file which
contains definitions of libraries that may or may not be available
on the system such as: ATM, ELF, MNL, and SELINUX.
3. To make documentation, cd to doc/ directory , then
look at start of Makefile and set correct values for
PAGESIZE=a4 , ie: a4 , letter ... (string)
PAGESPERPAGE=2 , ie: 1 , 2 ... (numeric)
and make there. It assumes, that latex, dvips and psnup
are in your path.
4. This package includes matching sanitized kernel headers because
the build environment may not have up to date versions. See Makefile
if you have special requirements and need to point at different
kernel include files.
Stephen Hemminger
stephen@networkplumber.org
Alexey Kuznetsov
kuznet@ms2.inr.ac.ru