From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 4CB4839EA for ; Mon, 14 Mar 2016 08:26:16 +0100 (CET) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP; 14 Mar 2016 00:26:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,334,1455004800"; d="scan'208";a="909673444" Received: from unknown (HELO dpdk-fedora20.icx.intel.com) ([10.238.55.12]) by orsmga001.jf.intel.com with ESMTP; 14 Mar 2016 00:26:14 -0700 From: Lijuan Tu To: yong.liu@intel.com, dts@dpdk.org Cc: Lijuan Tu Date: Mon, 14 Mar 2016 15:21:52 +0800 Message-Id: <1457940112-89008-1-git-send-email-lijuanx.a.tu@intel.com> X-Mailer: git-send-email 1.9.3 Subject: [dts] [PATCH v2]framework: Delete NetDevice object after virtual machine shutdown X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Mar 2016 07:26:16 -0000 Signed-off-by: Lijuan Tu --- framework/virt_dut.py | 4 ++++ nics/net_device.py | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/framework/virt_dut.py b/framework/virt_dut.py index 9bf75dc..df6c5fd 100644 --- a/framework/virt_dut.py +++ b/framework/virt_dut.py @@ -39,6 +39,7 @@ from settings import NICS, LOG_NAME_SEP, get_netdev from project_dpdk import DPDKdut from dut import Dut from net_device import GetNicObj +from net_device import RemoveNicObj class VirtDut(DPDKdut): @@ -77,8 +78,11 @@ class VirtDut(DPDKdut): def close(self): if self.session: self.session.close() + self.session = None if self.alt_session: self.alt_session.close() + self.alt_session = None + RemoveNicObj(self) def set_nic_type(self, nic_type): """ diff --git a/nics/net_device.py b/nics/net_device.py index 73750f5..49b7a91 100644 --- a/nics/net_device.py +++ b/nics/net_device.py @@ -830,6 +830,14 @@ def get_from_list(host, bus_id, devfun_id): return nic['port'] return None +def remove_from_list(host): + """ + Remove network device object from global structure + Parameter will by host ip + """ + for nic in NICS_LIST: + if host == nic['host']: + NICS_LIST.remove(nic) def GetNicObj(crb, bus_id, devfun_id): """ @@ -862,3 +870,9 @@ def GetNicObj(crb, bus_id, devfun_id): add_to_list(crb.crb['My IP'], obj) return obj + +def RemoveNicObj(crb): + """ + Remove network device object. + """ + remove_from_list(crb.crb['My IP']) -- 2.5.0