From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753758Ab2AaKxS (ORCPT ); Tue, 31 Jan 2012 05:53:18 -0500 Received: from mail-iy0-f174.google.com ([209.85.210.174]:40164 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752419Ab2AaKxR convert rfc822-to-8bit (ORCPT ); Tue, 31 Jan 2012 05:53:17 -0500 MIME-Version: 1.0 In-Reply-To: <4F27C54F.1010107@suse.cz> References: <4F27120A.4040106@suse.cz> <4F27C54F.1010107@suse.cz> From: Kay Sievers Date: Tue, 31 Jan 2012 11:52:53 +0100 Message-ID: Subject: Re: network regression: cannot rename netdev twice To: Jiri Slaby Cc: "Eric W. Biederman" , Greg KH , LKML , ML netdev Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 31, 2012 at 11:41, Jiri Slaby wrote: > On 01/30/2012 11:52 PM, Kay Sievers wrote: >> 2012/1/30 Jiri Slaby : >>> I cannot boot properly with this commit: >>> commit 524b6c5b39b931311dfe5a2f5abae2f5c9731676 >>> Author: Eric W. Biederman >>> Date:   Sun Dec 18 20:09:31 2011 -0800 >>> >>>    sysfs: Kill nlink counting. >>> >>> 1) network systemd rule doesn't start network >> >> What does that mean? What's a network systemd rule? > > Oh, perhaps you call it a service file, not rule file? > > Anyway this is a different bug. Revert of the patch above does not help. Ok, fine. I checked too, and systemd does not play any silly games with link counts. > The bug lays in the network layer. udev is unable to perform persistent > eth naming: > # ip link set eth0 name eth1    -- this one is OK > # ip link set eth1 name eth0 > RTNETLINK answers: No such file or directory Please make sure nothing tries to swap netif names in userspace. We have given up that approach, because it is far too fragile to temporary rename devices to be able to swap the names, and race against the loading of new kernel network drivers at the same time. This might be a new kernel problem here, but in general that approach is just broken, we have have given up fiddling around here. Udev does not do that anymore, and also the code that currently *can* be used to do this, will be removed from udev in the future. Network devices can only be renamed to a namespace that isn't ethX, and which does not race against kernel names. Does is work, if you rename the devices to something else than ethX? Kay