Go to file
Neil Horman e149d4e843 iproute2: Ignore EADDRNOTAVAIL errors during address flush operation
I found recently that, if I disabled address promotion in the kernel, that
ip addr flush dev <dev>

would fail with an EADDRNOTAVAIL errno (though the flush operation would in fact
flush all addresses from an interface properly)

Whats happening is that, if I add a primary and multiple secondary addresses to
an interface, the flush operation first ennumerates them all with a GETADDR |
DUMP operation, then sends a delete request for each address.  But the kernel,
having promotion disabled, deletes all secondary addresses when the primary is
removed.  That means, that several delete requests may still be pending in the
netlink request for addresses that have been removed on our behalf, resulting in
EADDRNOTAVAIL return codes.

It seems the simplest thing to do is to understand that EADDRUNAVAIL isn't a
fatal outcome on a flush operation, as it just indicates that an address which
you want to remove is already removed, so it can safely be ignored.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Stephen Hemminger <stephen@networkplumber.org>
CC: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
2015-11-23 15:59:08 -08:00
bridge bridge: fdb: minor syntax fix in help text 2015-11-03 16:27:39 -08:00
doc Add ip rule save/restore 2015-10-22 23:35:57 -07:00
etc/iproute2 rt_dsfield: fix Expedited Forwarding PHB 2014-12-03 18:50:59 -08:00
examples tc: fix bpf compilation with old glibc 2015-07-27 14:35:42 -07:00
genl Merge branch 'master' into net-next 2015-05-28 09:18:01 -07:00
include update kernel headers to 4.4-rc1 2015-11-23 15:53:04 -08:00
ip iproute2: Ignore EADDRNOTAVAIL errors during address flush operation 2015-11-23 15:59:08 -08:00
lib Merge branch 'master' into net-next 2015-11-03 16:31:57 -08:00
man bridge.8: document fdb replace command 2015-11-23 15:58:07 -08:00
misc lnstat: fix header displaying mechanism 2015-11-23 15:54:05 -08:00
netem netem: fix installs of dist files 2010-07-31 19:31:04 -07:00
tc Merge branch 'master' into net-next 2015-10-23 15:46:08 -07:00
testsuite tests: Add output testing 2015-06-24 23:37:26 -04:00
tipc tipc: fix bearer get/set help synopsis 2015-08-10 11:18:01 -07:00
.gitignore gitignore: Ignore 'doc' files generated at runtime 2014-10-29 22:26:15 -07:00
COPYING Update address of FSF in license 2008-03-08 13:31:03 -08:00
Makefile enable transparent LFS 2015-06-24 23:07:34 -04: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: Check for Berkeley DB for arpd compilation 2015-09-21 14:38:38 -07: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