From patchwork Thu Sep 6 21:38:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gregory Rose X-Patchwork-Id: 967123 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="tlBZekAn"; 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 425v8f1H57z9s4s for ; Fri, 7 Sep 2018 07:38:57 +1000 (AEST) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id B0C451390; Thu, 6 Sep 2018 21:38:40 +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 E7B8C1390 for ; Thu, 6 Sep 2018 21:38:39 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 7A2F671C for ; Thu, 6 Sep 2018 21:38:39 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id x26-v6so5866723pge.12 for ; Thu, 06 Sep 2018 14:38:39 -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; bh=i/1W5ZD1oYY783a4C6VIQNNwPxEP3P9iH2p96AekqHE=; b=tlBZekAnGK6NoLwOzRwqWNHNEzuPW3QaGoVBnojdz/wgE7PWASOss0hzgieITVCK8/ YRavhWH1zQnbKiUMiqZ2YTma/vGHLkx4EWLxuq4w6ZKX2mQNxNTx5bApEgyxvzs4yS3T D6jTX/7ygwm9fpW5dG6eUjn/IYQ3/p55NFw7ZvTWJN+SQBL//JiW2eqdn5kz68e1CFF6 MzhGJ2jzMNmqDc7Qlm327qe3pO1KxRT7J7O7otVmHSFh4bfO1yjL0ycZ5/gplqbE6nrW Xi4ryjsdpzlCiB7Ua8kygPaPgx0QGY4bapJSRqWWhqKb2fffDE4/QFELWWdVxFjXnjZH Va1A== 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=i/1W5ZD1oYY783a4C6VIQNNwPxEP3P9iH2p96AekqHE=; b=o79OZsCvWV7+B3xivj+P6Q7OPe9bauyAuAFvxQQYGijVcnC4WHO0PjWDPDx8TBiq7h AwqzY92BnCvcZPLrR19SqZnPgm0x+HoZ4BcVmqJehCbKjWj3A/gfOoVKBebC1zJRor64 IOQK03G8IWQ2j7DZhVmI+w/7OT/jzFxAPj0iAn3YPz7Cxq+1DBhD6/upUfVN+i/5VbOd N3rLU6Kz6ooy7t8THBeTkKdxCDT8uLhrMQReqUirJdEk+HB5OkUJsn4JanvWDEm0Oz+P jnI8Gu6OdvRSt6Qy8MOJ3rDyhLNT/zf4fMwc9eIiQidAbEUaxiXvQgGyzRuLNNiB3PxV o9hA== X-Gm-Message-State: APzg51CCgER3+0jUmRPk+EHTgxVVO2lApkpVLfF+Dvb5+e/0rwhbCD8n nMLiy1tC5aaG03eqclhYzKtL64tQ X-Google-Smtp-Source: ANB0VdYk3o7oYEkQPPu0dolZ/7T3dOKfXWPRApVm4/z/JkGHxlrR8OYHwwuWl+r28xV5s0kf2NvAQA== X-Received: by 2002:a65:668f:: with SMTP id b15-v6mr2328546pgw.426.1536269918745; Thu, 06 Sep 2018 14:38:38 -0700 (PDT) Received: from gizo.domain (97-115-97-132.ptld.qwest.net. [97.115.97.132]) by smtp.gmail.com with ESMTPSA id e190-v6sm13727639pfc.81.2018.09.06.14.38.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 06 Sep 2018 14:38:37 -0700 (PDT) From: Greg Rose To: dev@openvswitch.org Date: Thu, 6 Sep 2018 14:38:34 -0700 Message-Id: <1536269914-6739-1-git-send-email-gvrose8192@gmail.com> X-Mailer: git-send-email 1.8.3.1 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,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 Cc: Xin Long Subject: [ovs-dev] [PATCH] erspan: set erspan_ver to 1 by default when adding an erspan dev 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: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org From: Xin Long Upstream commit: commit 84581bdae9587023cea1d139523f0ef0f28bd88d Author: Xin Long Date: Mon Aug 27 18:41:32 2018 +0800 erspan: set erspan_ver to 1 by default when adding an erspan dev After erspan_ver is introudced, if erspan_ver is not set in iproute, its value will be left 0 by default. Since Commit 02f99df1875c ("erspan: fix invalid erspan version."), it has broken the traffic due to the version check in erspan_xmit if users are not aware of 'erspan_ver' param, like using an old version of iproute. To fix this compatibility problem, it sets erspan_ver to 1 by default when adding an erspan dev in erspan_setup. Note that we can't do it in ipgre_netlink_parms, as this function is also used by ipgre_changelink. Fixes: 02f99df1875c ("erspan: fix invalid erspan version.") Reported-by: Jianlin Shi Signed-off-by: Xin Long Signed-off-by: David S. Miller Fixes: 5e720da59d ("erspan: fix invalid erspan version.") Cc: Xin Long Signed-off-by: Greg Rose --- datapath/linux/compat/ip6_gre.c | 1 + datapath/linux/compat/ip_gre.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/datapath/linux/compat/ip6_gre.c b/datapath/linux/compat/ip6_gre.c index 3904455..00dbefc 100644 --- a/datapath/linux/compat/ip6_gre.c +++ b/datapath/linux/compat/ip6_gre.c @@ -1979,6 +1979,7 @@ static void ip6gre_netlink_parms(struct nlattr *data[], if (data[IFLA_GRE_COLLECT_METADATA]) parms->collect_md = true; + parms->erspan_ver = 1; if (data[IFLA_GRE_ERSPAN_VER]) parms->erspan_ver = nla_get_u8(data[IFLA_GRE_ERSPAN_VER]); diff --git a/datapath/linux/compat/ip_gre.c b/datapath/linux/compat/ip_gre.c index 47ed5e0..05132ba 100644 --- a/datapath/linux/compat/ip_gre.c +++ b/datapath/linux/compat/ip_gre.c @@ -1222,12 +1222,15 @@ static void ipgre_tap_setup(struct net_device *dev) static void erspan_setup(struct net_device *dev) { + struct ip_tunnel *t = netdev_priv(dev); + eth_hw_addr_random(dev); ether_setup(dev); dev->netdev_ops = &erspan_netdev_ops; dev->priv_flags &= ~IFF_TX_SKB_SHARING; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; ip_tunnel_setup(dev, erspan_net_id); + t->erspan_ver = 1; } #ifdef HAVE_EXT_ACK_IN_RTNL_LINKOPS