Hello, There was a series of patches by Serhey and specifically this one: https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=93fa12418dc6f5943692250244be303bb162175b
It drops handling of special prefix names in get_prefix_1(), and in get_addr_1() they always receive family and bytelen. But as I unerstand for any case it was important to keep it with unspecified family for further filtering. As I do not know what is the global idea, I want to discuss it. Because there are options depending on how and where we want to handle those special names. Like keep unspecified family or change filtering logic. I have added Serhey Popovych in the recepients, so he can give some ideas on what his aim is and help choose better solution. 13.03.2018, 21:12, "Alexander Zubkov" <gr...@msu.ru>: > Hi, > > I just realized that you need patch for v4.15.0, which is easier to do. > I'll send it as separate message now. I will make patch for the master > branch, but later. > > On 13.03.2018 13:02, Luca Boccassi wrote: >> On Tue, 2018-03-13 at 12:05 +0100, Alexander Zubkov wrote: >>> Hello again, >>> >>> The fun thing is that before the commit "ip route ls all" showed all >>> routes, but "ip -[4|6] route ls all" showed only default. So it was >>> broken too, but in other way. >>> I see parsing of prefix was changed since my patch. So I need several >>> days to propose fix. I think if "ip route ls [all|any]" shows all >>> routes and "ip route ls default" shows only default, everybody will >>> be happy with that? >> >> Hi, >> >> My only concern is that behaviour of existing commands that have been >> in releases is not changed, otherwise I get bugs raised :-) >> >> Thank you for your work! >> >>> 13.03.2018, 09:46, "Alexander Zubkov" <gr...@msu.ru>: >>>> Hello. >>>> >>>> May be the better way would be to change how "all"/"any" argument >>>> behaves? My original concern was about "default" only. I agree too, >>>> that "all" or "any" should work for all routes. But not for the >>>> default. >>>> >>>> 12.03.2018, 22:37, "Luca Boccassi" <bl...@debian.org>: >>>>> On Mon, 2018-03-12 at 14:03 -0700, Stephen Hemminger wrote: >>>>>> This reverts commit 9135c4d6037ff9f1818507bac0049fc44db8c3d2. >>>>>> >>>>>> 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. >>>>>> >>>>>> Reported-by: Luca Boccassi <bl...@debian.org> >>>>>> Signed-off-by: Stephen Hemminger <step...@networkplumber.org> >>>>>> --- >>>>>> ip/iproute.c | 65 ++++++++++++++++++---------------------- >>>>>> -------- >>>>>> ------------ >>>>>> lib/utils.c | 13 ++++++++++++ >>>>>> 2 files changed, 32 insertions(+), 46 deletions(-) >>>>> >>>>> Tested-by: Luca Boccassi <bl...@debian.org> >>>>> >>>>> Thanks, solves the problem. I'll backport it to Debian. >>>>> >>>>> Alexander, reproducing the issue is quite simple - before that >>>>> commit, >>>>> ip route ls all showed all routes, but with the change it >>>>> started >>>>> showing only the default table. Same for ip route flush. >>>>> >>>>> -- >>>>> Kind regards, >>>>> Luca Boccassi