Subject: Re: [PATCH iproute2] ip route: get: only set RTM_F_LOOKUP_TABLE flag for IPv4

From: Ido Schimmel <[email-masked]>
Date: Mon, 21 Jan 2019 09:32:46 +0200

On Mon, Jan 14, 2019 at 09:29:51AM -0700, David Ahern wrote:
> On 1/14/19 9:05 AM, Stephen Hemminger wrote:
> > On Sat, 12 Jan 2019 12:54:06 -0800
> > Jakub Kicinski <[email-masked]> wrote:
> > 
> >> Kernel ignores the RTM_F_LOOKUP_TABLE flag for all families
> >> but IPv4.  Don't set it, otherwise it may fall foul of
> >> strict checking policies.
> >>
> >> Signed-off-by: Jakub Kicinski <[email-masked]>
> > 
> > Doing the right thing is a good idea, but really I can't see
> > the point of doing this. The kernel will always have to accept
> > requests from older versions of iproute2 (it can never be stricter)
> > because of ABI compatibility. So unless you can make a stronger
> > case for this; no not applying it.
> > 
> 
> iproute2 is often used as a reference model for features. Making
> iproute2 correct is the right thing to do regardless of whether what the
> kernel accepts.
> 
> Current master branch is the first iproute2 to use the strict checking,
> and its first release with strict checking should have as many of these
> little one offs as possible fixed.

With current iproute2-next and net-next I get:

$ ip -6 route get 2001:db8:1::2
Error: ipv6: Invalid flags for get route request.

Are we going to patch the kernel to accept a flag it is not using or are
we going to patch iproute2 to not send it?