From patchwork Wed Apr 26 14:58:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 755523 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wCkJ02tf7z9s8Q for ; Thu, 27 Apr 2017 01:18:56 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="C7DVCUuG"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S638405AbdDZO63 (ORCPT ); Wed, 26 Apr 2017 10:58:29 -0400 Received: from mail-pg0-f46.google.com ([74.125.83.46]:33637 "EHLO mail-pg0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1956183AbdDZO61 (ORCPT ); Wed, 26 Apr 2017 10:58:27 -0400 Received: by mail-pg0-f46.google.com with SMTP id 63so1363315pgh.0 for ; Wed, 26 Apr 2017 07:58:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:cc:subject:date:message-id; bh=+I1NNuhYj+HZVlKfYxfwCjuqPjMRG3V/0rJn7RtZKcY=; b=C7DVCUuG54esI7i56FOBBs2iiW5DxsoBYfHRRUhdTQij5b6Fk0GtUbzKSNTWeP48HU 3plxPUWktr3l87pAEmz4jWq/oDklY/sNjOPjjWbttTVfFFaFD+WH1yL5Razsn9qq5Olv /lwEQKbnlQLQcevahIqRROQW3lIq1sZjJY934= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=+I1NNuhYj+HZVlKfYxfwCjuqPjMRG3V/0rJn7RtZKcY=; b=mo/mJ7hiYt8HkyVLRm4fZ87f2C3OelDItNBBjGmDI+dIW0Ll5nO0RgtcxaaZF0xAtj rIkGBRTmiiNqb/t2si2LUx0wiPaSuni44bqWWjHgWsDm3hfnW96YaL/Qme3KEx9mRQJz 6/m9d8tAjTzJemuxcYcNH67aZaIbM7uMcFsZcq3e6waWsuJb667bRRNj8ZZ+e8OOte9x UTcNgA3h4QO2Tqw8N4bV87fpUEM84uJ9LwjIj42QKF5i1Te9ka3BDF2hSJvjC0RV8Y1+ QVZu5CV8eUeasJl5ES5G73SZ95qYj0Gt55XCAVAeocyeW3zCywxjGbPYdCarHyHR7QwC fYDQ== X-Gm-Message-State: AN3rC/4pQ6FiPoaS+P4IsaR7fniPPR6WKuOGK8JrOl7uk2cHV0cxdtZs SZjSGoElXHDVNMfg X-Received: by 10.84.134.35 with SMTP id 32mr249293plg.178.1493218706362; Wed, 26 Apr 2017 07:58:26 -0700 (PDT) Received: from kenny.it.cumulusnetworks.com. ([216.129.126.126]) by smtp.googlemail.com with ESMTPSA id 129sm942592pgj.23.2017.04.26.07.58.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 26 Apr 2017 07:58:25 -0700 (PDT) From: David Ahern To: netdev@vger.kernel.org Cc: rshearma@brocade.com, David Ahern Subject: [PATCH net-next] net: vrf: Do not allow looback to be moved to a VRF Date: Wed, 26 Apr 2017 07:58:22 -0700 Message-Id: <1493218702-10906-1-git-send-email-dsa@cumulusnetworks.com> X-Mailer: git-send-email 2.1.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Moving the loopback into a VRF breaks networking for the default VRF. Since the VRF device is the loopback for VRF domains, there is no reason to move the loopback. Given the repercussions, block attempts to set lo into a VRF. Signed-off-by: David Ahern Reviewed-by: Greg Rose --- drivers/net/vrf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c index aa5d30428bba..ceda5861da78 100644 --- a/drivers/net/vrf.c +++ b/drivers/net/vrf.c @@ -877,6 +877,12 @@ static int do_vrf_add_slave(struct net_device *dev, struct net_device *port_dev) { int ret; + /* do not allow loopback device to be enslaved to a VRF. + * The vrf device acts as the loopback for the vrf. + */ + if (port_dev == dev_net(dev)->loopback_dev) + return -EOPNOTSUPP; + port_dev->priv_flags |= IFF_L3MDEV_SLAVE; ret = netdev_master_upper_dev_link(port_dev, dev, NULL, NULL); if (ret < 0)