[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <35f170ea-d051-3e76-bfa7-1a5259a1d5c8@gmail.com>
Date: Wed, 22 May 2019 21:42:33 -0600
From: David Ahern <dsahern@...il.com>
To: Stephen Hemminger <stephen@...workplumber.org>,
David Ahern <dsahern@...nel.org>
Cc: netdev@...r.kernel.org, Jason@...c4.com
Subject: Re: [PATCH iproute2] ip route: Set rtm_dst_len to 32 for all ip route
get requests
On 5/22/19 5:16 PM, Stephen Hemminger wrote:
> On Fri, 17 May 2019 10:59:13 -0700
> David Ahern <dsahern@...nel.org> wrote:
>
>> index 2b3dcc5dbd53..d980b86ffd42 100644
>> --- a/ip/iproute.c
>> +++ b/ip/iproute.c
>> @@ -2035,7 +2035,11 @@ static int iproute_get(int argc, char **argv)
>> if (addr.bytelen)
>> addattr_l(&req.n, sizeof(req),
>> RTA_DST, &addr.data, addr.bytelen);
>> - req.r.rtm_dst_len = addr.bitlen;
>> + /* kernel ignores prefix length on 'route get'
>> + * requests; to allow ip to work with strict mode
>> + * but not break existing users, just set to 32
>> + */
>> + req.r.rtm_dst_len = 32;
>> address_found = true;
>> }
>> argc--; argv++;
>
> Why not warn user that any prefix length (ie not 32) is ignored,
> then do what you propose.
>
My first version did that. I thought people would complain about a
stderr message. At least with failing the 'route get' scripts can be fixed.
After more thought even changing the prefix length for users presents a
limitation on future changes.
Powered by blists - more mailing lists