From patchwork Wed Oct 17 19:25:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yifeng Sun X-Patchwork-Id: 985482 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="GnQbwTbM"; 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 42b2GQ4RWXz9s3l for ; Thu, 18 Oct 2018 06:26:05 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id BFE5031EB; Wed, 17 Oct 2018 19:26:02 +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 BEB0A30D9 for ; Wed, 17 Oct 2018 19:26:01 +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 082F470D for ; Wed, 17 Oct 2018 19:26:01 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id y18-v6so13010524pge.0 for ; Wed, 17 Oct 2018 12:26:01 -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=3AG2P9mTwSy+mIYwIcuKbmHBn7P+VF4WRtzKrY2zaK4=; b=GnQbwTbMZEQPrVMn7xRxLRqfmoI7s7I0BuUbZkPc5ddHSuvLHVaB7LLX8pV1EytzcN po7uzYdyX1vlMfmQ3OVbWdt5bPJoOA1zKzOg1MjycsJwV/bBEKW3tSASiSH2MO/RNrhH oW8A772wzV7kXmVcwCDchjSBzaS7EqgncjiSw6hc/tNqK5rgWqQretqxRjBX2IYJcs0L lNGWGqIoZT59JCrT+mgThgwkKGkMXNhHHCa95q3MkcvitXKDXRnRgdwkBwqAbpZ94CJc C+/c93J4PpENg7/saDdtRu0uCvNjT8xpLPcqLO4aiNI+atTLeK8rl4soO2ICU6L+LVzH 4VTA== 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=3AG2P9mTwSy+mIYwIcuKbmHBn7P+VF4WRtzKrY2zaK4=; b=pql6vCHTWKq2U0jen3gxMRQH2dpO9NAi2IueswAd12xyb3Og5uNjePD28I9y6Qb/oj utoX0nizOsu7KWXWzG006e3vwl8NPPseECXnG/9ZKC/IqpgvFJsGd+bG0YL2SJnqUt5e sy5+BFjsKBaYUQramoFei9hoce/FdnLZwu/y4zFSF02vJL9ePUwJmr7TaGWOu/iZF7cM XtlUs9/FTrWCk4PAuwCJp1lPcsvZtcEf7POT4SBw3eZj2/dEQVrrLGQ3AzUQrvBy64mO uW1dVKV3IRBAfRwYfZ9s0IE3UQEDlrZSpxKb0LnryTqjRbT25aIL0e+diTGLIr7Az+v4 PcWA== X-Gm-Message-State: ABuFfoj0RkGvdnO7q42vcMefLoynBNeVx6AEaxyoF6q310v6lyBD1S1j izvw9DnQbLc5K5dDQmGqL2rvBmhH X-Google-Smtp-Source: ACcGV63/UCR87enI0aLF28sMNLrhL5KW5wckLiY1rITYqSH43C18FZXd8B3UxjGaXOKKYbQv5bwz4Q== X-Received: by 2002:a63:5308:: with SMTP id h8-v6mr24873046pgb.358.1539804360357; Wed, 17 Oct 2018 12:26:00 -0700 (PDT) Received: from kern417.eng.vmware.com ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id p24-v6sm24521744pgm.70.2018.10.17.12.25.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 17 Oct 2018 12:25:59 -0700 (PDT) From: Yifeng Sun To: dev@openvswitch.org Date: Wed, 17 Oct 2018 12:25:47 -0700 Message-Id: <1539804347-22137-1-git-send-email-pkusunyifeng@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] [PATCH] datapath: Use correct reply values in datapath and vport ops 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 This patch fixes the bug that all datapath and vport ops are returning wrong values (OVS_FLOW_CMD_NEW or OVS_DP_CMD_NEW) in their replies. This commit backports upstream net-next's commit 804fe108fc92e59 ("openvswitch: Use correct reply values in datapath and vport ops"). Signed-off-by: Yifeng Sun Acked-by: Pravin B Shelar --- datapath/datapath.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/datapath/datapath.c b/datapath/datapath.c index a8d09fb415d4..3f1cdb0316a0 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -1196,14 +1196,14 @@ static int ovs_flow_cmd_set(struct sk_buff *skb, struct genl_info *info) ovs_header->dp_ifindex, reply, info->snd_portid, info->snd_seq, 0, - OVS_FLOW_CMD_NEW, + OVS_FLOW_CMD_SET, ufid_flags); BUG_ON(error < 0); } } else { /* Could not alloc without acts before locking. */ reply = ovs_flow_cmd_build_info(flow, ovs_header->dp_ifindex, - info, OVS_FLOW_CMD_NEW, false, + info, OVS_FLOW_CMD_SET, false, ufid_flags); if (unlikely(IS_ERR(reply))) { @@ -1279,7 +1279,7 @@ static int ovs_flow_cmd_get(struct sk_buff *skb, struct genl_info *info) } reply = ovs_flow_cmd_build_info(flow, ovs_header->dp_ifindex, info, - OVS_FLOW_CMD_NEW, true, ufid_flags); + OVS_FLOW_CMD_GET, true, ufid_flags); if (IS_ERR(reply)) { err = PTR_ERR(reply); goto unlock; @@ -1405,7 +1405,7 @@ static int ovs_flow_cmd_dump(struct sk_buff *skb, struct netlink_callback *cb) if (ovs_flow_cmd_fill_info(flow, ovs_header->dp_ifindex, skb, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, NLM_F_MULTI, - OVS_FLOW_CMD_NEW, ufid_flags) < 0) + OVS_FLOW_CMD_GET, ufid_flags) < 0) break; cb->args[0] = bucket; @@ -1744,7 +1744,7 @@ static int ovs_dp_cmd_set(struct sk_buff *skb, struct genl_info *info) ovs_dp_change(dp, info->attrs); err = ovs_dp_cmd_fill_info(dp, reply, info->snd_portid, - info->snd_seq, 0, OVS_DP_CMD_NEW); + info->snd_seq, 0, OVS_DP_CMD_GET); BUG_ON(err < 0); ovs_unlock(); @@ -1775,7 +1775,7 @@ static int ovs_dp_cmd_get(struct sk_buff *skb, struct genl_info *info) goto err_unlock_free; } err = ovs_dp_cmd_fill_info(dp, reply, info->snd_portid, - info->snd_seq, 0, OVS_DP_CMD_NEW); + info->snd_seq, 0, OVS_DP_CMD_GET); BUG_ON(err < 0); ovs_unlock(); @@ -1799,7 +1799,7 @@ static int ovs_dp_cmd_dump(struct sk_buff *skb, struct netlink_callback *cb) if (i >= skip && ovs_dp_cmd_fill_info(dp, skb, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, NLM_F_MULTI, - OVS_DP_CMD_NEW) < 0) + OVS_DP_CMD_GET) < 0) break; i++; } @@ -2116,7 +2116,7 @@ static int ovs_vport_cmd_set(struct sk_buff *skb, struct genl_info *info) err = ovs_vport_cmd_fill_info(vport, reply, genl_info_net(info), info->snd_portid, info->snd_seq, 0, - OVS_VPORT_CMD_NEW); + OVS_VPORT_CMD_SET); BUG_ON(err < 0); ovs_unlock(); @@ -2198,7 +2198,7 @@ static int ovs_vport_cmd_get(struct sk_buff *skb, struct genl_info *info) goto exit_unlock_free; err = ovs_vport_cmd_fill_info(vport, reply, genl_info_net(info), info->snd_portid, info->snd_seq, 0, - OVS_VPORT_CMD_NEW); + OVS_VPORT_CMD_GET); BUG_ON(err < 0); rcu_read_unlock(); @@ -2234,7 +2234,7 @@ static int ovs_vport_cmd_dump(struct sk_buff *skb, struct netlink_callback *cb) NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, NLM_F_MULTI, - OVS_VPORT_CMD_NEW) < 0) + OVS_VPORT_CMD_GET) < 0) goto out; j++;