From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 11AE8C282CC for ; Thu, 7 Feb 2019 13:22:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DE7AE2175B for ; Thu, 7 Feb 2019 13:21:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727049AbfBGNV6 (ORCPT ); Thu, 7 Feb 2019 08:21:58 -0500 Received: from mx2.suse.de ([195.135.220.15]:47586 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726740AbfBGNV6 (ORCPT ); Thu, 7 Feb 2019 08:21:58 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 2E5DBB142; Thu, 7 Feb 2019 13:21:57 +0000 (UTC) Received: by unicorn.suse.cz (Postfix, from userid 1000) id 5C7F2E0142; Thu, 7 Feb 2019 14:21:56 +0100 (CET) Date: Thu, 7 Feb 2019 14:21:56 +0100 From: Michal Kubecek To: netdev@vger.kernel.org Cc: Phil Sutter , David Miller Subject: Re: [net-next PATCH] net: rtnetlink: Support alias interfaces with RTM_GETLINK Message-ID: <20190207132156.GF18410@unicorn.suse.cz> References: <20190207102438.21448-1-phil@nwl.cc> <20190207122728.GW26388@orbyte.nwl.cc> <20190207123939.GE18410@unicorn.suse.cz> <20190207130215.GX26388@orbyte.nwl.cc> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190207130215.GX26388@orbyte.nwl.cc> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Thu, Feb 07, 2019 at 02:02:15PM +0100, Phil Sutter wrote: > On Thu, Feb 07, 2019 at 01:39:39PM +0100, Michal Kubecek wrote: > > > But I still don't think it would be a good idea. It's bad enough that > > (as I just learned to my surprise) "ip link del dummy1:0" deletes dummy1 > > without any complaint because ip uses SIOCGIFINDEX ioctl for ifindex > > lookup. > > I'm struggling a bit with all this. The original problem is iproute2 > commit 50b9950dd9011 ("link dump filter") which changed 'ip link show' > to not use if_indextoname() when given just an interface name. So lookup > happens by name (via RTM_GETLINK) and consequently 'ip link show eth0:1' > doesn't give link stats of eth0 anymore. I would rather consider it a bug that it ever did. It's quite harmless with "show" but with "set" or "delete", the effect can be quite disastrous. We want to preserve backward compatibility in general but iproute2 commit 50b9950dd901 is 4.5 years old and nobody seems to have complained about the change in behaviour until now. > Given that iproute2 is supposed to be backwards compatible, the only > valid option I see is to make sure netlink API calls like the above > behave identical to the ioctl ones they replace. Which means allowing > for 'ip link show eth0:42' even if there's no address with that label > assigned to eth0 as well as your example above. One reason why I don't like this idea is that iproute2 is not the only user of rtnetlink interface. There is wicked and glibc for sure, most likely also NetworkManager (don't remember) and systemd-networkd (didn't check) and certainly many others I never heard of. Changing the logic in kernel rtnetlink implementation would affect all of them. If we want to restore the old behaviour of ip (which I'm not convinced of), it would make more sense to me to strip the :* suffix in iproute2. Michal Kubecek