Go to file
David Ahern 05a14fc121 netlink: Change rtnl_dump_done to always show error
The original code which became rtnl_dump_done only shows netlink errors
if the protocol is NETLINK_SOCK_DIAG, but netlink dumps always appends
the length which contains any error encountered during the dump. Update
rtnl_dump_done to always show the error if there is one.

As an *example* without this patch, dumping a route object that exceeds
the internal buffer size terminates with no message to the user -- the
dump just ends because the NLMSG_DONE attribute was received. With this
patch the user at least gets a message that the dump was aborted.

$ ip ro ls
default via 10.0.2.2 dev eth0
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
10.10.0.0/16 dev veth1 proto kernel scope link src 10.10.0.1
172.16.1.0/24 dev br0.11 proto kernel scope link src 172.16.1.1
Error: Buffer too small for object
Dump terminated

The point of this patch is to notify the user of a failure versus
silently exiting on a partial dump. Because the NLMSG_DONE attribute
was received, the entire dump needs to be restarted to use a larger
buffer for EMSGSIZE errors. That could be done automatically but it
has other user impacts (e.g., duplicate output if the dump is
restarted) and should be the subject of a different patch.

Signed-off-by: David Ahern <dsahern@gmail.com>
2017-05-30 17:32:38 -07:00
bash-completion tc: bash-completion: Add support for matchall 2017-02-07 11:44:53 -08:00
bridge bridge: fdb: add state filter support 2017-01-12 17:38:55 -08:00
devlink devlink: Add support for pipeline debug (dpipe) 2017-05-03 09:29:43 -07:00
doc doc/tc-filters.tex: Drop overly subjective paragraphs 2016-03-27 10:34:40 -07:00
etc/iproute2 whitespace cleanup 2017-01-12 17:31:20 -08:00
examples tc, bpf: add support for map pre/allocation 2016-04-11 21:54:47 +00:00
genl Replace malloc && memset by calloc 2016-07-20 12:05:24 -07:00
include include: remove no longer used iptables_common.h 2017-05-22 13:22:22 -07:00
ip ip: include libc headers first 2017-05-30 17:27:58 -07:00
lib netlink: Change rtnl_dump_done to always show error 2017-05-30 17:32:38 -07:00
man pedit: Introduce ipv6 support 2017-05-15 15:05:20 -07:00
misc netlink route attribute cleanup 2017-02-24 08:56:38 -08:00
netem netem: fix out of bounds access in maketable 2017-04-12 10:13:14 -07:00
schema bridge: add json schema for bridge fdb show 2016-07-20 12:02:02 -07:00
tc tc: fix Makefile to build skbmod 2017-05-22 13:33:51 -07:00
testsuite testsuite: search for kernel config in /boot 2017-02-17 15:26:30 -08:00
tipc tipc: cleanup style issues 2016-09-20 09:25:42 -07:00
.gitignore testsuite: Generate nlmsg blob at runtime 2017-02-09 17:28:48 -08:00
COPYING Update address of FSF in license 2008-03-08 13:31:03 -08:00
Makefile Makefile: really suppress printing of directories 2016-12-09 12:49:44 -08:00
README README: update mail address and download location 2013-01-18 09:54:58 -08:00
README.decnet Decnet documentation update 2005-06-13 18:47:56 +00:00
README.devel iproute2: fix minor typo in comments 2011-07-11 10:11:09 -07:00
README.distribution README cleanup's 2012-01-03 15:04:55 -08:00
README.iproute2+tc tc, bpf: finalize eBPF support for cls and act front-end 2015-04-10 13:31:19 -07:00
README.lnstat Rename: misc/README.lnstat -> README.lnstat 2004-10-19 20:24:47 +00:00
configure configure: fix elftest when warnings enabled 2016-12-14 19:11:02 -08:00

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 file which
contains whether or not ATM is available, etc.

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