]> git.proxmox.com Git - mirror_iproute2.git/commit
treat "default" and "all"/"any" addresses differenty
authorAlexander Zubkov <green@msu.ru>
Sun, 18 Mar 2018 16:50:25 +0000 (17:50 +0100)
committerStephen Hemminger <stephen@networkplumber.org>
Tue, 27 Mar 2018 15:58:26 +0000 (08:58 -0700)
commit7696f1097f79be2ce5984a8a16103fd17391cac2
treedcd4896052693a428d037d1c2122246ab69f4403
parent96303c25eee69596877a186a6c179559b9d0f947
treat "default" and "all"/"any" addresses differenty

Debian maintainer found that basic command:
# ip route flush all
No longer worked as expected which breaks user scripts and
expectations. It no longer flushed all IPv4 routes.

Recently behavior of "default" prefix parameter was corrected. But at
the same time behavior of "all"/"any" was altered too, because they
were the same branch of the code. As those parameters mean different,
they need to be treated differently in code too. This patch reflects
the difference.

Also after mentioned change, address parsing code was changed more
and address family was set explicitly even for "all"/"any" addresses.
And that broke matching conditions further. This patch fixes that too
and returns AF_UNSPEC to "all"/"any" address.

Now "default" is treated as top-level prefix (for example 0.0.0.0/0 in
IPv4) and "all"/"any" always matches anything in exact, root and match
modes.

Reported-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Alexander Zubkov <green@msu.ru>
lib/utils.c