From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tetsuya Mukawa Subject: Re: [PATCH v4 4/4] test-pmd: remove call to rte_eth_promiscuous_disable() from detach_port() Date: Thu, 09 Jul 2015 11:04:41 +0900 Message-ID: <559DD6B9.9050909@igel.co.jp> References: <1436260687-28549-1-git-send-email-bernard.iremonger@intel.com> <1436260687-28549-5-git-send-email-bernard.iremonger@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit To: "Ouyang, Changchun" , "Iremonger, Bernard" , "dev@dpdk.org" Return-path: Received: from mail-pa0-f42.google.com (mail-pa0-f42.google.com [209.85.220.42]) by dpdk.org (Postfix) with ESMTP id EBC50CF9 for ; Thu, 9 Jul 2015 04:04:44 +0200 (CEST) Received: by pactm7 with SMTP id tm7so141389653pac.2 for ; Wed, 08 Jul 2015 19:04:44 -0700 (PDT) In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 2015/07/08 9:42, Ouyang, Changchun wrote: >> -----Original Message----- >> From: Iremonger, Bernard >> Sent: Tuesday, July 7, 2015 5:18 PM >> To: dev@dpdk.org >> Cc: Ouyang, Changchun; Iremonger, Bernard >> Subject: [PATCH v4 4/4] test-pmd: remove call to >> rte_eth_promiscuous_disable() from detach_port() >> >> At this point the stop() and close() functions have already been called. >> The rte_eth_promiscuous_disable() function does not return on the VM. > I think we need root the cause why it doesn't return on the VM. It seems this patch is correct. The root cause is that when close() is called, virtio-net device will be reset by vtpci_reset(), and at this point all virtqueues will be invalid in virtio-net device. After resetting device, we should not call rte_eth_promiscuous_disable(), because it will use an one of virtqueues. Anyway, promiscuous configuration will be initialized when the device is reset. Regards, Tetsuya > >> Signed-off-by: Bernard Iremonger >> --- >> app/test-pmd/testpmd.c | 4 +--- >> 1 files changed, 1 insertions(+), 3 deletions(-) >> >> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index >> 82b465d..4769533 100644 >> --- a/app/test-pmd/testpmd.c >> +++ b/app/test-pmd/testpmd.c >> @@ -1,7 +1,7 @@ >> /*- >> * BSD LICENSE >> * >> - * Copyright(c) 2010-2014 Intel Corporation. All rights reserved. >> + * Copyright(c) 2010-2015 Intel Corporation. All rights reserved. >> * All rights reserved. >> * >> * Redistribution and use in source and binary forms, with or without >> @@ -1542,8 +1542,6 @@ detach_port(uint8_t port_id) >> return; >> } >> >> - rte_eth_promiscuous_disable(port_id); >> - > It seems a workaround. > >> if (rte_eth_dev_detach(port_id, name)) >> return; >> >> -- >> 1.7.4.1