From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id C4D2B58EC; Wed, 6 Sep 2017 17:04:58 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Sep 2017 08:04:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,484,1498546800"; d="scan'208";a="1011572106" Received: from dpdk6.bj.intel.com ([172.16.182.87]) by orsmga003.jf.intel.com with ESMTP; 06 Sep 2017 08:04:50 -0700 From: Wei Dai To: jingjing.wu@intel.com, beilei.xing@intel.com Cc: dev@dpdk.org, Wei Dai , stable@dpdk.org Date: Wed, 6 Sep 2017 22:52:29 +0800 Message-Id: <1504709549-50804-1-git-send-email-wei.dai@intel.com> X-Mailer: git-send-email 2.7.5 Subject: [dpdk-dev] [PATCH] net/i40e: fix mirror rule reset when port is stopped X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Sep 2017 15:04:59 -0000 When an i40e PF port is stopped, all mirror rules should be removed. All rule related SW and HW resources should also be removed. All of them are should be removed by calling i40e_mirror_rule_reset( ). Fixes: a4def5edf0fc ("i40e: enable port mirroring") Cc: stable@dpdk.org Signed-off-by: Wei Dai --- drivers/net/i40e/i40e_ethdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 5f26e24..93fb6cd 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -2094,8 +2094,7 @@ i40e_dev_stop(struct rte_eth_dev *dev) /* Remove all mirror rules */ while ((p_mirror = TAILQ_FIRST(&pf->mirror_list))) { - TAILQ_REMOVE(&pf->mirror_list, p_mirror, rules); - rte_free(p_mirror); + i40e_mirror_rule_reset(dev, p_mirror->index); } pf->nb_mirror_rule = 0; -- 2.7.5