From patchwork Tue Sep 11 13:52:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Yifeng Sun X-Patchwork-Id: 968654 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="N560P+WJ"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 428vFH5zfbz9s9N for ; Wed, 12 Sep 2018 04:53:23 +1000 (AEST) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id C77F2141B; Tue, 11 Sep 2018 18:53:20 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 735AA1417 for ; Tue, 11 Sep 2018 18:53:19 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 1E0BC102 for ; Tue, 11 Sep 2018 18:53:19 +0000 (UTC) Received: by mail-pf1-f196.google.com with SMTP id k19-v6so12693048pfi.1 for ; Tue, 11 Sep 2018 11:53:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=vfNMA9MIy6okQmpI7jwW9KBubqSllRdKEnFoIZ6IpbU=; b=N560P+WJrsr0lPmdmABA0j2fV1sb3Jl7w16tG4WwUwaOOI0ZoulEyjnciq5FzhD54N B6S3fNQ7rvK4+ExXOfSYCZZmzfLEcLetrnYqWMMDX36Hre9A2w+hPiOoZrQ3dgEezmbg J7fQcR7NJuHu7E2qhiTQUY2xyK6nFGyYjuHX8V4y6hWZzvoR1AfCLP4uDsh9+qx5JZ7m iZ/6FZsxmaFl3Y4PtS1XTqKRseGpSc2KTTVR5hnN6X9XGCXu5/6uZX6uWKj3CPsWPoJt n/t7iiDvFst2fot0VdKiJzz4nGELOvr8jNiNEUqKL0fKoWa1PqnjCgPl8w+cNZoOugoG 7ZOA== 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:mime-version :content-transfer-encoding; bh=vfNMA9MIy6okQmpI7jwW9KBubqSllRdKEnFoIZ6IpbU=; b=JEztp0MubxsnOPIRPqz1oadxLYdayuQEemjN2SUSInHl+/yRRzDjVfT/jJOo0UB38n dmU3uyDFtW8RJNDdp5+wR6vBNjNhppKjWqh+VoD3UA8ui898kA7uOyrODCPMozkRFtHG cKXRtObdBSCVWr+U0jSrbUpNhY4rBKojGeGq1VFkooEYG3kCIR/fwcatMFQFPLjz7Trv XNSRl2Xa9efo2ESWnjNzoQ3T/IinBEoIrD36jY9MDzBfZhRpzjjcDB+imAARi8bzuIR+ fiibzF9+cUykaEH65UJ3n0TCIihYzR4Prb+fiTEebZeesVwJrOScbWka6AxQYFCo3viv n7Pg== X-Gm-Message-State: APzg51Dt6sjl9A1LxSb2O+Q/flWoHhSXoztAqVdFoEVmXjccJPbFYK/o nf64ZeQ36eL3oydoakoJBzib2+UC X-Google-Smtp-Source: ANB0VdZSdylMd1xG4i/pvyza7Sf3aWGhtqkHFslM+4GtMBPwtcEZcPdiQ+mxWvDLGoL3Tu/wThI71g== X-Received: by 2002:a62:d085:: with SMTP id p127-v6mr30865417pfg.119.1536691998399; Tue, 11 Sep 2018 11:53:18 -0700 (PDT) Received: from yfsovs.eng.vmware.com ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id w81-v6sm34617797pfk.92.2018.09.11.11.53.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 11 Sep 2018 11:53:17 -0700 (PDT) From: Yifeng Sun To: dev@openvswitch.org Date: Tue, 11 Sep 2018 06:52:34 -0700 Message-Id: <1536673955-2687-1-git-send-email-pkusunyifeng@gmail.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00, DATE_IN_PAST_03_06, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] gre: Rename fallback devices to avoid udev's interference X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Please backport this patch to upstream OVS down to 2.9. On certain kernel versions, when openvswitch kernel module creates a gre0 interface, the kernel’s gre module will jump out and compete to control the gre0 interface. This will cause the failure of openvswitch kernel module loading. This fix renames fallback devices by adding a prefix "ovs-". Signed-off-by: Yifeng Sun Issue: #2162866 Tested-by: Greg Rose Reviewed-by: Greg Rose --- datapath/linux/compat/ip6_gre.c | 5 +++-- datapath/linux/compat/ip6_tunnel.c | 6 +++--- datapath/linux/compat/ip_gre.c | 2 +- datapath/linux/compat/ip_tunnel.c | 3 ++- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/datapath/linux/compat/ip6_gre.c b/datapath/linux/compat/ip6_gre.c index 00dbefc..08b31da 100644 --- a/datapath/linux/compat/ip6_gre.c +++ b/datapath/linux/compat/ip6_gre.c @@ -377,7 +377,7 @@ static struct ip6_tnl *ip6gre_tunnel_locate(struct net *net, if (parms->name[0]) strlcpy(name, parms->name, IFNAMSIZ); else - strcpy(name, "ip6gre%d"); + strcpy(name, "ovs-ip6gre%d"); dev = alloc_netdev(sizeof(*t), name, NET_NAME_UNKNOWN, ip6gre_tunnel_setup); @@ -1712,7 +1712,8 @@ static int __net_init ip6gre_init_net(struct net *net) struct ip6gre_net *ign = net_generic(net, ip6gre_net_id); int err; - ign->fb_tunnel_dev = alloc_netdev(sizeof(struct ip6_tnl), "ip6gre0", + ign->fb_tunnel_dev = alloc_netdev(sizeof(struct ip6_tnl), + "ovs-ip6gre0", NET_NAME_UNKNOWN, ip6gre_tunnel_setup); if (!ign->fb_tunnel_dev) { diff --git a/datapath/linux/compat/ip6_tunnel.c b/datapath/linux/compat/ip6_tunnel.c index 56fd8b4..06cebda 100644 --- a/datapath/linux/compat/ip6_tunnel.c +++ b/datapath/linux/compat/ip6_tunnel.c @@ -355,7 +355,7 @@ static struct ip6_tnl *ip6_tnl_create(struct net *net, struct __ip6_tnl_parm *p) if (p->name[0]) strlcpy(name, p->name, IFNAMSIZ); else - sprintf(name, "ip6tnl%%d"); + sprintf(name, "ovs-ip6tnl%%d"); dev = alloc_netdev(sizeof(*t), name, NET_NAME_UNKNOWN, ip6_tnl_dev_setup); @@ -1410,7 +1410,7 @@ ip6_tnl_parm_to_user(struct ip6_tnl_parm *u, const struct __ip6_tnl_parm *p) * %SIOCCHGTUNNEL: change tunnel parameters to those given * %SIOCDELTUNNEL: delete tunnel * - * The fallback device "ip6tnl0", created during module + * The fallback device "ovs-ip6tnl0", created during module * initialization, can be used for creating other tunnel devices. * * Return: @@ -2093,7 +2093,7 @@ static int __net_init ip6_tnl_init_net(struct net *net) ip6n->tnls[1] = ip6n->tnls_r_l; err = -ENOMEM; - ip6n->fb_tnl_dev = alloc_netdev(sizeof(struct ip6_tnl), "ip6tnl0", + ip6n->fb_tnl_dev = alloc_netdev(sizeof(struct ip6_tnl), "ovs-ip6tnl0", NET_NAME_UNKNOWN, ip6_tnl_dev_setup); if (!ip6n->fb_tnl_dev) diff --git a/datapath/linux/compat/ip_gre.c b/datapath/linux/compat/ip_gre.c index 05132ba..b7322c5 100644 --- a/datapath/linux/compat/ip_gre.c +++ b/datapath/linux/compat/ip_gre.c @@ -1463,7 +1463,7 @@ static struct pernet_operations erspan_net_ops = { static int __net_init ipgre_tap_init_net(struct net *net) { - return ip_tunnel_init_net(net, gre_tap_net_id, &ipgre_tap_ops, "gretap0"); + return ip_tunnel_init_net(net, gre_tap_net_id, &ipgre_tap_ops, "ovs-gretap0"); } static void __net_exit ipgre_tap_exit_net(struct net *net) diff --git a/datapath/linux/compat/ip_tunnel.c b/datapath/linux/compat/ip_tunnel.c index d16e60f..b85ada3 100644 --- a/datapath/linux/compat/ip_tunnel.c +++ b/datapath/linux/compat/ip_tunnel.c @@ -134,7 +134,8 @@ static struct net_device *__ip_tunnel_create(struct net *net, err = -E2BIG; goto failed; } - strlcpy(name, ops->kind, IFNAMSIZ); + strlcpy(name, "ovs-", IFNAMSIZ); + strlcat(name, ops->kind, IFNAMSIZ); strncat(name, "%d", 2); }